I.目的
II.パーツとデバイス
III.ハードウェアの取り付け
IV.ソフトウェアのインストール
VI.遊び方

Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES ここでご購入を!


このプロジェクトでは、ロボットカーをWi-Fiに接続し、アプリを使用してWi-Fiを介して車を制御します。これは典型的なInternet of Things(IoT)アプリケーションです。
このレッスンを行う前に、Lesson 1 , Lesson 2, Lesson 3を完了する必要があります。

PDFチュートリアルのダウンロード:https://osoyoo.com/manual/2021006600.pdf

OSOYOOロボットカーのインストールビデオ:https://osoyoo.com/manual/2021006600.html


OSOYOO Mecanumホイールロボットカーシャシー x1
OSOYOOホイールとモーター x4(左ホイールx2 / 右ホイールx2)
OSOYOO Mega2560ボード(Arduino UNO / Mega2560と完全互換性) x1
OSOYOO Uart WIFIシールド x1
OSOYOO Model Yドライバーボード x1
OSOYOO電圧計 x1
OSOYOOバッテリーボックス x1
OSOYOO 3ピンオス-メスジャンパーワイヤー x1
OSOYOO 6ピンメス-フィーメルジャンパーワイヤー x2
OSOYOO 10ピンメス-フィーメルジャンパーワイヤー x1
OSOYOO 2ピンXH.25オス-メス x1
18650バッテリー(3.7V)x2
バッテリー充電器 x1


「レッスン1〜3とレッスン5(Bluetooth模擬ドライバー)を完了した場合は、レッスン接続をそのまま維持してください。その後、WIFIシールドからBluetoothを抜いてください。

Step 1. B_TXをD18に接続し、B_RXをD19に接続を外します。
Step 2. E_RXをD18(TX1)に接続し、E_TXをD19(RX1)に接続します。
B_の接続を外す必要があります。txとrxピンの順序はBluetoothと反対です。


オープンソースのArduinoソフトウェア(IDE) Arduino IDEをダウンロードするにはこちらをクリック
https://www.arduino.cc/en/Main/Software?setlang=en
7 zipは、zipファイルを解凍するための無料のユーティリティです 7zipをここから無料でダウンロードできます

https://www.7-zip.org/

Step 1: 最新のArduino IDEをインストールしてください(Arduino IDEバージョン1.1.16以降を使用している場合は、このステップをスキップしてください)。https://www.arduino.cc/en/Main/Software?setlang=enからArduino IDEをダウンロードし、ソフトウェアをインストールしてください。

Step 2:WiFiEsp-master.zipからライブラリzipファイルをダウンロードしてください。Arduino IDEを開き、スケッチ->ライブラリをインクルード->.ZIPライブラリを追加をクリックして、上記のzipファイルをArduinoにロードしてください。

Step 3: https://osoyoo.com/driver/mecanum_acrylic_chassis_v2/mc-lesson6.zipをダウンロードして、ダウンロードしたzipファイルを解凍すると、mc-lesson6というフォルダが表示されます。

Step 4: アプリのインストール – Google PlayまたはApple Storeで「OSOYOO WIFI UDP Robot Car Controller」と検索し、このアプリをインストールする必要があります。

Step 5:Arduinoスケッチのインストール:

ダウンロードしたファイルを解凍し、mc-lesson6フォルダに入ると、mc-lesson6Aとmc-lesson6Bという2つのサブフォルダが表示されます。これらの2つのフォルダには、2つのWIFIモード(APモードとSTAモード)用のプログラムがあります。これら2つのモードのArduinoスケッチは異なります。これら2つのモードを説明しましょう。

APモードで作業する場合、ロボットカー自体がWIFIホットスポットになります。携帯電話はロボットカーにWi-Fiクライアントとして接続できます。ロボットのIPアドレスは192.168.4.1と固定されており、WANに接続されていません。
(1) mc-lesson6.zipファイルを解凍すると、mc-lesson6Aというフォルダが表示されます。Arduinoにコードをアップロードしてください。

(2) Arduinoシリアルモニターを開き、APモードと同様の結果が表示されます。「osoyoo_robot」という新しいWIFI SSIDとIPアドレス192.168.4.1がウィンドウに表示されます。これは、ロボットカーが「osoyoo_robot」というWIFIホットスポット名を持ち、そのIPアドレスが192.168.4.1であることを意味します。

(3)これで、ロボットカーがWIFIホットスポットになり、IPアドレスを「192.168.4.1」と設定することができます。

(4) 携帯電話を「osoyoo_robot」Wi-Fiホットスポットに接続し、モバイル電話でロボットカーを制御することができます。

