ご注意: すべてのOSOYOO Arduino用製品はArduinoと完全に互換性があるサードパーティの板である

正規オンライン販売店

18650電池とUSB充電器付きのV2.1ロボットカーセットを購入する:

Buy from OSOYOO Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES 日本から購入

V2.1ロボットカー(バッテリー、充電器なし)を購入する:

Buy from OSOYOO Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES 日本から購入

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

このレッスンに進む前に、lesson 5 を完了する必要があります。


必要な部品:

番号 写真 デバイス 数量 付属品 リンク
1 Ultrosonic Sensor 1 M1.4*8 Screw x 4
M1.4 Nut x 4
Click here to buy
2 Servo Motor 1 M2.2*8 Self Tapping Screw x 2
M2*4 Self Tapping Screw x 1
Click here to buy
3 Mount Holder for Ultrasonic Sensor 1 M1.4*8 Screw x 4
M1.4 Nut x 4
M2*4 Self Tapping Screw x 1
Click here to buy
4 Buzzer Sensor Module 1 M3 Plastic Screw x 1
M3 Plastic Nut x 1
M3 Plastic Pillar x 1
Click here to buy
5 Tracking sensor module 1 M3 Plastic Screw x 2
M3 Plastic Nut x2
M3 Plastic Pillar x 2
Click here to buy
6 7pin 25cm Female to Female Cable 1 Click here to buy
7 20Pin jumper wire Male to female 20cm some Click here to buy
8 Philips screwdriver 1 Click here to buy
9 Hex Screwdriver 1 Click here to buy
10 M2*4 self tapping screw 1
11 M2.2*8 self tapping screw 2
12 M1.4*8 screw and nut 4
13 M3 plastic screw 1
14 M3 plastic pillar 1
15 M3 plastic nut 1

ハードウェア取り付け: 

Step 1: lesson 5に従って、スマートカーの基本フレームワークをインストールします。トラッキングセンサーモジュールを取り付けない場合は、 Lesson 4で取り付けを完了してください。

注意:デジタル信号ピンが限られているため、レッスン2とレッスン3のワイヤーを取り外す必要があります。レッスン1ですでに取り付けが完了している場合は、ENAをD9からD3に移動する以外はすべてそのままにしてください(D9はサーボ制御のために必要です)。Lesson2、Lesson3をインストール済みの場合は、配線を取り外してください。

Step 2: E_TX(Esp8266 TX)ピンをD4(UNO用ソフトシリアルRX)に、E_RX(ESP8266_RX)ピンをD5(UNO用ソフトシリアルTX)に以下の図のように接続してください。

(Note: OSOYOO Uart WiFi shield V1.3はデフォルトでBLE URAT TX/RXポートがD4,D5にジャンパーキャップで接続されています。BLE URAT TX/RXポートが接続されている場合は、これらのジャンパーキャップを取り外し、ESP URAT E-TXをD4に、E-RXをD5に接続してください。)

Step 3: SG90サーボモータ、OSOYOO MODEL Xモータドライバモジュール、OSOYOO Uart WiFiシールドV1.3を下図のように接続します

Step 4: 超音波モジュール、ブザーモジュールとOSOYOO Uart WiFiシールドV1.3を下図のように接続します。

 

Step 5: トラッキングセンサモジュールをOSOYOO Uart WiFiシールドV1.3と接続します。

注意事項:

1) lesson 4のように、トラッキングセンサモジュールの感度調整を忘れずに行ってください。
2)lesson 5のように、超音波センサーの方向調整を忘れずに行ってください。


ソフトウェアのインストール:

オープンソースArduino
ソフトウェア(IDE)
こちらからダウンロードできる:
https://www.arduino.cc/en/Main/Software?setlang=en
7 zipは無料の
zipファイルを解凍するユーティリティです。
Download 7zip here for free
https://www.7-zip.org/
Osoyoo IoT UDP Robot APP Google PlayまたはApple Storeで 「Osoyoo IoT UDP Robot APP 」を検索してください、
また次のリンクから直接アプリをダウンロードすることができます:
https://osoyoo.com/driver/udp-app.apk)

