Nota
Ciao, benvenuto nella Community di SunFounder per gli appassionati di Raspberry Pi, Arduino ed ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme a noi e ad altri appassionati.
Perché Unirsi a Noi?
Supporto Esperto: Risolvi i problemi post-vendita e affronta le sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Ottieni accesso anticipato ai nuovi annunci di prodotti e alle anteprime.
Sconti Esclusivi: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni e Concorsi Speciali: Partecipa a giveaway e promozioni durante le festività.
👉 Sei pronto a esplorare e creare con noi? Clicca su [here] e unisciti oggi stesso!
2. Movimento delle Zampe
I movimenti delle zampe di PiDog sono implementati tramite le seguenti funzioni:
Pidog.legs_move(target_angles, immediately=True, speed=50)
target_angles: È un array bidimensionale composto da un array di 8 angoli dei servo (chiamato gruppo di angoli) come elementi. Questi gruppi di angoli saranno utilizzati per controllare i servomotori delle 8 zampe. Se vengono definiti più gruppi di angoli, i gruppi non ancora eseguiti verranno memorizzati nella cache.immediately: Se questo parametro è impostato suTrue, la cache viene svuotata immediatamente per eseguire il nuovo gruppo di angoli; se impostato suFalse, il nuovo gruppo di angoli viene aggiunto alla coda di esecuzione.speed: Velocità di esecuzione del gruppo di angoli.
Di seguito sono riportati alcuni usi comuni:
Eseguire un’azione immediatamente.
from pidog import Pidog
import time
my_dog = Pidog()
# mezzo squat
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], speed=50)
Aggiungere più gruppi di angoli alla coda di esecuzione.
from pidog import Pidog
import time
my_dog = Pidog()
# mezzo squat
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], speed=50)
# azioni multiple
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)
Eseguire ripetizioni per 10 secondi.
from pidog import Pidog
import time
my_dog = Pidog()
# mezzo squat
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], speed=50)
# preparazione per i push-up
my_dog.legs_move([[45, 35, -45, -35, 80, 70, -80, -70]], immediately=False, speed=20)
# push-up
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)
# mantenere la posizione per 10 secondi
time.sleep(10)
# fermare e ritornare in mezzo squat
my_dog.legs_move([[45, 10, -45, -10, 45, 10, -45, -10]], immediately=True, speed=50)
Il controllo delle zampe di PiDog include anche le seguenti funzioni utilizzabili insieme:
Pidog.is_legs_done()
Questa funzione viene utilizzata per determinare se il gruppo di angoli nella cache è stato eseguito. Se sì, restituisce True; altrimenti restituisce False.
Pidog.wait_legs_done()
Sospende il programma fino a quando i gruppi di angoli nella cache non sono stati eseguiti.
Pidog.legs_stop()
Svuota il gruppo di angoli nella cache.