I.目的
II.部品と装置
III.ハードウェアのインストール
IV.回路接続
V.ソフトウェアのインストール
VI.遊び方


メカナムホイールロボットカー完全セット

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

上記のロボットカーはArduinoで制御しています。 ラズベリーパイボードがあれば、実はロボットカーもラズベリーパイで制御できます。 次のリンクにアクセスして、raspberry pi を使用した基本的な動きを学習できます。

リンク – https://osoyoo.com/?p=31428


このプロジェクトでは、ロボットカーをWiFiに接続し、アプリを使用してインターネットを介して車を制御します。これは典型的なモノのインターネット(IoT)アプリケーションです。


OSOYOO Mecanum ホイール ロボットカー シャーシ x 1 (左輪 x 2/右輪 x 2、モーター x 4)
Arduinoと完全に互換性のあるOSOYOO Mega2560ボード x 1
OSOYOO WiFiシールド×1
OSOYOO モデル Y モータードライバー x 1
OSOYOO MG90サーボモーター×1
OSOYOO 超音波センサーモジュール x1
OSOYOO 超音波マウントホルダー
OSOYOO 5点トラッキングセンサーモジュール
OSOYOO 3pin メス – メス ジャンパー線 x1
OSOYOO 6pin オス-メス ジャンパー線 x2
OSOYOO 7pin メス – メス ジャンパー線 x1
OSOYOO 2 ピン XH.25 メス – メス x1
OSOYOO バッテリーボックス×1
18650電池(3.7V)×2


もし、あなたがレッスン1(車の組み立て)とレッスン4(Bluetoothイミテーションドライバー)を終えたばかりの場合、接続はそのままにしておいてください。その後、WIFIシールドからBluetoothを抜いてください。


ステップ1. B_TXをD18から、B_RXをD19から取り外します。

ステップ2. E_RXをD18(TX1)に接続し、E_TXをD19(RX1)に接続します。

(私たちの10本のジャンパーワイヤーバンドルから、オス-メスのジャンパーワイヤー2本を分ける必要があります。バンドルからのどの色でも構いません。残りの8本のワイヤーは、潜在的に壊れたり破損したりしたワイヤーの予備部品として使用できます。)


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

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

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

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

以下からアプリを直接ダウンロードすることもできます。 https://osoyoo.com/driver/arduino-udp/udp-robot.apk

ステップ 4:Arduinoスケッチコードのインストール:

ダウンロード: https://osoyoo.com/driver/mecanum_metal_chassis_m2/m2-lesson5.zip

ダウンロードしたファイルを解凍し、m2-lesson5 フォルダーに入ると、2 つのサブフォルダーが表示されます :
m2-lesson5A and m2-lesson5B

これらの 2 つのフォルダーには、AP モードと STA モードの 2 つの WiFi モード用のプログラムがあります。 これら 2 つのモードの Arduino スケッチは異なります。 この2つのモードを1つずつ説明しましょう

AP モードで作業すると、ロボットカー自体が WiFi ホットスポットになります。 私たちの携帯電話は、Wi-Fi クライアントとして Robot Car に接続できます。 ロボットの IP アドレスは 192.168.4.1 に固定されており、WAN には接続されていません。
(1) m2-lesson5 ファイルを解凍すると、m2-lesson5a という名前のフォルダが表示されます。コードを Arduino にアップロードします。

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

(3)ロボットカーが WIFI ホットスポットになり、APP 設定セクションで IP アドレスを「192.168.4.1」に設定します。

(4) 携帯電話を「osoyoo_robot」wifi hot_spotに接続すると、携帯電話を使用してロボットカーを制御できます.

(5)◄ ► ▲ ▼ 方向キーをクリックして車を動かすことができます。 「||」を使用 車の動きを止める一時停止キー。
Obstacle をクリックして左側に移動し、Tracking をクリックして右側に移動します。
F1 をクリックして、左上斜めに移動します。
F3 をクリックして、右上の斜め移動を行います。
F4 をクリックすると左斜め後ろに移動し、F6 をクリックすると右斜め後ろに移動します。

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

(1) m2-lesson5 ファイルを解凍すると、m2-lesson5B という名前のフォルダーが表示されます。次に、m2-lesson5B.ino コードを Arduino にロードします。

(2)コード Line 176 と Line 177 を変更する必要があります。

char ssid[] = “YOUR_ROUTER_SSID”; // これをルーターのwifi SSIDに置き換えます

char pass[] = “YOUR_ROUTER_WIFI_PASSWORD”; //Wi-Fi パスワードに置き換えてください

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

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

(5)これで、ロボットカーが LAN に接続され、同じ LAN で携帯電話を使用してロボットカーを制御できます。 APP が WAN にある場合は、ルーター コントロール パネルに移動し、ポート 80 をロボット車の LAN IP アドレスに転送する必要があります。その後、ルーター IP を使用して車を制御できます。 この機能により、私たちのロボットカーは真のモノのインターネットデバイスになります。

(6)◄ ► ▲ ▼ 方向キーをクリックして、車を動かすことができます。 「||」を使用 一時停止キーで車の動きを止めます。 Obstacle をクリックすると左側に移動し、Tracking をクリックすると右側に移動します。F1 をクリックすると左上斜めに移動し、F3 をクリックすると右上斜めに移動します。 F6 をクリックして、右斜め後ろに移動します。

WIFI UDP APP とスケッチ コードに関するよくある質問:

Q1)ロボットカーの速度を調整する方法?
A:ロボットカーの速度性能を変更したい場合は、11 行目から 13 行目の以下のパラメータに従ってください。:

#定義速度 150
#定義 TURN_SPEED 150
#定義SHIFT_SPEED 140

SPEED 値は前進速度を決定します
TURN_SPEED 値は回転速度を決定します
SHIFT_SPEED 値は、平行シフト速度を決定します

Q 2)OSOYOO WiFi UDP Robot Car APP でボタンを押すとどうなるか ?
A: APPのボタンを押すと、APPはUDPプロトコルを介して1文字のメッセージをターゲットデバイスに送信します(この例では、Arduino WIFIシールド)

Button UDP message
F1 F
F2 G
F3 H
F4 I
F5 J
F6 K
A
B
R
L
square E
obstacle O
tracking T

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

m2-lesson5A.ino ファイルの 233 行目から 250 行目は、携帯電話のコマンドに反応するコードです。 例えば▲を押すと、Q1の表によると、携帯電話からArduinoに「A」という文字のコマンドが送信されました。 233 行目の「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;
      }