Step 1) OSOYOO IoT UDP Robot APPをダウンロードする
Google PlayまたはApple Storeで 「OSOYOO IoT UDP Robot APP 」のキーワードを検索してください、次のように赤いアイコンのアプリを見つけるでしょう(注:Google Playでこのアプリを見つけることができない場合は、直接次のリンクからアプリをダウンロードすることができます:: https://osoyoo.com/driver/udp-app.apk ):

Step 2)  WiFiEsp-masterからライブラリのzipファイルをダウンロードしてください。 IDEを開く -> Sketch -> Include Library -> Add .ZIP libraryをクリックし、上記のzipファイルをsketchにロードします。

Step 3) スケッチコードのインストール:
Osoyoo V2ロボットカーは2つのWIFIモードで動作できます: STAモードとAPモードです。この2つのモードのスケッチは異なります。この二つのモードを一つずつ説明しましょう。

A)STAモード
STAモードでは、V2.1ロボットカーはLANルーターのクライアントデバイスになります。LANルーターのSSID名とパスワードをスケッチに保存しておきます。
スケッチが実行されると、ルーターのDHCPサービスがロボットカーにIPアドレスを割り当て、APPはこのIPアドレスを使ってロボットカーにアクセスします。

1)  v2smartcar-lesson6AからSTAモードのスケッチコードをダウンロードしてください。ファイルを解凍すると、「v2smartcar-lesson6A 」というフォルダができます。IDEを開く→ファイルをクリック→開くをクリック→v2smartcar-lesson6Aフォルダ内のコード 「v2smartcar-lesson6A.ino 」を選択し、ボードにロードする。

2)

コード96行目と98行目を変更してください:

char ssid[] = 「YOUR_ROUTER_SSID」; // これをルーターの無線LAN SSIDに置き換える。

char pass[] = 「YOUR_ROUTER_WIFI_PASSWORD」; // 無線LANパスワードに置き換える。

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

上の図では、192.168.0.117がロボットカーのIPアドレスです。このIPアドレスをAPPに設定し、APPがロボットカーとデータを交換できるようにします。

4) スマホをArduinoボードと同じルーターのWi-Fi SSIDに接続します。アプリを開き、「設定アイコン(1) 」をクリックして設定UIに入り、ロボットカーのIPアドレスとPortを8888に入力し、「保存 」をクリックし、「戻るアイコン(5) 」をクリックしてコントロールUIに戻ります。
例 ロボットカーのIPアドレスが192.168.0.107の場合、以下の写真のようにAPPを設定します:

これでロボットカーがLANに接続され、同じLAN内の携帯電話でロボットカーを制御できます。APPがWANにある場合、ルーターコントロールパネルでポート80をロボットカーのLAN IPアドレスに転送し、ルーターIPでロボットカーをコントロールすることができます。この機能により、ロボットカーを本物のインターネットデバイスにすることができます。

要点:
①ROBOT CARとお客様のスマートフォンを必ず同じWIFIに接続必要です。
設定の途中にスマートフォンのWIFIが切断されることがありますので、スマートフォンのWIFIが正しく接続されていることを再度ご確認ください。
②スマートフォンのOsoyoo IoT UDP の設定で、IDEに獲得したIPアドレスを入力しましたか、Portは8888で設定しましたか。
③お客様のルーターが必ずデバイス分離機能を無効に設定してください。有効な場合、デバイス間の通信ができません。

B)AP モード
LANやWIFIルーターがない場合があります。車を制御するために、APモードを使用する必要があります。
APモードでは、ロボットカー自体がWIFIホットスポットになります。私たちの携帯電話はWIFIクライアントとしてロボットカーに接続することができます。ロボットのIPアドレスは192.168.4.1に固定されており、WANには接続されていません。
1) 次のリンクからスケッチをダウンロードしてください: v2smartcar-lesson6B.

