プログラミング・フォロをカメラ付きリモコン・ロボにしてみた
プログラミングできるフォロ、プログラミング・フォロをAtomS3で操作することができましたが、AtomS3をAtomS3Rカメラキットに置き換えると、プログラミング・フォロを簡単にカメラ付きリモコン・ロボにする事ができます。
プログラミング・フォロ制御用マイコンボード
プログラミング・フォロは基本的に、micro:bitかELEKITのマイコンボード(エッジコネクタはmicro:bit互換)で操作できます。なので、micro:bitと同じ形状のユニバーサル基板にAtomS3Rカメラキットを載せれば、カメラ付きリモコン・ロボにする事ができます。
この基板の作成方法は AtomS3で操作した時と同じモノで大丈夫です。
micro:bitとプログラミング・フォロのインターフェイスは▼の通り
PIN | フォロの機能 |
P0 | スピーカー |
P1 | フォロ右側の赤外線センサーの値を取得 |
P2 | フォロ左側の赤外線センサーの値を取得 |
P12 | フォロ搭載赤外線LEDの制御 |
P13 | 足のモーターの制御(正転) |
P14 | 足のモーターの制御(逆転) |
P15 | 腰のモーターの制御(正転:左回転) |
P16 | 腰のモーターの制御(逆転:右回転) |
PIN | フリー | 正転 | 逆転 | ブレーキ |
P13/P15 | 0 | 1 | 0 | 1 |
P14/P16 | 0 | 0 | 1 | 1 |
コレに合わせてM5Atomとmicro:bitユニバーサル基板のエッジコネクタを対応を決めます。
ピン数が足りないので、micro:bitの[A][B]ボタンはG2ピンで処理します。
M5Atomには5Vの電源が必要なので、micro:bitエッジコネクタの3V端子に5V昇圧コンバータを接続して5V電源を作っています。
カメラ/WiFi/モーター駆動と消費電力が多めで電池の消耗が激しいです。
アルカリ乾電池だと出力不足になりやすい様なのでエネループの使用を使用をお勧めします。
P12は+5V電源に直結でも良いと思う。 赤外線LEDをOFFにする意義はないように思いますし・・・ そうすれば、G2ピンが空くのでスピーカーも操作できる。 |
GROVEコネクタは入手困難なので、手持ちのコードを切って変換コネクタを作っています。
スケッチ
公式サイト で配付している AtomS3R CAM - Web CAM (Arduino) をベースに作成。QVGA(320x240)のJPEGを連続して表示しています。
Webサーバ(AtomS3R)へのリクエストは Ajuxを使用して GET モードで 送信しているので、画面の再描画が起こりません。
WiFiルータにClientとして接続するSTA MODEとAtomS3RをWiFi親機にするAP MODEが選べます。
AP MODEで使用する場合は、SSID:AtomS3Rに接続し、http://192.168.4.1にアクセスしてください。
FOLOの制御部分は AtomS3用に作成したFOLO制御スケッチをベースに、リモコン操作できるように修正しています。
自動操作/手動操作の切り替えを設け、自動操作時にはAtomS3で操作した時と、基本的に同じどうさになります。
YuruPuro/AtomS3R-CAM-FOLO