ガラクタ箱を整理していたら、こんなものを発見しました。
旧フリスクくらいの基板に、ESP8266のモジュールとワンタッチターミナル、Groveのコネクタとピンヘッダが出ています。
これは昔作った「おもちゃPLC」の残骸です。
説明
まぁ見ての通りです。ESP32が出る前に作ったものなので、ESP8266(ESP-WROOM-02)が載っています。
詳しいことは作った時のエントリを見てもらうとして、以下はざくっとした説明とそれ以後につけ加えたものです。
赤い基板の裏にはFETが4個あって、GPIOを強化しています。1つで3Aくらいドライブできるものが4回路。モータを回すことを意図しています。また、FETはマイコンとは独立の電源になっています。
GroveはI2Cをつなぐことを意図しています。まぁGPIOが出ているだけですから、どうとでもできますけど。
ピンヘッダは「ゲーミングLED(NexPixel)」で使うことを意図しています。
何にするものかと言えば、電動おもちゃをお手軽にマイコン化するためのモジュールです。子供でも簡単にいじれるようにと、ターミナルははんだも圧着も不要なタイプにしてあります。I2Cもちゃんとコネクタにしていあります。NeoPixelはいい感じのコネクタがなかったのでピンヘッダになっていますが、ここはストレートジャックでも良かったかも知れません。
外されてぷらぷらしている線は、確かUSBシリアルインターフェイスにつながっていたはず。スイッチはリセットとISP用ですね。今だとUSBシリアルに小細工するだけで済みますね。
背景
近頃はお手軽なマイコン基板がいろいろ出ています。Arduinoもありますがそれ以外にもいろいろあって、マイコン制御をちょっとやってみるハードルは随分下がりました。
とは言え、実際にやってみると結構面倒臭く、ArduinoのGPIOでモータを回すことは出来ませんし、あまり明るいLEDを点けることもできません。そういったことをしたければ、「シールド」を追加する必要があります。ラズパイも似たようなことになりますね。他のマイコンもだいたい似たようなもので、外部で頑張ってやる必要があります。
他方、電動のおもちゃをお手軽にマイコン化できたら楽しいなと思いますよね。たとえば、
こんな奴とか手軽にマイコン化できたら楽しそうですね。
Arduinoを使えばファームはそんなに難しくなさそうですね。なんならMicroPythonとか使えばもっと簡単。何ならScratchみたいなのもあります。
でも、ハードウェアは結構面倒臭いです。モータや明るいLEDはArduinoではドライブできません。そうなると、それ用のハードウェアを用意する必要があります。Arduinoであれば「モータシールド」みたいなのがあると思うのですが、結構大きくなりますからあまり恰好良くもできません。
これをがっつりプロジェクトとしてやるのであれば、基板を作ることも楽しみの一つかも知れません。でも、「休日にちょっと遊ぶ」というノリでは出来ません。なかなかハードルの高い遊戯だということになります。
基板が既にあって簡単な小細工で出来るものであっても、半日くらいはすぐかかります。
ちょっと作って遊ぶのはなかなかに難しいですね。「基板に合わせて加工する」のは案外に面倒臭いのです。
そこで思ったのは、用途を「電動おもちゃをマイコン化する」ということに絞ってそういった回路を作って、なるべくコンパクトに作れないかということです。モータの配線をちょっと変えるだけでマイコン化できる。工作らしい工作もあまりしないで済みます。追加するものも小さければあまり目立ちませんね。ケースに入れてあればケースの心配もいらない。
これがでっかいシステムになると、PLCなるメカが登場するわけです。ある程度インターフェイスを標準化して、外部のセンサーや機器をつないで制御するという「コンピュータ」です。ある程度であれば直接ドライブできます。
これを「おもちゃ」のレベルでやれると良いな考えました。つまり、おもちゃ用のPLCです。
実現
そんなわけで冒頭の画像のようなものを作りました。内容は説明のところに書いてあるとおりです。
モータも直接回せますし明るいLEDもつなげます。センサーや表示器が欲しければI2Cもあります。Wi-Fiもつなげられますから「ラジコン」にもできます。
とりあえずの試作なので、Hブリッジになってなくてモータが前進しかできないとかあったりしますが、まぁ動くわけです。
ターミナルブロックの背を低くしたりとかいろいろあれば、いろいろ楽しいことに使えると思います。レゴの電源コネクタとかうまく出来てると覆うのですが、それが使えたら嬉しそう。
試作品としては上々でした。
展望
今のところこれに集中できる環境がないので大きなことが言えませんが、CultureSquareで考えていることはこういったことです。
手軽に遊べて、それでいていろんな使い方もできて、どう使うかは全くの自由です。好奇心のままつまづくポイントもあまりなく遊べるだろうと思います。
より進んだ遊び方をしたければOpenPLCとか使ってみるとかも良いですし、ScratchとかNode-REDとか動かしてみるのも、お手軽にいろいろできますね。
実は以前に書いたロボット頭はこの辺の仕様が念頭にあったりします。ロボットねずみで基板を作るという話も、実はこの辺と関係があります。まぁこれはもっと他の用途で、より絞った方向の話としてだったりもしますが、根底にあるものは同じです。
また弊社はシステム指向なので、こういったことをやるのでも「電子工作キット」という方向ではなくて、「身近なおもちゃをロボットにする」というシステム指向的なアプローチをしたなと思います。まぁ「電子工作キット」とか「マイコンボード」を作るところはたくさんありますから、何も弊社がそこを頑張ることもありません。
こういった楽しそうなことももっと出来ると良いなと思ってます。