見出し画像

書籍紹介「電子工作マガジン 2023秋号」(電波新聞社刊)

電波新聞社より年4回刊行されている「電子工作マガジン」を皆様にご紹介いたします。今回ご紹介するのは2023秋号です。

本誌が発売されたのは先月の9月19日。ご紹介が1ヶ月以上に渡って遅れてしまいましたこと、いつものことながらお詫び申し上げる次第です。


秋の夜長のせいか、最近何か作りたい欲がモクモクと持ち上がってきている今日この頃。しかしながらただいま健康診断対策月間につき、持てる時間のほぼすべてをトレーニングに費やす日々。本誌も買ったもののちゃんと読む時間がなかなか取れていなかったりしますが、とりあえず私的に興味深いページ(主にプログラミング関連)から抜粋してお届けしたいと思います。

電子工作マガジン2023秋号。
秋っぽい表紙が良きですね🍁

紹介の関係上、書籍の一部を撮影またはキャプチャーして掲載しておりますが、あくまでも記事理解を助ける範囲に留めるよう配慮しております。もし関係者の方よりご指摘をいただいた際には、速やかに該当部分を削除させていただきますので、何卒ご了承のほどよろしくお願いいたします。

Pythonによる文章生成に挑戦!

この記事は前号でも出てきたGoogle Colaboratoryというサービスを使用し、Pythonによる文章生成型AIプログラミングを学ぼうというものです。

文章生成型AIというと私たちがすぐに思い浮かべるのはChatGPTでしょう。またこのnoteでも「AIアシスタント」なる機能が搭載されており、今後ますます身近な技術になっていくことは間違いありません。

今回の記事では「マルコフ連鎖」という理論に基づいてテキストマイニングを行なおうとするものです。

…うん、普通に何言ってるか分かんないですよね?

つまるところこういうこと。私たちの使っている日本語の文章を単語や助詞などの最小単位に分解し(これを「分かち書き」と言います)、それの組み合わせのパターンから新たな文章を生成しようという試みです。マルコフ連鎖というのは「文章内の単語は前の単語に連鎖して次の単語が確立に則って出現する」という理論で、単語から単語へのつながりに法則性を持たせるものだと思えば良いでしょう。

誌面に載っている例から引用すると…。

■ 元の例文
朝食は目玉焼きだった → 朝食/は/目玉焼き/だった
夕食はカレー食べた → 夕食/は/カレー/食べた

↓ ↓ ↓

■単語をセットにして辞書に登録
(朝食 は):目玉焼き、  (は 目玉焼き):だった
(夕食 は):カレー、   (は カレー):食べた

↓ ↓ ↓

■新文章生成
「朝食はカレー食べた」
「夕食は目玉焼きだった」

…という文章生成の妙をGoogle Colaboratoryで体験してみませんか、というのが本記事の主旨です。なお誌面には必要なPythonプログラムリストが掲載されているので、まさに自ら試してみることが出来る内容です。

余談ながら本記事の著者である竹内浩一氏には以下のような著作もあります。これもGoogle Colaboratoryを用いたAIプログラミングの手引きなので、興味ある方はこちらもオススメです。

ちょっと余談:Google Colaboratoryについて

それにしても、Google Colaboratoryの登場でPythonという環境が一気に身近なものになったとともに、これによって「私、Pythonやってみたいんだけど環境構築どうしたらいいのか分からなくて」って言う人が逃げれなくなった感ありますよね。

確かにPythonの環境構築はめんどかったです。しかも人や本によって言うこと違ってたりするし、これどうしろっていうのよ感ありました。でもGoogle Colaboratoryはそんなこんなをすべてすっ飛ばして、いきなりPythonに触れちゃいます。「やりたいんならやれば?」って言える環境がいま、すぐそこにあるんです。

Pythonって興味あるけど触ったことがないそこの貴方。
やってみちゃってください!
触るだけならすぐですよ。
ほら、怖くないですから!
具体的な触り方なんかは、この次に紹介する記事に詳しく載ってます。

IchigoLatteでPythonプログラミング入門「Python言語」

