ESP-WROOM-32 を用いた Wi-Fi ラジコンカーの作成
2020/10/18
ESP-WROOM-32 を用いた Wi-Fi ラジコンカーの作成を行った。作成したラジコンカーの構成を紹介する。
【部品の選定】
無線で動くラジコンカーを作る為に必要なものは以下の通りである。
- ラジコンのシャーシ(車体)
- 無線で通信することのできるマイコン
- DCモータ
- モータドライバ
- 電源
初めにマイコンを選定した。Wi-Fi, Bluetooth モジュールの付属した ESP-WROOM-32 は Arduino や Raspberry Pi と比べて小型かつ軽量、安価である。またマイコンへのコードの書き込みを Arduino IDE よ り手軽に行うことができる。これらの理由から ESP-WROOM-32 を車体に搭載するマイコンに選んだ。図 1に ESP-WROOM-32 の写真を示す。
ラジコンのシャーシは ESP-WROOM-32 と電源が乗るくらいの大きさで、二輪駆動のものが良かった ため「2WD Mini Smart Robot Mobile Platform Kit for education」を選択した。手軽に組み立てられ、ギアボ ックスやモータも付属しているというのも選んだ理由の一つである。
モータドライバには家に転がっていた TA7291P を選択した。図2に TA7291P の写真を示す。
電源については、初めはアルカリ単三電池を直列に 3~4 本接続したものを用いることを考えた。しか しちょうどいい電池ボックスがなかったことと出力不足の懸念から 006p 型の 9V リチウムイオン充電池 を用いることにした。
【構成】
図 3 にラジコンの構成を示す。
マイコンやモータを動かすためのバッテリは 1 つの 006P 充電池を用いた。
マイコンを HTTP サーバにして Wi-Fi と接続した。ここで ESP-32 は 2.4 GHz の周波数帯にしか対応し ていないため注意が必要である。パソコン側も同じ Wi-Fi に接続してブラウザで HTTP サーバにアクセ スした。ラジコンの操作はブラウザ上のボタンで行う。
マイコンとモータドライバは GPIO で接続した。一つのモータドライバに 3 つの GPIO を割り当てた。 2 つはモータの回転向きをスイッチするためのもので残りの 1 つは PWM を利用するためのものである。 二輪駆動構成であるから合計 6 つのピンをモータドライバとの接続に用いた。
図 4 に接続の概要を示す。配線はブレッドボードで行った。
【コード】
ESP-WROOM-32 に書き込むコードは Arduino IDE を用いて書いた。
1 つのファイルに全ての処理を書くと煩雑になってしまうため、自作のライブラリを作成した。ライブ ラリは C++を用いて書いた。
以下にソースコードを示す。GitHubはこちら。
Radi_Con.ino はサンプルプログラム”SimpleWiFiServer”を参考にした。
【完成】
図5に完成したラジコンカーの写真を示す。また図6にラジコンカーを操作するためのブラウザ上の画面を示す。
操作画面は iPad の Chrome アプリを用いた。
【まとめ】
部活動の一環として ESP-WROOM-32 を用いた Wi-Fi ラジコンカーの作成を行った。実際にラジコンを走らせることができた。