ロボットには、おもちゃの車のような単純なものから、産業用ロボットのような高度なものまで、さまざまな種類があります。さまざまなテクノロジーを使用する多くのタイプのロボットについてはすでに説明しました。それらを見てください。
- 8051マイクロコントローラーを使用したラインフォロワーロボット
- Arduinoを使用したラインフォロワーロボット
- Arduinoを使用したDTMF制御ロボット
- 8051マイクロコントローラーを使用した携帯電話制御ロボット
- Arduinoを使用したコンピューター制御ロボット
- RF制御ロボット
- 8051を使用したエッジ回避ロボット
- Arduinoを使用した加速度計ベースのハンドジェスチャ制御ロボット
- Arduinoを使用したBluetooth制御のおもちゃの車
そして今、「ロボットプロジェクト」セクションにもう1台のロボットを追加します。今回は、ArduinoとBlynkアプリを使用してWi-Fi制御のロボットを作成します。このArduinoベースのロボットは、Wi-Fi対応のAndroidスマートフォンを使用してワイヤレスで制御できます。
Wi-Fi制御ロボットのデモンストレーションには、「Blynk」という名前のAndroidモバイルアプリを使用しました。Blynkは、IoTベースのプロジェクトを作成するためのArduinoとの互換性の高いアプリです。このアプリはGooglePlayストアからダウンロードでき、簡単に構成できます。
Blynkアプリを構成する手順:
1.まずGooglePlayストアからダウンロードし、Android携帯にインストールします。
2.この後、アカウントを作成する必要があります。現在のGmailアカウントを使用できます。
3.次に、Arduino Boardを選択し、プロジェクトに名前を付けます。
4.認証トークンコードを書き留めるか、メールアカウントにメールで送信してから、Arduinoスケッチ(プログラムコード)にコピーして貼り付けます。
5.この認証トークンコードをArduinoスケッチに入力します。
// Blynkアプリで認証トークンを取得する必要があります。//プロジェクト設定(ナットアイコン)に移動します。char auth = "caa17a11c0124d4083d0eaa995f45917";
6.次に、Blynkアプリの作成ボタンをクリックします。
7.次に、ジョイスティックウィジェットを選択し、ジョイスティックをクリックして、ジョイスティックを構成し(最後のビデオを参照)、戻るボタンを押します。
8.その後、画面右上の再生ボタンを押します。
Blynkアプリを使用するこのすべてのプロセスは、最後に示されているビデオで明確に説明されています。
必要なコンポーネント:
- Arduino UNO
- ESP8266Wi-Fiモジュール
- USBケーブル
- 接続線
- L293D
- DCモーター
- バッテリー
- 10K POT(オプション)
- ロボットシャーシとホイール
- ローラーキャスター
- Android携帯電話
- Blynkアプリ
回路の説明:
Wi-Fi制御ロボットの回路図を以下に示します。主にArduinoとESP8266Wi-Fiモジュールが必要です。ESP8266のVccピンとGNDピンは3.3Vに直接接続され、ArduinoのGNDとCH_PDも3.3Vに接続されています。ESP8266のTxピンとRxピンは、Arduinoのピン2と3に直接接続されています。ソフトウェアシリアルライブラリは、Arduinoのピン2と3でシリアル通信を可能にするために使用されます。ESP8266Wi-FiモジュールのArduinoへのインターフェースについてはすでに詳しく説明しました。
A L293DモータドライバICは、 DCモータを駆動するために使用されています。モータードライバーICの入力ピンはArduinoのピン8、9、10、11に直接接続されています。また、DCモーターはその出力ピンに接続されています。ここでは、回路モーターとDCモーターの駆動に9ボルトのバッテリーを使用しました。
作業説明:
Wi-Fi制御ロボットの操作は非常に簡単です。ジョイスティックをロボットを動かしたい方向にドラッグまたはスライドするだけです。ロボットを順方向に移動する場合と同様に、ジョイスティックの「円」を順方向にドラッグする必要があります。同様に、ジョイスティックをそれぞれの方向にドラッグすることで、ロボットを左、右、および後方に移動できます。ジョイスティックを離すとすぐに中央に戻り、ロボットが停止します。
Blynkアプリは、Wi-Fiメディアを介して2軸ジョイスティックからArduinoに値を送信します。Arduinoは値を受け取り、それらを事前定義された値と比較し、それに応じてロボットをその方向に動かします。
プログラミングの説明:
プログラムはArduinoIDEでほぼ既製です。Arduino用のBlynkライブラリをダウンロードする必要があります。そして、いくつかの変更を加えた後、ユーザーは独自のWi-Fi制御ロボットを作成できます。
まず、Arduino IDEでこのコードを実行するために必要なすべてのライブラリを含め、次にBlynkアプリから 認証 文字列に認証トークンを入力しました。ここでは、Wi-FiシリアルピンをArduinoのソフトウェアシリアルに接続しています。ピン2をRXとして、3をTXとして選択しました。
#define BLYNK_PRINT Serial //これをコメントアウトして、印刷を無効にし、スペースを節約します#include
次に、モーターの出力ピン(8,9,10,11)を定義し、ロボットを特定の方向に移動するためのいくつかの方向関数を記述しました: void forward()、void back ()、void right() 、 void left()
この後、 セットアップ 機能で、モーターピンへの指示、シリアル通信の開始、Wi-Fiユーザー名とパスワードの提供など、必要なすべてのデバイスを初期化します。
void setup(){//コンソールのボーレートを設定Serial.begin(9600); delay(10); // ESP8266ボーレートを設定します//ソフトウェアシリアルEspSerial.begin(9600);には9600を推奨します。delay(10); Blynk.begin(auth、wifi、 "ユーザー名"、 "パスワード"); // Wi-Fiユーザー名とパスワードpinMode(m11、OUTPUT); pinMode(m12、OUTPUT); pinMode(m21、OUTPUT); pinMode(m22、OUTPUT); }
これで、ロボットを制御するためのいくつかの条件を確認しました。ここでは、ロボットを制御するためにBlynkアプリから入力を取得するための仮想ピン1(V1)を選択しました。アプリでマージオプションを使用したので、同じピンでx軸とy軸の値を取得します。
BLYNK_WRITE(V1){int x = param.asInt(); int y = param.asInt(); if(y> 220)forward(); else if(y <35)backward(); else if(x> 220)right(); else if(x <35)left(); else Stop(); }
最後に、システムを実行するために、 blynk関数 をループで実行する必要があります。
void loop(){Blynk.run(); }