Note
Bonjour et bienvenue dans la communauté Facebook des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder ! Plongez dans l’univers du Raspberry Pi, de l’Arduino et de l’ESP32 avec d’autres passionnés.
Pourquoi rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprendre et partager : Échangez des conseils et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et à des avant-goûts exclusifs.
Réductions spéciales : Profitez de réductions exclusives sur nos derniers produits.
Promotions et concours festifs : Participez à des concours et promotions spéciales pendant les fêtes.
👉 Prêt à explorer et créer avec nous ? Cliquez sur [here] et rejoignez-nous dès aujourd’hui !
1. Faites bouger PiCar-X
Voici le premier projet, testons les mouvements de base de PiCar-X.
Exécuter le code
cd ~/picar-x/example
sudo python3 1.move.py
Après avoir exécuté le code, PiCar-X avancera, effectuera un virage en forme de S, s’arrêtera et secouera sa tête.
Code
Note
Vous pouvez Modifier/Réinitialiser/Copier/Exécuter/Arrêter le code ci-dessous. Mais avant cela, vous devez vous rendre dans le chemin du code source, tel que picar-x/example
. Après avoir modifié le code, vous pouvez l’exécuter directement pour voir le résultat.
from picarx import Picarx
import time
if __name__ == "__main__":
try:
px = Picarx()
px.forward(30)
time.sleep(0.5)
for angle in range(0,35):
px.set_dir_servo_angle(angle)
time.sleep(0.01)
for angle in range(35,-35,-1):
px.set_dir_servo_angle(angle)
time.sleep(0.01)
for angle in range(-35,0):
px.set_dir_servo_angle(angle)
time.sleep(0.01)
px.forward(0)
time.sleep(1)
for angle in range(0,35):
px.set_camera_servo1_angle(angle)
time.sleep(0.01)
for angle in range(35,-35,-1):
px.set_camera_servo1_angle(angle)
time.sleep(0.01)
for angle in range(-35,0):
px.set_camera_servo1_angle(angle)
time.sleep(0.01)
for angle in range(0,35):
px.set_camera_servo2_angle(angle)
time.sleep(0.01)
for angle in range(35,-35,-1):
px.set_camera_servo2_angle(angle)
time.sleep(0.01)
for angle in range(-35,0):
px.set_camera_servo2_angle(angle)
time.sleep(0.01)
finally:
px.forward(0)
Comment ça fonctionne ?
La fonctionnalité de base de PiCar-X se trouve dans le module picarx
,
qui permet de contrôler le servo de direction et les roues,
et fait en sorte que PiCar-X avance, tourne en forme de S ou secoue sa tête.
Les bibliothèques pour supporter les fonctions de base de PiCar-X sont maintenant importées. Ces lignes apparaîtront dans tous les exemples impliquant le mouvement de PiCar-X.
from picarx import Picarx
import time
La fonction suivante avec la boucle for
est ensuite utilisée pour faire avancer PiCar-X, changer de direction, et bouger la caméra en mode panoramique/inclinaison.
px.forward(speed)
px.set_dir_servo_angle(angle)
px.set_camera_servo1_angle(angle)
px.set_camera_servo2_angle(angle)
forward()
: Ordonne à PiCar-X d’avancer à unevitesse
donnée.set_dir_servo_angle
: Tourne le servo de direction à unangle
spécifique.set_cam_pan_angle
: Tourne le servo de panoramique à unangle
spécifique.set_cam_tilt_angle
: Tourne le servo d’inclinaison à unangle
spécifique.