Note
Bonjour, bienvenue dans la communauté SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts sur Facebook ! Plongez plus profondément dans l’univers du Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi nous 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 & Partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Bénéficiez d’un accès anticipé aux annonces de nouveaux produits et aux avant-premières.
Réductions spéciales : Profitez de réductions exclusives sur nos nouveaux produits.
Promotions festives et concours : Participez à des concours et à des promotions spéciales pendant les fêtes.
👉 Prêt à explorer et à créer avec nous ? Cliquez sur [ici] et rejoignez-nous dès aujourd’hui !
2. Mouvement des pattes
Les mouvements des pattes de PiDog sont implémentés par les fonctions suivantes.
Pidog.legs_move(target_angles, immediately=True, speed=50)
target_angles
: C’est un tableau bidimensionnel composé de plusieurs groupes de 8 angles de servomoteurs (appelés groupes d’angles). Ces groupes seront utilisés pour contrôler les angles des 8 servos des pattes. Si plusieurs groupes d’angles sont définis, ceux qui n’ont pas été exécutés seront stockés dans le cache.immediately
: Lorsque ce paramètre est défini surTrue
, le cache est immédiatement vidé pour exécuter le nouveau groupe d’angles ; si le paramètre est défini surFalse
, le nouveau groupe d’angles est ajouté à la file d’attente d’exécution.speed
: La vitesse à laquelle le groupe d’angles est exécuté.
Quelques utilisations courantes sont listées ci-dessous :
Exécution immédiate de l’action.
from pidog import Pidog
import time
my_dog = Pidog()
# demi-position debout
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], speed=50)
Ajouter des groupes d’angles à la file d’attente d’exécution.
from pidog import Pidog
import time
my_dog = Pidog()
# demi-position debout
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], speed=50)
# actions multiples
my_dog.legs_move([[45, 35, -45, -35, 80, 70, -80, -70],
[90, -30, -90, 30, 80, 70, -80, -70],
[45, 35, -45, -35, 80, 70, -80, -70]], immediately=False, speed=30)
Effectuer des répétitions pendant 10 secondes.
from pidog import Pidog
import time
my_dog = Pidog()
# demi-position debout
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], speed=50)
# préparation pour les pompes
my_dog.legs_move([[45, 35, -45, -35, 80, 70, -80, -70]], immediately=False, speed=20)
# exécution des pompes
for _ in range(99):
my_dog.legs_move([[90, -30, -90, 30, 80, 70, -80, -70],
[45, 35, -45, -35, 80, 70, -80, -70]], immediately=False, speed=30)
# maintien pendant 10 secondes
time.sleep(10)
# arrêt et demi-position debout
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], immediately=True, speed=50)
Le contrôle des pattes de PiDog dispose également des fonctions suivantes, utilisables conjointement :
Pidog.is_legs_done()
Cette fonction permet de déterminer si les groupes d’angles dans le cache ont été exécutés. Si oui, retourne True
; sinon, retourne False
.
Pidog.wait_legs_done()
Suspend le programme jusqu’à ce que les groupes d’angles dans le cache soient exécutés.
Pidog.legs_stop()
Vide le cache des groupes d’angles.