Bolt IoTで作るスマートロボットカー:Arduino UNOとL298ドライバーでWi-Fi遠隔操作
必要なパーツと用品
| パーツ | 数量 |
|---|---|
| Bolt IoT Bolt WiFi モジュール | 1 |
| Arduino UNO | 1 |
| SparkFun L298 デュアルHブリッジ モータードライバー | 1 |
| ジャンパーワイヤー | 1式 |
| 近接センサー | 1 |
| ベーシックロボットキット (シャーシ、モーター、ホイール含む) | 1 |
| ACアダプター (電源) | 1 |
使用アプリとオンラインサービス
- Bolt Cloud (デバイス管理・API)
- Arduino IDE
プロジェクト概要
はじまり:とある平日の午後
朝からドキュメント作成とコードテストに追われ、気分転換が必要でした。でもフーズボールをすると「仕事モード」から抜けてしまう。マネージャーのPranavが「ちょっとしたプロジェクトを作ってHacksterに投稿したら?」と提案。ナイスアイデア!
ということで、インターネット経由で操作できるRCロボットを作ることにしました。あとで明かす「小さなボーナス機能」も搭載します。
パーツ調達:ハードウェアの森へ
社内のパーツ置き場は誘惑だらけ。8ビット計算機を作りたくなる衝動を抑え、必要なものだけをピックアップ:
- Bolt WiFiモジュール
- ベーシックロボットキット
- Arduino UNO (またはBoltduino)
- L298N モータードライバーシールド
- 近接センサー
- ジャンパーワイヤー
- ACアダプター
ハードウェア組み立て
- キャスターホイールをシャーシ前部中央に取り付け
- シャーシを組み立て、DCモーター2つをナット・ボルトで固定しホイールを装着
※モーター端子にはハンダ付けしてからシャーシに取り付けること - モーター端子をL298Nドライバーに接続(左右それぞれ同じ側の端子に接続)
- ドライバーの5V・GNDをArduinoの5V・GNDに接続
- Boltの5V・GND・Tx・RxをArduinoの5V・GND・Rx・Txに接続(Boltduinoの場合はスロットに装着)
- ドライバーのIN1〜IN4をArduinoピン6, 7, 8, 9に接続
- 近接センサーの5V・GND・OUTをArduinoの5V・GND・ピン3に接続
詳細な回路図は後述の「回路図」セクションを参照してください。
Bolt Cloudへの接続
ハードウェア組み立て後、BoltユニットをBolt Cloudに登録・接続します。手順は公式ドキュメントを参照。
ソフトウェア:コードで命を吹き込む
GitHubリポジトリからコードを取得:
app/フォルダ内にcontroller.htmlとcontroller.js(Webコントローラー)Bolt_Robot_Car.ino(Arduinoファームウェア)
手順
- ハードウェア完成・Bolt Cloud接続済みであること
Bolt_Robot_Car.inoをArduino IDEでArduinoに書き込みcontroller.htmlをブラウザで開く- Bolt Cloudダッシュボードから取得した API Key と Device ID を入力し「SUBMIT」
- 画面のボタンでロボットを操作可能!
ボタン操作でJavaScript関数(controller.js)が呼び出され、Bolt Cloud経由でBolt WiFiモジュールへコマンドが送られます。センサー追加や自律化など、アイデア次第で拡張自在です。
イースターエッグ:ボーナス機能
「ボーナス機能はどこ?」と思った方、実は「ハードウェア組み立て」の近接センサーがそれです!前方に障害物を検知すると自動停止するので、壁に激突して壊れる心配がありません。
デモ動画
動画チュートリアルで実際の動作をご確認ください。
ソースコード
GitHubリポジトリ:https://github.com/vimalsheoran/BoltBot
回路図
製造プロセス
- Bluetooth 制御 Raspberry Pi ロボットに音声フィードバックを追加して構築
- Raspberry Pi でジェスチャー制御ロボットを構築 – 加速度センサーと RF 通信でハンドフリー操作
- Raspberry Pi & Android スマホで Wi-Fi 制御ロボットを構築
- Windows 10 IoT Coreで音声制御ロボットを構築 - Raspberry Pi 2編
- Pythonで作るWi-Fi制御Raspberry Piロボット - ステップバイステップガイド
- ROObockey:精密照準アシスト付きリモコンストリートホッケーロボット
- 古いラジコンカーをXboxコントローラーで操作可能に - ArduinoとUSBホストシールドで実現
- Arduino Nanoで音声制御ロボットを自作
- Ethernet制御ロボットアーム - WIZ750SRとAndroidアプリでリモート操作
- MobBob:Arduino製ロボットをAndroidスマホでシームレスに制御
- 主要な車の部品とその働き:愛車をスムーズに走らせる仕組み