Raspberry Piを入手したら、とりあえず標準で載っているプログラミング言語で遊ぶとか、Mathematicaで数式遊びをするとかあるだろう。
しかし、やっぱり電子工作をしなくちゃ面白くない。
いろいろIOを操れるように設計されているので、それを利用しないのでは宝の持ち腐れだ。
ということで、電気通信大学生協で入手したブルーバックスの『最新Raspberry Piで学ぶ電子工作』をとりあえず買って、斜め読みしてみた。
昔と違って、IOの面倒なことは既にRaspberry Pi に組み込まれていて、かなり簡単になっている。
昔は、何でもハンダゴテでハンダ付けしていたが、今はブレッドボードに部品の足を挿すだけで回路ができてしまう便利な時代になっている。
ということで、週末に、ちょっと秋葉原の近くに用事があったついでに、東京ラジオデパート、千石電商、秋月電子を回ってきた。これらの場所は、電子工作するにはお馴染みの店である。そういうところへ行こうとしても、途中でメイドカフェの呼びこみがたくさんある。いつの間にか、秋葉原は電気街から別の街に変わったようだ。
ふらふらしていたら、Raspberry Pi 用の電子工作キットというのが安く売っていたので入手してしまった。
ちゃんと書籍に合致したキットを入手すれば良いのだが、適当に買ってきてしまったので、ADコンバータは本とは異なるものが入っていた。
本にはMCP3208という入力8チャンネルのADコンバータの場合の説明があるのだが、入っていたのは入力2チャンネルのADコンバータであった。つまり、より安いのが入っていた。
本に載っている説明、プログラムなどとはちょっと違うことをしないとAD変換できない。
さて、どうしよう。
ということで、ネットで、MCP3002のデータシートを入手し、ピンを調べ、MCP3208との対応を考える。
ピン、つまり回路の変更は足の対応が分かればそれに対して変更するだけだが、ADコンバータとのデータのやりとり、コマンドが異なる。
結局それらは、ネットを漁って Raspberry Pi と MCP3002 の接続の仕方、そしてプログラムでの処理のしかたの説明を読んで、ブルーバックスに掲載されていたプログラムを少々修正したら動くようになった。
次の写真が、半固定抵抗の値を読み取り、その値によりLEDの照度を変更するように回路を組んで動かしたものである。
抵抗やLED、半固定抵抗(LEDの右の+が頭についている部品)などは、部屋に適当に転がっていたのを使ってみた。
とても簡単な動作確認である。
プログラムはPythonで組んでいる。ずっと昔、1980年頃はアセンブラで書くのが普通だったことが、今ではPythonなどの言語で簡単に書けてしまうので、ちょっと慣れれば小学校高学年以上なら十分できそうな気がする。
電子工作のハードルは、本当に低くなった。
IoTというと二の足を踏むプログラマも多いようだが、今やIoTは小学生でもできるようになってきている。
電気通信大学では、小学校5年生から高校2年生を対象に、プログラミング教室をずっとやっている。
ここでは、プログラム言語を使いこなすだけでなく、ロボット、電子工作なども含めて、IoT全般を教えている。
詳しくは、 電通大プログラミング教室 @UEC_programming を見てみよう。