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 problemi post-vendita e affronta 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!
1. Inizializzazione di PiDog
Le funzionalità di PiDog sono implementate nella classe Pidog, il cui prototipo è mostrato qui di seguito.
Class: Pidog()
__init__(leg_pins=DEFAULT_LEGS_PINS,
head_pins=DEFAULT_HEAD_PINS,
tail_pin=DEFAULT_TAIL_PIN,
leg_init_angles=None,
head_init_angles=None,
tail_init_angle=None)
PiDog deve essere istanziato in uno dei seguenti modi, come illustrato di seguito.
Ecco i passaggi più semplici per inizializzare PiDog.
# Importa la classe Pidog
from pidog import Pidog
# Istanzia un oggetto Pidog
my_dog = Pidog()
PiDog è dotato di 12 servomotori, i cui angoli possono essere inizializzati durante l’istanza.
# Importa la classe Pidog
from pidog import Pidog
# Istanzia un oggetto Pidog con angoli di servo personalizzati
my_dog = Pidog(leg_init_angles = [25, 25, -25, -25, 70, -45, -70, 45],
head_init_angles = [0, 0, -25],
tail_init_angle= [0]
)
Nella classe Pidog, i servomotori sono suddivisi in tre gruppi.
leg_init_angles: In questo array, 8 valori definiscono gli angoli di otto servomotori, associati ai pin2, 3, 7, 8, 0, 1, 10, 11. Dal diagramma, è possibile vedere la loro posizione esatta sul robot.head_init_angles: Un array con 3 valori che controlla i servomotori della testa di PiDog per yaw, roll e pitch (n. 4, 6, 5), che reagiscono ai movimenti di rotazione, inclinazione o deflessione del corpo.tail_init_angle: In questo array è presente un solo valore, dedicato al controllo del servomotore della coda (n. 9).
La classe
Pidogpermette di ridefinire i numeri seriali dei servomotori durante l’istanza, se l’ordine dei tuoi servo è diverso da quello predefinito.
# Importa la classe Pidog
from pidog import Pidog
# Istanzia un oggetto Pidog con pin personalizzati e angoli dei servomotori definiti
my_dog = Pidog(leg_pins=[2, 3, 7, 8, 0, 1, 10, 11],
head_pins=[4, 6, 5],
tail_pin=[9],
leg_init_angles = [25, 25, -25, -25, 70, -45, -70, 45],
head_init_angles = [0, 0, -25],
tail_init_angle= [0]
)