この記事はこどもパソコンIchigoJamの派生バリエーションであるIchigoLatteにてPythonを用いるノウハウについて書かれています。著者はオフィス加減の松下浩則さん。本誌で定評のあるライターです。

「IchigoLatteで」とありますが、記事自体は「Pythonとは」にはじまり、基本的な構文、変数の概念、条件文や繰り返し文の書き方、そして実例プログラムについて親切丁寧に触れられており、Pythonそのものの初学者に向けられた内容となっています。むしろ前述したGoogle Colaboratoryでここに書かれた例文を試してPythonを学んでもいいんじゃないかと思います。

さっそくやってみましょ。
記事中のリストより。
やる気があれば秒で試せるんだから。

さらに記事の最後の方ではIchigoLatte版Pythonに用意されている関数を使って基板上のLEDを点滅させるプログラムなんかも載っており、こういうの見ると「あぁIchigoだな」って思ったりします。

なおIchigoLatteはJavaScriptを用いることもできるので、この記事ではちょくちょく「JavaScriptではこう」的な記述が見られます。私なんかはジャバスクが良く分からなかったりする人なので、むしろ逆に「へーそうなんや」って参考にしています(笑)。このIchigoLatte言語乗せ換えについては、この次に紹介する漫画に詳しく掲載されています。おぉ、今回の電子工作マガジンは記事間で連携とれてますなっ!!

時空を超えて!帰ってきたパソコンレクチャー 「BASICから少し背伸びをしてみよう!」

これ、猛暑の時期に描いてたのかな?

いつもながらくりひろし先生の漫画は分かりやすいっ!!本記事は前文で紹介した松下浩則さんの記事にある「IchigoLatteで他の言語を使う」方法について漫画にて解説しています。

ここら辺、よく分からない方のためにちょっと噛み砕いて説明しますね。

まず2014年に福野泰介さんによって公開されたIchigoJamっていうカードサイズのコンピューターがあるんです。主に子供向けのプログラミング教育向けに展開しているため「こどもパソコン」と呼称されています。

IchigoJamは子供向けということもあり、BASICしか搭載されていないのですが、2017年に他の言語も使用できるOSという位置付けでIchigoLatteというのがリリースされました。これは既存のIchigoJamにインストールすることでJavaScript、FORTH、Ruby、Pythonといった言語の使用が可能になるというもので、こどもパソコンIchigoJamの可能性を一気に広げたと言えます。

IchigoLatteはお子さんがプログラミング好きとかだったらアリだと思うんですよね。BASICはその名の通り基本だけあってとっつきやすいんですけど、まぁぶっちゃけ現場でこれがどれだけ使用されているかっていうとぐうの音も出なかったりします。なので将来プログラミングで何かしら出来るようになりたいとかいう夢や目標があるのでしたら、早い段階でRubyやPythonみたいな世間的に活用されている言語にとりあえず触れておくのもいいんじゃないかなって。

あぁ、私も子供の頃からこんな安価で手軽にコンピュータ言語に手を出せる時代に生まれてたら、人生変わってたかもなぁ…。
(可能性なら何とでも言えるw)

電子工作系製作ページより

さてここからは電子工作系で気になったページちょこっと紹介します。

自在調光ライトの製作

ふーんこれRGB LED使ってるんだ…。色別に諧調制御できるっていうのは確かに魅力的かも。私的には普段やってる仕事を思い出してしまうけれども。回路図も見たところそんなにムズくなさそうだし、これなら私にもできるかもって思ったら「★2つ」か…。私、以前に「★2つ」の電子工作に挑戦して大変な目にあってるんだよな…。

まぁこういうのあると、部屋のムードをちょっと変えたいときなどには重宝するかもしれないなぁ。よっぽど気が向いたら考えてみようかな。

サイリスタを使ったイライラ棒の製作

「電子工作の定番ゲーム」とあるけれど、いやこの記事の写真に載っているイライラ棒は無理ゲー過ぎん?

身近なモノで製作する「火花放電式送信機とコヒーラ受信器」

