なんとなく動いたのでアップ。使用したのはM5StickcとC_Back servo ドライバー。衝突センサーは超音波測距センサーでポピュラーなHC-SR04。落ちないためのセンサーは普通にフォトリフレクター。秋月で売ってるロームのRPR-220。当初は落ちないセンサーひとつだったのですが、それだとテーブル縁に斜めに侵入すると落ちることが多発。これじゃ落ちちゃうクルマだよ;;
ちょこっと考えてセンサーを左右に2つに。結構はじっこに配置。左側が縁に達したら右曲がりでバック。そこでローリング。右側なか逆という動作にしてみたらそこそこ出来ました。
とはいえ角はあぶないですねぇ。当面は角には壁を置いて衝突防止センサーで退避するように。
超音波センサーのほうはC_BackのポートB使用してます。I2C経由でトリガパルスを出して返ってくるパルスの時間をM5Stickcで読んでいます。まぁ動いているのでいいか。
フォトリフレクター用の入力が2つ必要なのでそういった構成になっちゃいました。フォトリフレクターのほうはGROVE端子のG32,G33を入力端子指定で使ってます。アナログルードしてますが、多分テーブルの材質によっては結構ひくいところにしきい値を設定しないとだめかもです。いまのテーブルは白いので反射率もたかいのでうまくいってるだけかもですね。