書籍紹介「電子工作マガジン 2023秋号」(電波新聞社刊)
電波新聞社より年4回刊行されている「電子工作マガジン」を皆様にご紹介いたします。今回ご紹介するのは2023秋号です。
本誌が発売されたのは先月の9月19日。ご紹介が1ヶ月以上に渡って遅れてしまいましたこと、いつものことながらお詫び申し上げる次第です。
秋の夜長のせいか、最近何か作りたい欲がモクモクと持ち上がってきている今日この頃。しかしながらただいま健康診断対策月間につき、持てる時間のほぼすべてをトレーニングに費やす日々。本誌も買ったもののちゃんと読む時間がなかなか取れていなかったりしますが、とりあえず私的に興味深いページ(主にプログラミング関連)から抜粋してお届けしたいと思います。
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つ」の電子工作に挑戦して大変な目にあってるんだよな…。
まぁこういうのあると、部屋のムードをちょっと変えたいときなどには重宝するかもしれないなぁ。よっぽど気が向いたら考えてみようかな。
サイリスタを使ったイライラ棒の製作
「電子工作の定番ゲーム」とあるけれど、いやこの記事の写真に載っているイライラ棒は無理ゲー過ぎん?
身近なモノで製作する「火花放電式送信機とコヒーラ受信器」
これは作ってみたいっていうより「火花放電式送信機?何じゃそりゃ?」というのが気になったので読んでみました。
少し記事を抜粋します。
私の知識では、ここで書かれている装置でどのように火花を出し、どうやって通信したのか読み取ることが出来ませんでした。が、記事中のコラムにはグリエルモ・マルコーニとニコラ・テスラによる「無線特許戦争」なるものがあったことも記されており、この「無線通信は誰が発明したのか問題」は突き詰めていくと一筋縄ではいかない話であることが伺えます。
車両検知の探求と単線折り返し装置の製作
「…センサの誤作動により、列車の暴走や脱線などの重大事故が発生する場合があります」って何事かと思ったら、鉄道模型の話なのでした。
我々の現実世界においては自動運転が旬な技術として何かと話題ですが、そういう意味では鉄道模型って基本的に自動運転ですよね。ゆえに事故を起こさない技術が大事なワケで、センサなどを活用する電子工作と鉄道模型って何気に相性が良い組み合わせと言えるのかも。そう言えば私の会社の同僚も鉄道模型に使うという理由で秋月とか行くって言ってたなぁ…。
マイコンBASICコーナー、読者投稿プログラム
本誌恒例の読者プログラム紹介コーナーです。今回は読者諸氏の要望に応えたということで、4本のプログラムが掲載されました。いずれもIchigoJamで動かすことが可能です。
クリーンヒット(IchigoJam1.4以降)
リストを見ると「うわこれどうやって入力すんだ…?」と一見思えてしまう内容。一応キーボードで普通に入力できるはできる…と思うんだけど(私はWindowsとIchigoJamを併用してこれ入力しました)。
しかしそれだけの甲斐はありました!見てください、IchigoJamで作り出したこの華麗な投球モーションを!!
何と4コマに渡るアニメーションを、あの容量の少ないIcgigoJamで表現。
もうこれだけで勝ちですよこのゲーム。
カキーン!打つごとに得点が入るのです(これヒットじゃなくてホームランだよな…)。
しかしピッチャーが速度にかなり緩急をつけてくるので、打つのは一筋縄ではいきません。バッターボックスの緊張感が味わえるゲーム。これは完成度高いですよ!!
マイニャンバー(IchigoJam1.2以降)
猫のマイナンバー制度とか、猫係長(作者?)が仕事してるとか、いろいろ凝った設定がありますが、ゲーム内容としては表示された文字列と同じものを探して当てるというものです。
例えば上図の例だと「7868063」なので、該当する文字列の番号である「4」が正解となるわけです。成功すると🐱のマークが、失敗すると×のマークがつきます。15秒以内にどれだけ正解できるかに挑戦するゲームです。
落ち着いてみれば正解は分かるのですが、そうすると時間内にたくさん処理できません。慌てると結構失敗してしまう…という風に、まぁよく考えられたゲームだと思います。実際の役所にもこういう仕事あるのかなぁ。
ゾンビ10(IchigoJam1.2以降)
先頭列にいる奴の数字にこちらから数字を足して10にすると敵が消えていくゲーム。昔ゲーム電卓にあったよねこういうの。
例えば上図だと先頭列が「1」なので、「9」を入力すると消えるわけ。
次は「5」、次は「3」…という風に消していき、10人のゾンビすべてを葬るとゲームクリア。その前にゾンビが画面左端に到達すると負け。
やってみると意外とゾンビの侵攻が早く、ゆっくり考えていると間に合わなかったりします。キーを押し始めるうちにある程度記憶して、まとめて連続で退治していく方法が有効かも。
おたずねモグラ(IchigoJam1.4.2以降)
何とリスト2つ(どちらも容量ほぼギリギリ)にまたがる大作プログラム。内容はまさにIchigoJam版モグラたたきです。
モグラの出てくる穴は7か所。ターゲットのモグラを見つけたらすかさず該当するキーを押して叩く!間違ったモグラを叩くと減点!制限時間内に一定のスコアを取ると次のステージに進めます。
ふぅ、何とか次のステージへ。
次のターゲットとノルマスコアが表示されます。
何てこったい!!2面になったらキャラが増えたぞ?画面からその忙しさが伝わってくるでしょうか?
動きもなめらかで、かつ1画面に大量に出てくるモグラ。これがIchigoJamで動いてるってホントにっ!?と思わずにはいられないそのクオリティにただただ脱帽です。これお金取ってもいいレベルだと思いますよ本当に。
迷ったけど結果的には買って良かったです!
前号で電子工作マガジンの誌面が大きくリニューアルされ、それに伴い価格も上がりました。このことについては下記noteで詳しく触れています。
前回の記事で「正直今後も2,000円近く払ってこれを買い続けるテンションを保ち続けられるか分からない」って書いたこともあり、今回これを買うかどうか迷っていたのですよね。私は電子工作やらないし、プログラミングの記事があんましだったら買う理由ないんだよな…って。
ですが今回の情報ページはナイスでした!!竹内浩一氏による文章生成型AIプログラミングにはじまり、松下浩則氏によるPythonの丁寧な解説、そしてくりひろし先生によるIchigoLatteでの言語切り替え活用術。私も普段はプログラミングと無縁な日々を送っているのでついつい勉強後回しにしてしまうのですが、こういう記事を読むと「またやってみるかなぁ」っていう気にもなります。
それと読者プログラム紹介が充実していたのも嬉しい限り。しかもプログラムのレベル高し。本当にこれIchigoJamかと目を疑いました。
今回の誌面で「IchigoLatte使えばPythonとかRubyが使用できる」ってことが分かりやすく示されたので、次回の投稿プログラムではIchigo-BASIC以外の言語による作品が掲載されることも期待したいと思います。
…ということで「電子工作マガジン」は購入継続、次号にも期待する運びとなりました。ってことは次回も書くのかこの記事…。まぁ推し活とかで多忙な合間を縫って読み、投稿プログラムも入力して遊んだうえでレビューしていたりするので、紹介するのが遅れてしまいがちではあるのですが。そんな感じでよろしければ、これからも微力ながら応援させていただきたいと思います。それではまた。
(了)