これは作ってみたいっていうより「火花放電式送信機?何じゃそりゃ?」というのが気になったので読んでみました。

少し記事を抜粋します。

ワシントンの特許局で1872年の特許ファイルが発見されました。そこには、アメリカの歯医者マーロン・ルーミスが、1865年の時点で電線を使わずに長距離の情報伝送を行なったと主張する記述があります。もしこれが本当なら、彼はラジオの発明者として広く認められているグリエルモ・マルコーニに30年の差をつけていたことになります。

電子工作マガジン2023秋号、内田裕之氏記事より

私の知識では、ここで書かれている装置でどのように火花を出し、どうやって通信したのか読み取ることが出来ませんでした。が、記事中のコラムにはグリエルモ・マルコーニとニコラ・テスラによる「無線特許戦争」なるものがあったことも記されており、この「無線通信は誰が発明したのか問題」は突き詰めていくと一筋縄ではいかない話であることが伺えます。

車両検知の探求と単線折り返し装置の製作

「…センサの誤作動により、列車の暴走や脱線などの重大事故が発生する場合があります」って何事かと思ったら、鉄道模型の話なのでした。

我々の現実世界においては自動運転が旬な技術として何かと話題ですが、そういう意味では鉄道模型って基本的に自動運転ですよね。ゆえに事故を起こさない技術が大事なワケで、センサなどを活用する電子工作と鉄道模型って何気に相性が良い組み合わせと言えるのかも。そう言えば私の会社の同僚も鉄道模型に使うという理由で秋月とか行くって言ってたなぁ…。

マイコンBASICコーナー、読者投稿プログラム

本誌恒例の読者プログラム紹介コーナーです。今回は読者諸氏の要望に応えたということで、4本のプログラムが掲載されました。いずれもIchigoJamで動かすことが可能です。

クリーンヒット(IchigoJam1.4以降)

クリーンヒット
作者(ペンネーム):石田大輔 機種:IchigoJam1.4以降
■ゲーム内容
投手が投げる球をタイミング良く打ってください。スペースキーを押すとバットを振ります。当たればヒット、ミスならアウトで終了です。

リストを見ると「うわこれどうやって入力すんだ…?」と一見思えてしまう内容。一応キーボードで普通に入力できるはできる…と思うんだけど(私はWindowsとIchigoJamを併用してこれ入力しました)。
しかしそれだけの甲斐はありました!見てください、IchigoJamで作り出したこの華麗な投球モーションを!!

何と4コマに渡るアニメーションを、あの容量の少ないIcgigoJamで表現。
もうこれだけで勝ちですよこのゲーム。

カキーン!打つごとに得点が入るのです(これヒットじゃなくてホームランだよな…)。

しかしピッチャーが速度にかなり緩急をつけてくるので、打つのは一筋縄ではいきません。バッターボックスの緊張感が味わえるゲーム。これは完成度高いですよ!!

マイニャンバー(IchigoJam1.2以降)

マイニャンバー
作者(ペンネーム):猫係長 機種:IchigoJam1.2以降
■ゲーム内容
猫の世界でも一匹ずつ番号を付けることになりました。そこで猫係長のあなたは確認作業をしなければなりません。表示された数値に対応する1~9の番号を押してください。正しければ猫マークが、間違った場合は×マークが画面に表示されます。15秒以内に仕事してください。

猫のマイナンバー制度とか、猫係長(作者?)が仕事してるとか、いろいろ凝った設定がありますが、ゲーム内容としては表示された文字列と同じものを探して当てるというものです。

例えば上図の例だと「7868063」なので、該当する文字列の番号である「4」が正解となるわけです。成功すると🐱のマークが、失敗すると×のマークがつきます。15秒以内にどれだけ正解できるかに挑戦するゲームです。

落ち着いてみれば正解は分かるのですが、そうすると時間内にたくさん処理できません。慌てると結構失敗してしまう…という風に、まぁよく考えられたゲームだと思います。実際の役所にもこういう仕事あるのかなぁ。

ゾンビ10(IchigoJam1.2以降)

