Buy from OSOYOO | Buy from UK | Buy from DE | Buy from IT | Buy from FR | Buy from ES | Buy from JP |
In questa lezione, ti mostreremo come utilizzare un’app mobile per controllare l’auto robot tramite il protocollo UDP. Il Raspberry Pi eseguirà un programma Python per ricevere pacchetti UDP dall’app.
No. | Immagine | Dispositivo | Qtà. | Accessori | Collegamento |
1 | Ultrosonic Sensor | 1 | M1.4*8 Vite x 4 M1.4 Dado x 4 |
Acquistare | |
2 | Servomotore | 1 | Vite autofilettante M2.2*8 x 2 Vite autofilettante M2 * 4 x 1 |
Acquistare | |
3 | Supporto di montaggio per sensore a ultrasuoni | 1 | M1.4*8 Vite x 4 M1.4 Dado x 4 Vite autofilettante M2 * 4 x 1 |
Acquistare | |
4 | Modulo sensore di tracciamento | 1 | Vite di plastica M2.5 x 2 M2.5 Dado di plastica x2 Pilastro di plastica M2.5 x 2 |
Acquistare | |
5 | Cavo da 7 pin da 25 cm da femmina a femmina | 1 | Acquistare | ||
6 | Ponticello a 10 pin da femmina a femmina da 20 cm | Alcuni | |||
7 | Cacciavite Philips | 1 | Acquistare |
Prima di tutto, installa la Lezione 3 (Tracciamento delle linee ) e la Lezione 4 (Evitamento degli ostacoli ).
Ricorda: Mantieni tutti i fili già collegati nelle Lezioni dalla 1 alla 4.
Osoyoo WIFI Robot APP | cerca “Osoyoo WIFI UDP Robot APP” in Google Play or Apple Store (Nota: se non riuscite a trovare questa APP in Google Play, potete scaricare direttamente l’APP dal seguente link: https://osoyoo.com/driver/udp-app.apk) |
Passo (1) Scarica l’app di controllo OSOYOO WIFI UDP Robot Car
Su Google Play o sull’App Store, cerca le parole chiave “OSOYOO WIFI UDP Robot Car”. Troverai un’icona arancione dell’app come segue( Nota: se non riuscite a trovare questa APP in Google Play, potete scaricare direttamente l’APP dal seguente link: https://osoyoo.com/driver/udp-app.apk):
Passo (2) Assicurati di aver installato le librerie rpi.gpio e adafruit-pca9685 nella Lezione 1.
Passo (3) Digita il seguente comando per scaricare il codice di esempio:
wget http://osoyoo.com/driver/servo-steer-car/picar-udp.py
Passo (4) Digita il seguente comando per eseguire il codice di esempio:
python picar-udp.py
or if you want to use Python3, typing:
python3 picar-udp.py
Una volta che il codice Python sopra è in esecuzione, la tua auto aspetterà i comandi dal tuo cellulare.
Passo (5) Collega il tuo telefono alla stessa rete Wi-Fi del tuo Raspberry Pi. Apri l’app, fai clic su “Impostazioni”, inserisci l’indirizzo IP del tuo Raspberry Pi e la porta 8888 nelle impostazioni:
Ora puoi fare clic sui tasti di direzione < > ^ v per far muovere l’auto. Utilizza il tasto || per fermare il movimento dell’auto.
Se fai clic sul tasto “Ostacoli”, l’auto eseguirà l’evitamento automatico degli ostacoli, simile alla Lezione 4
If you click Tracking key, the car will do link tracking auto driving similar to Lezione 3
Nota: F1~F6 sono funzioni di sviluppo future.
Domande frequenti sull’app WIFI UDP e sul codice di esempio:
D 1) Come posso regolare la velocità dell’auto robot?
R: Se desideri cambiare le prestazioni di velocità dell’auto robot, modifica i valori dei parametri seguenti nelle righe 19-21 del file picar-udp-control.py:
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
D 2) Cosa succede quando premi i pulsanti nell’app OSOYOO WiFi UDP Robot Car?
R: Quando premi un pulsante dell’app, l’app invia un messaggio di una singola lettera tramite il protocollo UDP al dispositivo di destinazione Raspberry Pi
Pulsante | messaggio UDP |
F1 | F |
F2 | G |
F3 | H |
F4 | I |
F5 | J |
F6 | K |
▲ | A |
▼ | B |
► | R |
◄ | L |
piazza | E |
ostacolo | O |
monitoraggio | T |
D 3) Come gestisce il programma Python del Raspberry Pi il comando UDP?
Il ciclo while dalle righe 319 a 347 riceve dati UDP dall’app e li assegna alla variabile cur_status. La funzione ticker nelle righe 292-307 gestisce la variabile cur_status nel seguente modo :
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()
Ad esempio, quando viene premuto il tasto ▲ nell’app, il valore di cur_status diventa A e la funzione ticker() chiama la funzione forward(mid_speed, mid_speed) per far muovere l’auto in avanti.
DownLoad Url osoyoo.com