(5)◄ ► ▲ ▼の方向キーを押すと、車を動かすことができます。車の動きを停止するには、「||」の一時停止ボタンを使用します。障害物ボタンをクリックすると左に移動し、トラッキングボタンをクリックすると右に移動します。F1をクリックすると左上の斜め移動を、F3をクリックすると右上の斜め移動を、F4をクリックすると左下の斜め移動を、F6をクリックすると右下の斜め移動をすることができます。

STAモードでは、ロボットカーはWi-Fiホットスポットとして動作しません。代わりに、ローカルネットワーク内のインターネットノードとなります。ローカルルーターのWi-Fi SSIDとパスワードをArduinoスケッチに指定し、Arduinoがルーターと通信してDHCPサーバーから自分自身のLAN IPアドレスを取得する必要があります。モバイルアプリを使用してロボットカーのIPアドレスにアクセスし、その動きを制御することができます。

(1) mc-lesson6ファイルを解凍すると、mc-lesson6bというフォルダが表示されます。その中にあるmc-lesson6b.inoコードをArduinoに読み込みます。

(2)コードの180行目と181行目を変更する必要があります。

char ssid[] = “YOUR_ROUTER_SSID”; // replace this with your router wifi SSID
char pass[] = “YOUR_ROUTER_WIFI_PASSWORD”; // replace with your wifi password

(3)スケッチをArduinoにアップロードします。最後に、Arduino IDEの右上隅にあるシリアルモニターウィンドウをクリックすると、以下の結果が表示されます。

(4)このモードでは、ルーターに割り当てられたローカルIPアドレスが表示されます。このIPアドレス「192.168.50.44」を書き留め、「Setting」をクリックしてロボットのIPアドレスを設定し、APPの設定セクションにこのIPアドレス「192.168.50.44」を設定します(APPのデフォルトポート8888は変更の必要はありません)。

(5)あなたのロボットカーがLANに接続されたので、同じLAN内にある携帯電話を使用してロボットカーを制御することができます。もし、あなたのAPPがWANにある場合、ルーターの制御パネルに行って、ポート80をロボットカーのLAN IPアドレスに転送してから、ルーターIPを使用して車を制御することができます。この機能により、私たちのロボットカーは本当のIoTデバイスになりました。

(6)◄ ► ▲ ▼ の方向キーをクリックして、車を移動させることができます。

停止する場合は「||」の一時停止キーを使用してください。障害物をクリックすると左側に移動し、トラッキングをクリックすると右側に移動します。

F1をクリックすると左上の斜め移動ができ、F3をクリックすると右上の斜め移動ができます。

F4をクリックすると左下の斜め移動ができ、F6をクリックすると右下の斜め移動ができます。


WIFI UDP APPおよびスケッチコードに関するFAQ:
Q1) ロボットカーの速度を調整するにはどうすればよいですか?
A:ロボットカーの速度を変更したい場合は、11行目から13行目までのパラメーターに従ってください:

#define SPEED 85
#define TURN_SPEED 90
#define SHIFT_SPEED 130

SPEED値は前進速度を決定し、

TURN_SPEED値は回転速度を決定し、

SHIFT_SPEED値は平行移動速度を決定します。

Q 2)OSOYOO WiFi UDP Robot Car APPのボタンを押したときに何が起こりますか?
A:APPのボタンを押すと、APPはUDPプロトコルを介してターゲットデバイス(この例ではArduino WIFIシールド)に単一文字のメッセージを送信します。

Q3)ArduinoはUDPコマンドをどのように処理するのですか?

「mecanum-2560-lesson5A.ino」ファイルのライン230から245にあるコードは、携帯電話のコマンドに応答するためのものです。例えば、▲が押された場合、Q1テーブルに従い、携帯電話から「A」という文字のコマンドがArduinoに送信されます。ライン233の「case ‘A’…」ステートメントにより、車が前進するようになります。

char c=packetBuffer[0];
switch (c) //serial control instructions
{
case ‘A’:go_advance(SPEED);;break;
case ‘L’:left_turn(TURN_SPEED);break;
case ‘R’:right_turn(TURN_SPEED);break;
case ‘B’:go_back(SPEED);break;
case ‘E’:stop_Stop();break;
case ‘F’:left_shift(0,150,0,150);break; //left ahead
case ‘H’:right_shift(180,0,150,0);break; //right ahead
case ‘I’:left_shift(150,0,150,0); break;//left back
case ‘K’:right_shift(0,130,0,130); break;//right back
case ‘O’:left_shift(200,150,150,200); break;//left shift
case ‘T’:right_shift(200,200,200,200); break;//left shift
default:break;
}