ゾンビ10
作者(ペンネーム):ゾン爺 機種:IchigoJam1.2以降
■ゲーム内容
数学者がゾンビになってしまいました。数学者なので頭の上にある数字があります。この数字と足して10になる数のキーを押すと数学者ゾンビを退治できます。ゾンビが左端を越えるとゲームオーバーです。10人の数学者ゾンビを倒すとクリアです。

先頭列にいる奴の数字にこちらから数字を足して10にすると敵が消えていくゲーム。昔ゲーム電卓にあったよねこういうの。

例えば上図だと先頭列が「1」なので、「9」を入力すると消えるわけ。
次は「5」、次は「3」…という風に消していき、10人のゾンビすべてを葬るとゲームクリア。その前にゾンビが画面左端に到達すると負け。

やってみると意外とゾンビの侵攻が早く、ゆっくり考えていると間に合わなかったりします。キーを押し始めるうちにある程度記憶して、まとめて連続で退治していく方法が有効かも。

おたずねモグラ(IchigoJam1.4.2以降)

ゾンビ10
作者(ペンネーム):A1 機種:IchigoJam1.4.2以降
■ゲーム内容
おたずね者のモグラをやっつけろ!!まちがって善良なモグラを叩くと減点!!面の最初に今回のターゲットと、面のクリアに必要な最小得点が表示されます。スペースキーでゲーム開始。ターゲットとなるモグラの出現した位置のキーを押すと叩いたことになり得点。違うモグラを叩くと減点です。全5面あります。

何とリスト2つ(どちらも容量ほぼギリギリ)にまたがる大作プログラム。内容はまさにIchigoJam版モグラたたきです。

モグラの出てくる穴は7か所。ターゲットのモグラを見つけたらすかさず該当するキーを押して叩く!間違ったモグラを叩くと減点!制限時間内に一定のスコアを取ると次のステージに進めます。

ふぅ、何とか次のステージへ。
次のターゲットとノルマスコアが表示されます。

何てこったい!!2面になったらキャラが増えたぞ?画面からその忙しさが伝わってくるでしょうか?

動きもなめらかで、かつ1画面に大量に出てくるモグラ。これがIchigoJamで動いてるってホントにっ!?と思わずにはいられないそのクオリティにただただ脱帽です。これお金取ってもいいレベルだと思いますよ本当に。

迷ったけど結果的には買って良かったです!

前号で電子工作マガジンの誌面が大きくリニューアルされ、それに伴い価格も上がりました。このことについては下記noteで詳しく触れています。

前回の記事で「正直今後も2,000円近く払ってこれを買い続けるテンションを保ち続けられるか分からない」って書いたこともあり、今回これを買うかどうか迷っていたのですよね。私は電子工作やらないし、プログラミングの記事があんましだったら買う理由ないんだよな…って。

ですが今回の情報ページはナイスでした!!竹内浩一氏による文章生成型AIプログラミングにはじまり、松下浩則氏によるPythonの丁寧な解説、そしてくりひろし先生によるIchigoLatteでの言語切り替え活用術。私も普段はプログラミングと無縁な日々を送っているのでついつい勉強後回しにしてしまうのですが、こういう記事を読むと「またやってみるかなぁ」っていう気にもなります。

それと読者プログラム紹介が充実していたのも嬉しい限り。しかもプログラムのレベル高し。本当にこれIchigoJamかと目を疑いました。

今回の誌面で「IchigoLatte使えばPythonとかRubyが使用できる」ってことが分かりやすく示されたので、次回の投稿プログラムではIchigo-BASIC以外の言語による作品が掲載されることも期待したいと思います。

…ということで「電子工作マガジン」は購入継続、次号にも期待する運びとなりました。ってことは次回も書くのかこの記事…。まぁ推し活とかで多忙な合間を縫って読み、投稿プログラムも入力して遊んだうえでレビューしていたりするので、紹介するのが遅れてしまいがちではあるのですが。そんな感じでよろしければ、これからも微力ながら応援させていただきたいと思います。それではまた。

(了)

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?