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 sur True, le cache est immédiatement vidé pour exécuter le nouveau groupe d’angles ; si le paramètre est défini sur False, 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 :

  1. 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)
  1. 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)
  1. 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.