I.目的
II.部品とデバイス
III.ハードウェアのインストール
IV.回路接続
V.ソフトウェアのインストール
VI.テスト
Buy from US | Buy from UK | Buy from DE | Buy from IT | Buy from FR | Buy from ES | ここでご購入を! |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
このレッスンでは、モバイルアプリを使ってUDPプロトコル通信でロボットカーを制御する方法を学びます。Raspberry PiはPythonプログラムを実行するとし、このアプリを介してUDPパケットを取得します
このレッスンでは、Pythonを使ってモバイルアプリからリモートデータ(UDPパケット)を取得する方法を学びます。
C++プログラミングに興味のある方は、以下のリンクにC++バージョンがあります:
https://osoyoo.com/ja/2020/11/08/osoyoo-pie-v2-0-car-lesson-4-use-mobile-app-to-control-car-with-udpc-language/
番号 | 画像 | デバイス | 個数 | アクセサリー | リンク |
1 | ![]() |
超音波センサー | 1 | M1.4*8ネジ×4 M1.4ナット×4 |
ご購入はこちらから |
2 | ![]() |
サーボモーター | 1 | M2.2*8セルフタッピングネジ x 2 M2.4セルフタッピングネジ x1 |
ここをクリックして購入する |
3 | ![]() |
超音波センサー取り付けホルダー | 1 | M1.4*8ネジ x 4 M1.4*8ネット x 4 M2*4セルフタッピングネジ x 1 |
ここをクリックして購入する |
4 | ![]() |
トラッキングセンサーモジュール | 1 | M2.5プラスチックネジ x 2 M2.5プラスチックナット x2 M2.5プラスチックピラー x 2 |
ここをクリックして購入する |
5 | 7ピン25cmメス-メスケーブル | 1 | ここをクリックして購入する | ||
6 | ![]() |
20ピンジャンパーメス-メスワイヤー | いくらか | ||
7 | ![]() |
プラスドライバー | 1 | ここをクリックして購入する |
ステップ1: レッスン3/a>にしたがって、ㇻズベリカーの基本フレームワークをインストールします。もしトラッキングセンサーモジュールをインストールしない場合は、レッスン2でインストールを完了してください。
OSOYOO WiFi Robot アプリ | ![]() |
Google PlayまたはApple Storeで “OSOYOO WiFi UDP Robot APP “と検索してください。 |
ステップ1) OSOYOO WiFi UDP Robot Car control APPをダウンロードします。
Google PlayまたはApple Storeで「OSOYOO WiFi UDP Robot Car」と検索すると、以下のようなオレンジ色のアイコンのAPPが見つかります。:
ステップ2)レッスン1 でrpi.gpioとadafruit-pca9685ライブラリがインストールされていることを確認します。
ステップ3)以下のコマンドを入力して、サンプルコードをダウンロードします:
wget http://osoyoo.com/driver/picar/picar-udp-control.py
ステップ4)以下のコマンドを入力して、サンプルコードを実行します:
python picar-udp-control.py
上記のpythonが実行されると、車は携帯電話からのコマンドを待っています。
ステップ5) ラズベリーパイが使用しているのと同じルーターのWiFi SSIDに携帯電話を接続します。アプリを開き、「設定」をクリックして、Raspberry PiのIPアドレス……………とポート番号を8888に入力します:
これで、< > ^ v の方向キーをクリックすると、車が動きます。車の動きを止めるには、||一時停止キーを使います。
Obstacleキーをクリックすると、レッスン3と同様に、車が障害物回避の自動運転を行います。
Trackingキーをクリックすると、車はレッスン2と同様にリンクトラッキングの自動運転を行います。
注:F1~F6は今後の開発機能です。
Wifi UDP APPとスケッチコードに関するFAQ:
Q1)ロボットカーの速度を調整する方法は?
A: ロボットカーの速度を変更したい場合は、picar-udp-control.pyコードファイルの19-21行目の以下のパラメータの値を変更してください:
high_speed = 4000 # Max pulse length out of 4096 mid_speed = 2000 # Max pulse length out of 4096 low_speed = 1000 # Max pulse length out of 4096
Q 2)OSYOO WiFi UDP Robot Car APPのボタンを押すとどうなりますか?
A: アプリのボタンを押すと、アプリはUDPプロトコルでターゲットデバイス(この例ではRaspberryPi デバイス)に1つの文字メッセージを送信します。
ボタン | UDPメッセージ |
F1 | F |
F2 | G |
F3 | H |
F4 | I |
F5 | J |
F6 | K |
▲ | A |
▼ | B |
► | R |
◄ | L |
四角 | E |
障害物 | O |
トラッキング | T |
Q3)ArduinoはUDPコマンドをどのように処理しているのでしょうか?
290から318行のwhile loopがAPPからUDPデータを受け取り、それを実行可能なcur_statusに与え、266〜280行目の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()
例えば、アプリで▲キーが押されて、cur_statusの値がAになると、ticker()関数はforward(mid_speed,mid_speed)関数を呼び出して、車を前進させます。
DownLoad Url osoyoo.com