中野島ロボット

小さなロボットの自作記事を書いています。

週間中ロボ216 ちいさいロボット1号をラズパイピコで動かすには

はじめに
「ちいさいロボット1号」をラズパイ Picoで動かせるか確認を行いました。結論から先に言うと、現在Thingiversで3Dモデルと一緒に公開しているXIAO用のスケッチでそのまま動きます。ただ少し引っかかったので、その辺りを記録しておきます。

接続
ラズパイピコとの機体との接続は以下のようになります。

P6 SDA GP4---VL53L0X SDA 
P7 SCL GP5---VL53L0X SCL 
P11 GP8---SG90_0 SIG
P12 GP9---SG90_1 SIG
P36 3.3V--- VL53L0X VIN 
P38 GND--- BATT GND SG90_0GND、SG90_0GND、VL53L0X GND
P39 VSYS--- BATT+ SG90_0+VCC、SG90_1VCC

補足:SG90_0が前で、SG90_1が後ろです。

もともと
このロボットのコントローラはラズパイ Picoで、センサーは超音波センサーを想定して作っていましたが、いろいろあってコントローラをSeeeduino XIAOにして、センサーをToFのVL53L0Xに換えて3Dモデルを公開しました。


XIAO用のスケッチをArduino IDEに読み込ませて、ラズパイピコに書き込もうとすると、コンパイル時にエラーが発生しました。

警告:ライブラリServoはアーキテクチャavr, megaavr, sam, samd, nrf52, stm32f4, mbedに対応したものであり、アーキテクチャmbed_rp2040で動作するこのボードとは互換性がないかもしれません。

対策
といってもServoライブラリを更新するだけです。Servoライブラリのバージョンが1.1.8から、RP2040に対応しています。
いつものようにArduino IDEからライブラリマネージャでServoライブラリを最新に更新します。

2022/06/05 うまくいかない環境
Windows用のArduinoIDEには、プログラム版とWindowsストア版があり、2022年6月の最新バージョンはどちらも 1.8.19ですが、Windowsストア版はコンパイル時にエラーが発生しています。

sketch\PicoWalker.ino.cpp:1:10: fatal error: Arduino.h: No such file or directory
 #include <Arduino.h>
          ^~~~~~~~~~~
compilation terminated.
exit status 1
ボードRaspberry Pi Picoに対するコンパイル時にエラーが発生しました。 

そんな馬鹿な・・・と言ったエラーなので、そのうち修正されると思いますが、取り敢えずは、プログラム版のArduino IDEを使ってみて下さい。
(Windowsストアアプリなんて、もうまともにメンテナンスもされていないのではと思ってしまいます。)

ラズパイピコのフレーム
ちいさいロボット1号はピコ用のケースがピッタリ乗るように、フレームのサイズを調整して作ってあります。

Candy Caseのbottom2をダウンロードして印刷すると、この機体に穴位置にもピッタリ合うはずです。

www.thingiverse.com

こっそり
ラズパイPicoの公開されている外径寸法がいつものように少しいい加減で、公式資料には縦の寸法が51mmと記載されていますが実際の基板が少し大きくて、51.3mmあり、柔らかいPETGフィラメントならはめ込むのに問題なかったのですが、堅いPLAフィラメントで印刷すると、はめ込むのが大変で、少し削る必要がありました。この機会にこっそり修正してあります。

おわりに
3DモデルのダウンロードサイトのThingiversで中野島ロボットが公開しているロボットのほとんどが秋月のDタイプ基板に合うように穴を開けているので、他のロボットもコントローラとしてラズパイピコが使えるようになります。

ラズパイピコほどの強力なプロセッサがあれば、人工知能が載せられますね。
 おしまい

購入品情報
ラズパイピコはかなり強力なプロセッサです。

SG90サーボ―モータが二個必要です。互換品では動かない場合があります。少し高くても TOWER PROの純正品を使いましょう。

距離センサーは赤外線のToF方式のものが良いでしょう。