IoTプラレールの仕組み
IoTプラレールを【前進】と【停止】させるには、MQTTプロトコルで特定のメッセージを渡すことで可能になります。IoTプラレールでは、プラレール本体の改造は最小限にしています。先頭車両にはDC-DCコンバーターとミニ四駆のウエイトパーツを付けています。
プラレール貨車について
中間車両と後部車両には、プラレール KF-10 トミカ搭載貨車を使っています。
貨車の改造方法
トミカ搭載貨車は2車両必要で、Raspberry Pi Zero Wを載せる中間車両と、モバイルバッテリーを搭載する後部車両を用意します。プラスチック部分をニッパーで少し切り取っています。
ProtoZeroの使用
メイン回路の基板は、Pimoroniで購入できるProtoZeroというRaspberry Pi Zero W用のユニバーサル基板を使って組んでいます。
ProtoZeroは、はんだ付け苦手なユーザーの味方
ProtoZeroは、はんだ付けする箇所が少なく、はんだ付けが苦手な方でも自作の基板作りがしやすくなります(筆者ははんだ付けが苦手なので、ProtoZeroにかなり助けられました)。
ProtoZeroの形状は通常のRaspberry Pi シリーズ向けユニバーサル基板の半分サイズになっていて、Raspberry Pi Zeroの上に載せてもフットプリントは変わりません。
Raspberry Pi Zero WとProtoZeroで作った自作基板を、強力両面テープで中間車両の荷台部分に取り付けます。
駆動車両のDC-DCコンバーター
Raspberry Pi Zero Wから駆動車両にはモータードライバーを経由して5V電圧で直接送っています。これは中間車両にレギュレーターやDC-DCコンバーターを載せるスペースがないためです。
後進できないけれど、前進あるのみで割り切ってOK
先頭の駆動車両の内部に小型のDC-DCコンバーターを搭載しています。そのため、逆電流を流すことができず、後進することができない仕様です。
幸いにもプラレールは「前進あるのみ」が基本姿勢なので、この点は影響はありません(元々、後進することを考慮していないプラレールを後進させるとレールから脱線してしまいます)。
後方車両のモバイルバッテリー
後部車両に搭載されているモバイルバッテリーは改造したUSBケーブルを経由してRaspberry Pi Zero WのVCC(+5V)とGND(-)に直接流し込んでいます。microUSB端子を経由して大電流を流そうとした場合、Raspberry Pi Zero Wの回路内に大電流が流れてしまいます。また、microUSB端子をプラレールのトンネルパーツと組み合わせた場合にトンネルにひっかかったりします。
また、電源ソケット形状にすることで後々に取り回ししやすくなります。なおモバイルバッテリーのケーブルの改造はテスターなどを使い慎重に行ってください。
ProtoZero上に作った回路がショートしていた場合や、改造したUSBケーブルで端子がむき出しとなった場合、モバイルバッテリー側で過電流が流れて故障する可能性があります。安全のためモバイルバッテリーには短絡保護回路や過電流保護回路が備わったものをお使いください。
【IoTプラレール 基板実装 制御系その1】ProtoZeroおよび電源系の紹介
ProtoZeroの入手
ProtoZeroはプロトタイピングボード用の簡単なボードで、はんだ付け回数を少なくすることができます。イギリスのPimoroniのサイトから購入できます。なお、日本のAmazonでもProtoZeroを再販している業者がありますが少し割高になっています。
ProtoZeroを使用せず、ユニバーサル基板で自作する方法でもOK
また、ProtoZeroを使わなくても長方形のユニバーサル基板を購入し、自作する方法でも構いません。その場合は、はみ出る部分をカットします。ただし、リード線とはんだ付けの箇所が多くなるので覚悟が必要です。
ProtoZeroの配線について
ProtoZeroは四角で囲まれた隣接する3~4個のホール同士が基板内でつながっています。はんだ付けを行った後にテスターを使って十分にテストを行ってください。
また、Raspberry Pi Zero Wの40ピン端子は横の40ピンホールと内部でつながっているため、ヘッダーピンと別の配線が同じホールにまとまり、はんだ付けすることなく、基板上でのスッキリとした配線が可能です。
ピンソケットをはんだ付けする際の注意点
ProtoZeroを購入すると40ピンのピンソケットが付いてくるので、これをProtoZeroにはんだ付けします。この時、40ピン全てをはんだ付けすると大変なので左右の端を4ピンずつはんだ付けしてください。また、ピンソケットが基板に対して直角になるようにしてください。傾いているとRaspberry Pi Zero Wを傷付けてしまう恐れがあります。
今回は40ピンの中でも、+5V、GND、GPIO20、GPIO21の4つを使っています。具体的なピンアサインについては基板実装 制御系の続編の、モータードライバーの話の中で解説したいと思います。
それから、モータードライバーの足を乗せる場合には基板の向きに気を付けます。40ピンを上にして左側にモバイルバッテリーからの入力を、右側に駆動車両への出力を実装すると配置的に良いでしょう。
被覆ワイヤーを直接基板にはんだ付けしても動きますが、プラレールは1両ずつ分割できる仕組みになっているため、2ピンの小型コネクターで接続する方が良いでしょう。
今回は入力側と出力側で別々の形状のコネクターを採用しました。ラジコンのバッテリーに使われているJST BECコネクターやPHコネクターがおすすめです。
これは、子どもが遊んだ時、間違えて差し込まないようにするための工夫です。