ファイルを解凍すると 「v2smartcar-lesson6B 」というフォルダができます。IDEを開く→ファイルをクリック→開くをクリック→v2smartcar-lesson6Bフォルダ内のコード 「v2smartcar-lesson6B.ino 」を選択し、ボードにロードする。

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

3) 携帯電話を 「soyoo_robot 」WIFIホットスポットに接続し、IPアドレスを 「192.168.4.1」、ポートを 「8888 」に設定します。

これでロボットカーがWIFIホットスポットになり、携帯電話でロボットカーを操作できるようになります。

要点:
①お客様のスマートフォンは「osoyoo_robot」と言うWIFIを接続してください。
②スマートフォンのOsoyoo IoT UDP の設定で、IPアドレスを192.168.4.1に入力しましたか、Portは8888で設定しましたか。
③設定の途中にスマートフォンのWIFIが切断されることがありますので、スマートフォンのWIFIが正しく接続されていることを再度ご確認ください。

 

最終テスト:

ロボットカーを起動します。SettingをクリックしてロボットのIPアドレスを設定します。

A) STAモードでは、携帯電話をロボットカーのLANサイドに接続し、シリアルモニターに表示されているロボットIPアドレスと同じIPアドレスを設定します。

B) APモードでは、携帯電話を 「osoyoo_robot 」無線LANホットスポットに接続し、IPアドレスを192.168.4.1に設定します。

 ◄ ► ▲ ▼ をクリックすると車が動きます。車の動きを止めるには||一時停止キーを使用します。

Obstacle(障害物)キーをクリックすると、Lesson 5と同様に障害物回避自動運転を行います。

トラッキングキーをクリックすると、lesson 4と同様にリンクトラッキング自動運転を行います。

注:F1~F6は今後の開発機能です。

よくある質問:

Q1)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プロトコルでターゲットデバイス(この例では、私たちのWIFIシールド)に1文字のメッセージを送信します。

ボタン UDPメッセージ
F1 F
F2 G
F3 H
F4 I
F5 J
F6 K
A
B
R
L
square E
obstacle O
tracking T

Q3)ボードはUDPコマンドをどのように処理していますか?
v2smartcar-lesson6のスケッチファイルでは、以下のswitch(c)文でUDPコマンドを処理しています。

            switch (c)    //serial control instructions
            {   
  
               case 'A':Drive_Status=MANUAL_DRIVE; Drive_Num=GO_ADVANCE;  WorkMode="GO_ADVANCE";break;
               case 'L':Drive_Status=MANUAL_DRIVE; Drive_Num=GO_LEFT; WorkMode="GO_LEFT";break;
               case 'R':Drive_Status=MANUAL_DRIVE; Drive_Num=GO_RIGHT;WorkMode="GO_RIGHT";break;
               case 'B':Drive_Status=MANUAL_DRIVE; Drive_Num=GO_BACK;WorkMode="GO_BACK";break;
               case 'E':Drive_Status=MANUAL_DRIVE; Drive_Num=STOP_STOP;WorkMode="STOP_STOP";break;
               case 'O':Drive_Status=AUTO_DRIVE_UO;Serial.println("go OBSTACLE");WorkMode="OBSTACLE";break;
               case 'T':Drive_Status=AUTO_DRIVE_LF;WorkMode="line follow";break;
               case 'G':track_speed=track_speed+10;
                        if(track_speed>200) track_speed=200
                         ;break;
               case 'J':track_speed=track_speed-10;
                        if(track_speed<80) track_speed=80
                         ;break;
               default:break;
              } //END OF ACTION SWITCH

上のコードで、switch()カッコ内のcは、携帯電話のAPPから送信されたUDPデータである。APPの▲キーが押されると、case ‘A’…の行がコマンドを処理し、車を前進させます。

Q4) シリアルウインドウに「 [WiFiEsp] >> TIMEOUT>>」 というエラーが表示されます。

A: ジャンパーキャップを確認し、ジャンパーキャップがE_TXピンをD4に、E_RXピンをD5に接続していることを確認してください。