Location: Home » OSOYOO Hardware Program learning Kit for Raspberry Pi » P3 Servo Steering Robot Car » OSOYOO Servo Steer Smart Car für Raspberry Pi Lektion 5: Fernsteuerung über WIFI UDP

OSOYOO Servo Steer Smart Car für Raspberry Pi Lektion 5: Fernsteuerung über WIFI UDP

Post Time: 2021-03-05 14:03:55 Category: P3 Servo Steering Robot Car

Buy from US Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES Buy from JP

In dieser Lektion lernst Du, das Roboterauto mit einer Smartphone-APP über das UDP Protokoll zu steuern.  Ein Python-Programm auf dem Raspberry Pi kommuniziert dabei über UDP mit der APP.

Bitte sieh Dir neben dem Tutorial-Text auf jeden Fall auch da Erklär-Video an – viele kleine Tipps und Tricks kannst Du Dir dort einfach abschauen.

Nr. Abbildung Gerät Anzahl Zubehör Link
1 Ultraschall-Sensor 1 M1.4*8 Schraube x 4
M1.4 Mutter x 4
zum Kaufen hier klicken
2 Servo-Motor 1 M2.2*8 selbstschneidende Schraube x 2
M2*4 selbstschneidende Schraube x 1
zum Kaufen hier klicken
3 Halter für den Ultraschall-Sensor 1 M1.4*8 Schraube x 4
M1.4 Mutter x 4
M2*4 selbstschneidende Schraube x 1
zum Kaufen hier klicken
4 Spurfolge-Sensor 1 M2.5 Kunststoffschraube x 2
M2.5 Kunststoffmutter x2
M2.5 Kunststoffbolzen x 2
zum Kaufen hier klicken
5 7Pin 25cm Female to Female Kabel 1 zum Kaufen hier klicken
6 10PinFemale to Female Kabel 20cm 1
7 Kreutzschlitz-Schraubendreher 1 zum Kaufen hier klicken

Vor Beginn dieser Lektion müssen Lektion 3 (Linienverfolgung) und Lektion 4 (Ausweichen vor Hindernissen) abgeschlossen sein.

Zur Erinnerung : Entferne keine der in Lektionen 1 bis 4 installierten elektrischen Verbindungen.

Osoyoo WIFI Robot APP Suche “Osoyoo WIFI UDP Robot APP” im
Google Play Store oder im Apple Store

Schritt 1) Lade die OSOYOO WIFI UDP APP zur Steuerung des Roboterautos.

Suche im Google Play Store oder im Apple Store nach den Schlüsselworten “OSOYOO WIFI UDP Robot Car”, wähle die APP mit dem orangen Symbol und installiere sie wie auf folgenden Bildern gezeigt:

Schritt 2) Vergewissere Dich, dass Du die Bibliotheken rpi.gpio und adafruit-pca9685 in Lektion 1 installiert hast.

Schritt 3) Gebe zum Laden des Beispielcodes folgendes Kommando in Dein Raspberry Pi Terminal ein:

wget http://osoyoo.com/driver/servo-steer-car/picar-udp.py

Schritt 4) Starte den Beispiel-Code mit Eingabe folgenden Kommandos:

python picar-udp.py

oder falls Du Python3 benutzen willst, mit:

python3 picar-udp.py

Nachdem das Python-Programm läuft wartet Dein Auto auf Befehle von der Smartphone APP.

Schritt 5) Verbinde Dein Smartphone mit der gleichen Router WIFI SSID die auch Dein Raspberry Pi benutzt. Öffne die APP, klick “Settings”, gib die Raspberry Pi IP Adresse und den Port als 8888 ein:

Jetzt kannst Du über die < > ^ v Richtungstasten die Autofahrt steuern.  Nutze die || Pausetaste um das Auto zu stoppen.

Wenn Du die “Obstacle” Taste drückst, weicht das Auto wie in Lektion 4 automatisch vor Hindernissen aus.

wenn Du die “Tracking” Tast drückst, wechselt das Auto in den Linienverfolgungsmode wie in  Lektion 3

Hinweis: F1~F6 sind für künftige Funktionen vorgesehen.

FAQ über die WIFI UDP APP und den Python Code:

Q 1) Wie kann die Fahrzeuggeschwindigkeit geändert werden ?
A: Zur Geschwindigkeitsänderung verstelle folgende Parameter in Zeile 19-21 des picar-udp-control.py Files:

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) Was passiert, wenn eine Taste in der OSOYOO WiFi UDP Robot Car APP gedrückt wird?
A: Wenn Du eine Taste in der APP drückst, dann sendet die APP eine Ein-Buchstaben Botschaft über das UDP Protokoll zum Raspberry Pi Empfänger.

Taste UDP Botschaft
F1 F
F2 G
F3 H
F4 I
F5 J
F6 K
A
B
R
L
Quadrat E
obstacle O
tracking T

Q 3) Wie verarbeitet das Python-Programm im Raspberry Pi das UDP Kommando?
In der while Schleife in den Zeilen 319 bis 347 werden die UDP Daten von der APP empfangen und an die Variable cur_status übergeben,  die ticker Funktion in den Zeilen 292 – 307 verarbeitet dann den 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()

Zum Beispiel, wenn die APP ▲ Taste gedrückt wird, dann bekommt cur_status den Wert A, und die ticker() Funktion ruft die Funktion forward(mid_speed,mid_speed) auf, um das Fahrzeug vorwärts fahren zu lassen.

DownLoad Url osoyoo.com

Leave a Reply


Address:
E-mail:
Tel: