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でロボットカーをコントロールすることができます。この機能により、ロボットカーを本物のインターネットデバイスにすることができます。
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ホットスポットになり、携帯電話でロボットカーを操作できるようになります。
ロボットカーを起動します。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に接続していることを確認してください。
DownLoad Url osoyoo.com
You must be logged in to post a comment.
I am trying to use the first version of the WIFI code (STA Mode). I got the code to compile and load into the robot, however, I am getting an error stating -Cannot initialize ESP module, WIFI Shield is not present.
1. Please confirm that connect E_TX (Esp8266 TX) pin to Arduino D4(UNO soft serial RX) and E_RX(ESP8266_RX) pin to D5(UNO software serial TX) as the step 2 in the installation
2. Please check that you change the ssid and psw to your own before uploading the code.
3. Please confirm that the voltage is more than 7.2V.
Still waiting on answer to my question for Lesson 5. So now I have moved on to Lesson 6A. All connections made and sketch installed in board. I have entered my router ssid and password into sketch. I have chosen STA mode. When I open the serial monitor I get the following message. “W[WIFIESP} Initializing ESP Module”
“WiFi ESP TIMEOUT” “cannot initialize ESP module” “WiFi Shield not present” . I have checked the router but it does not show the Shield as a connected device. Can you help? I have both 5G and 2.4G available.
Regards, Jim Robb
I have moved on to Lesson 6A. All connections made and sketch installed in board. I have entered my router ssid and password into sketch. I have chosen STA mode. When I open the serial monitor I get the following message. “W[WIFIESP} Initializing ESP Module, W[WiFiESP] Initilization successful, W[WiFiESP] Attempting to connect to [ssid] , w[WiFiESP] failed connecting to [ssid]. etc ——-
The router does not show the Shield as a connected device. Can you help? I have both 5G and 2.4G available.
Regards, Jim Robb
I refer to my question of December 13th at 9.16pm. Have you any suggestions why my Shield will not connect to my WiFi ESP?
Regards, Jim Robb
hi, James Robb,
based on your description, you are very very very very likely to have written wrong SSID or PASSWORD in the sketch code. Please double check every letter of your SSID and password in the code include space and everything. Also make sure your robot car is connecting to a wifi router, not to a cell phone hotspot. Cell phone hotspot might block ESP8266 as STA client.
Hi,
You were correct I had missed out one of the letters in the password. The print is so small my old eyes are not so good for that.
Many thanks for your help.
Regards, Jim.
when I try to sketch lesson 6 I get the following error message
C:\Users\Steve\Desktop\v2smartcar-lesson6A\v2smartcar-lesson6A.ino:11:10: fatal error: WiFiEspUdp.h: No such file or directory
#include
^~~~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: WiFiEspUdp.h: No such file or directory
Did I miss something?
I redownloaded the first set and sketched it now I’m getting
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] Cannot initialize ESP module
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] No tag found
WiFi shield not present
1. Please confirm that connect E_TX (Esp8266 TX) pin to Arduino D4(UNO soft serial RX) and E_RX(ESP8266_RX) pin to D5(UNO software serial TX) as the step 2 in the installation
2. Please check that you change the ssid and psw to your own before uploading the code.
You need change the code Line 96 and Line 98 :
char ssid[] = “YOUR_ROUTER_SSID”; // replace this with your router wifi SSID
char pass[] = “YOUR_ROUTER_WIFI_PASSWORD”; // replace with your wifi password
3. Please confirm that the voltage is more than 7.2V.
I have uploaded this sketch ok. However how can I see the debug output in the Serial Monitor ?
When connected via a USB cable the serial monitor shows output. However, as soon as the car is untethered the connection is lost.
When connected the monitor say to open a browser window, which is where I assume I will see the monitor, however, the browser does not find a page at the location stated.
9:48:21.699 -> [WiFiEsp] Initializing ESP module
09:48:26.458 -> [WiFiEsp] Initilization successful – 1.5.4
09:48:26.525 -> Attempting to connect to WPA SSID: BT-XXXXXX
09:48:31.543 -> [WiFiEsp] Connected to BT-XXXXX
09:48:31.607 -> You’re connected to the network
09:48:31.642 ->
09:48:31.642 -> IP Address: 192.168.1.220
09:48:31.677 ->
09:48:31.677 -> To see this page in action, connect to BT-6MA89Q and open a browser to http://192.168.1.220
09:48:31.772 ->
09:48:31.772 -> Listening on port 8888
This web address just doesn’t load http://192.168.1.220 – Any Ideas ?
I’m running into the same problem that many others seem to have hit. I can’t get the wifi module to connect at all. I’ve swapped two different UNOs, two different Mega2560s, and all the wiring I can. I have the Arduino powered from a 12V wall wart (I had everything on the robot, but pulled it apart to make sure that wasn’t the issue).
The code stops running after the WiFi.init call returns with a WL_NO_SHIELD value, so this isn’t an issue with the network settings. I’ve even tried the network scanner example from the wifi library to see if that might be an issue.
On the UNO I leave the jumpers in place across D4/E_TX and D5/E_RX. On the 2560 I’ve various pairings of E_RX/D1[89] and E_TX/D1[89]. I’m stuck here. Do I have a bad board or is there more testing I can do?
[WiFiEsp] Initializing ESP module
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] Cannot initialize ESP module
[WiFiEsp] >>> TIMEOUT >>>
[WiFiEsp] No tag found
WiFi shield not present
Ok, got thru the first part. The shield starts out at 115200bps and without that there’s no communication. Now I can get the shield connected to my local wifi. But, the part that says connect a browser to http://addr:8888 doesn’t work. Shouldn’t the shield be using TCP here? I can see the device on my local network.
11:30:34:179 -> [WiFiEsp] Connected to xxxxx
11:30:34:215 -> You’re connected to the network
11:30:34:251 ->
11:30:34:251 -> IP Address: 192.168.54.36
11:30:34:280 -> 3C:E9:0E:E5:4D:44
11:30:34:301 ->
11:30:34:301 -> To see this page in action, connect to xxxxx and open a browser to http://192.168.54.36:8888
11:30:34:407 -> Listening on port 8888
Do you have a model for App inventor as a guide
what kind of model do you need?please email to [email protected]