Pico Wが出てやってみたかったうちの一つ、Pico W版ラズピッピプラレールを作った話。
モータードライバー
モータードライバーは前に作ったのと同じくL9110Sモジュールを使えば良いですが、1モジュールあたりL9110Sが2つも乗っていて、1つでいいし、もっとコンパクトでいいのになあと思っていたら、L9110HというのがICピンタイプであるらしく、それをアリエクで調達しました。
単3ダミー電池に単2変換を装着したものに、部品をバラバラ投入した図。うむ、中に詰め込めそうですね。
で、秋月の小さいユニバーサル基板に実装。電源と、モーター制御の線はピン出しにして、コネクターを接続する形にしました。単2変換はなくても良さそうだったので省略されました。
電池
電池は当初は単3x2をモータードライバーに食わせていましたが、どうにも出力不足だったので、9V電池に入れ替えたら快適に走るようになりました。
Pico W用の電源は、3.7VのLiPoバッテリーを入力するためにLiPo SHIM for Picoを購入。Pico Wに密着させた状態でピンをはんだ付けした特別バージョンに仕立てました。
SHIMの部分だけピンの高さが変わっているけど、問題はないでしょう。
物理設置
当初はPico Wを逆さまにしないと搭載できませんでした。
が、Pico Ski Boardを作ったのでこれは解消。
バッテリーは、できれば内蔵にできれば見栄えは良いのですが、中間車は中が空洞ではなくて断念。なんか黒い中間パーツがわざわざ入ってるんですよね。後ろの付随先頭車だとケーブルを這わす距離が長くなるので、これはこれで考えもの。
コード
CircuitPythonで実装しました。マルチスレッドができない(ループでいい感じに実装しないといけない)ので、一度マスコンをいじると、いじった速度に変化し終えるまでコントロールができなくなるへっぽこ仕様になってしまっています。前後切り替えは実装してありますが、HTML側で潰してあって、試しもしていないです。まだこれからという感じ。
Wi-Fi接続は複数APに接続できるものを雑に自作して、それを呼び出しています。また、code.pyでは自作Wi-Fi接続スクリプトと本体スクリプトをimportするだけにしています。これ、ちがうプロジェクトに使い回すときに、リネームの手間が省けて便利です。お作法的に良いかどうかはさておき。
つぎ
動画のラストで引き上げ線に入庫したあとに出庫ができなくなるので、方向転換を実装しないといけないですね。
あとは、PiZero版の先代とおなじくカメラが実装できると良いですが、できるかしらん……?カメラ自体はなんかありそうですが、CircuitPythonで書くところまで行けるかな……?というのもありますね。
モータードライバーの自前実装と電源分離がいい感じだったので、これらはPiZero版にもフィードバックしたいです。コンデンサーを買わなきゃ。
まとめ
Raspberry Pi Pico Wでもプラレールを走らせることができました。すでに先週のOSCで展示しましたが、他の開催でも引き続き展示予定です。お楽しみに。