I.Objectif
II.Pièces et appareils
III.Installation du matériel
IV.Installation du logiciel

Acheter à US Acheter à UK Acheter à DE Acheter à IT Acheter à FR Acheter à ES ここでご購入を!


Dans cette leçon, nous allons vous apprendre à utiliser une application mobile pour contrôler une voiture robot via le protocole UDP. Le Raspberry Pi exécutera un programme Python pour obtenir un paquet UDP de l’APP.

Vous apprendrez à utiliser Python pour obtenir des données distantes (paquet UDP) à partir d’une application mobile.


Non. Image Appareil Qté. Accessoires Lien
1 Capteur à ultrasons 1 M1.5 * 8 Vis x 4
M1.5 écrou x 4
Cliquez ici pour acheter
2 Servomoteur 1 M2.2 * 8 Vis autotaraudeuse x 2
M2 * 4 Vis autotaraudeuse x 1
Cliquez ici pour acheter
3 Support de montage pour capteur à ultrasons 1 M1.5 * 8 vis x 4
écrou M1.5 x 4
M2 * 4 vis autotaraudeuses x 1
Cliquez ici pour acheter
4 Module de capteur de suivi 1 M2.5 Vis en plastique x 2
M2.5 Écrou en plastique x2
M2.5 Pilier en plastique x 2
Cliquez ici pour acheter
5 7 broches 25 cm femelle à femelle 1 Cliquez ici pour acheter
6 20Pin jumper wire femelle à femelle 20 cm quelques
7 Tournevis Philips 1 Cliquez ici pour acheter


Étape 1 : Installez le cadre de base de la voiture intelligente conformément à la leçon 3. Si vous n’installez pas le module de capteur de suivi, veuillez terminer l’installation dans la leçon 2.



Étape 1) Assurez-vous d’avoir installé rpi.gpio et la bibliothèque adafruit-pca9685, et activez I2C dans la leçon 1.

Étape 2) Allumez la voiture robot et tapez la commande suivante pour télécharger l’exemple de code :

wget http://osoyoo.com/driver/picar/picar-udp-control.py


Étape 3) Tapez la commande suivante pour exécuter l’exemple de code (ATTENTION: veuillez sélectionner une commande correcte en fonction de votre carte Pi):

Si vous utilisez Python 2 dans Raspberry Pi 3, tapez :

python picar-udp-control.py

ou si vous utilisez Python 3 dans Pi 4/3A+, tapez :

python3 picar-udp-control.py


Une fois que le python ci-dessus est en cours d’exécution, votre voiture attend la commande de votre téléphone portable.

Étape 4) Télécharger OSOYOO Wi-Fi UDP Robot Car control APP Dans Google Play ou Apple Store, veuillez rechercher les mots-clés « OSOYOO IoT UDP Robot APP», vous trouverez une icône rouge APP comme suit (Note : Si vous ne trouvez pas cette APP dans Google Play, vous pouvez directement télécharger l’APP à partir du lien suivant : https://osoyoo.com/driver/udp-app.apk):

Étape 5) Connectez votre téléphone au même routeur Wi-Fi SSID que celui utilisé par le Raspberry Pi. Ouvrez l’APP, cliquez sur “settings icon(1)” pour entrer dans l’interface de configuration, entrez votre [Raspberry Pi IP address] et [Port] à [8888], cliquez sur [Save], puis cliquez sur back icon(5) pour revenir à l’interface de contrôle comme suit :

Étape 6)

Maintenant, mettez la voiture sur le sol, et vous pouvez cliquer sur les touches de direction < > ^ v pour faire bouger la voiture. Utilisation || touche pause pour arrêter le mouvement de la voiture.

Si vous cliquez sur Touche d’obstacle (F8), la voiture effectuera une conduite automatique d’évitement d’obstacles similaire à la leçon 3

Si vous cliquez sur Touche de suivi (F7), la voiture effectuera un suivi de liaison de conduite automatique similaire à la leçon 2

Remarque: F1 ~ F6 sont d’autres fonctions de développement à l’avenir.

FAQ sur l’application IoT UDP et le code sketch :

Q1)Comment régler la vitesse de la voiture robotisée?
R: Si vous souhaitez modifier les performances de vitesse de la voiture robotisée, veuillez modifier les valeurs suivantes dans les paramètres de la ligne 19-21 dans picar-udp-control.py fichier:

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)Que s’est-il passé lorsque vous appuyez sur des boutons dans OSOYOO IoT UDP Robot APP ?
R: Lorsque vous appuyez sur un bouton de l’APP, l’APP enverra un message d’une seule lettre via le protocole UDP à l’appareil cible Raspberry Pi

Bouton Message UDP
F1 /
F2 /
F3 /
F4 /
F5 /
F6 /
Avance
Précédent
Droite
Gauche
carré Arrêter
F7 Pistage
F8 obstacle

Q3)Comment le programme python Raspberry Pi gère-t-il la commande UDP?
Ligne 290 à 318 tandis que la boucle reçoit les données UDP de l’APP et les donne à des cur_status viables, la fonction ticker dans la ligne 266 – 280 gère le 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()

Par exemple, lorsque la touche APP ▲ est enfoncée, cur_status valeur est A, puis la fonction ticker() appelle la fonction forward(mid_speed,mid_speed) pour faire avancer la voiture.