Buy from OSOYOO | Buy from UK | Buy from DE | Buy from IT | Buy from FR | Buy from ES | Buy from JP |
このレッスンでは、モバイルAPPを使ってUDPプロトコルでロボットカーを制御する方法を学びます。Raspberry PiでPythonプログラムを実行し、APPからUDPパケットを取得します。
No. | 写真 | 部品 | 数量 | 付属品 | Link |
1 | Ultrosonic Sensor | 1 | M1.4*8 Screw x 4 M1.4 Nut x 4 |
ここをクリックして購入する | |
2 | Servo Motor | 1 | M2.2*8 Self Tapping Screw x 2 M2*4 Self Tapping Screw x 1 |
ここをクリックして購入する | |
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 |
ここをクリックして購入する | |
4 | Tracking sensor module | 1 | M2.5 Plastic Screw x 2 M2.5 Plastic Nut x2 M2.5 Plastic Pillar x 2 |
ここをクリックして購入する | |
5 | 7pin 25cm Female to Female Cable | 1 | ここをクリックして購入する | ||
6 | 10Pin jumper wire female to female 20cm | some | |||
7 | Philips screwdriver | 1 | ここをクリックして購入する |
Lesson 3 (Line Tracking ) と Lesson 4 (Obstacle Avoidance)を先に完成してください。
Lesson1~Lesson4で設置した配線はそのままにしてください。
Osoyoo WIFI Robot APP | Google Play または Apple Storeで“Osoyoo WIFI UDP Robot APP”を検索してください。(Google Playでこのアプリを見つけられない場合、以下のリンクから直接にアプリをダウンロードできます:https://osoyoo.com/driver/udp-app.apk) |
Step 1) OSOYOO WIFI UDP Robot Car control APPをダウンロードします。
Google PlayまたはApple Storeで “OSOYOO WIFI UDP Robot Car “と検索してください(ご注意:Google Playでこのアプリを見つけられない場合、以下のリンクから直接にアプリをダウンロードできます:https://osoyoo.com/driver/udp-app.apk):
Step 2) lesson 1 でrpi.gpioとadafruit-pca9685ライブラリをインストールしたことを確認してください。
Step 3) 以下のコマンドを入力して、サンプルコードをダウンロードします:
wget http://osoyoo.com/driver/servo-steer-car/picar-udp.py
Step 4)次のコマンドを入力して、サンプルコードを実行します:
python picar-udp.py
Python3を使用する場合は、次のコマンドを入力します:
python3 picar-udp.py
上記のpythonが実行された後、車は携帯電話からのコマンドを待っています。
Step 5) ラズベリーパイと同じルーターの無線LAN SSIDに携帯電話を接続します。APPを開き、Settingsをクリックし、Raspberry PiのIPアドレスとPortを8888に入力します:
これで、< > ^ v方向キーをクリックして車を動かすことができます。車の動きを止めるには|一時停止キーを使います。
Obstacleキーをクリックすると、Lesson 4と同様に障害物回避の自動運転を行います。
トラッキングキーをクリックすると、lesson 3と同様にリンクトラッキング自動運転を行います。
注: F1~F6 は未来の付加的な開発機能です。
WIFI UDP APPとスケッチコードに関するFAQ:
Q 1)ロボットカーのスピードを調整する方法は?
A: ロボットカーの速度性能を変更したい場合、picar-udp-control.py ファイルの 19-21 行目のパラメータを変更してください:
high_speed = 3500 # Max pulse length out of 4096 mid_speed = 1900 # Max pulse length out of 4096 low_speed = 1700 # Max pulse length out of 4096
Q 2)OSOYOO WiFi UDP Robot Car APPのボタンを押すとどうなりますか?
A: APPのボタンを押すと、APPはUDPプロトコルでターゲットデバイスRaspberry Piに1文字のメッセージを送信します。
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 |
Q 3)Raspberry PiのpythonプログラムはUDPコマンドをどのように処理していますか?
319行目から347行目のwhileループがAPPからUDPデータを受け取り、それを実行可能なcur_statusに渡し、292行目から307行目のticker関数がcur_statusを処理します:
def ticker(): if cur_status=='R': turnRight(high_speed,0) if cur_status=='L': turnLeft(0,high_speed) if cur_status=='A': forward(mid_speed,mid_speed) if cur_status=='B': backward(mid_speed,mid_speed) if cur_status=='E': stopcar() if cur_status=='T': line_tracking() if cur_status=='O': obstacle_avoid()
例えば、APP▲キーが押され、cur_statusの値がAであれば、ticker()関数はforward(mid_speed,mid_speed)関数を呼び出し、車を前進させる。
DownLoad Url osoyoo.com