Nota
Ciao, benvenuto nella SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirti a noi?
Supporto Esperto: Risolvi i problemi post-vendita e le sfide tecniche con l’aiuto della nostra comunità e del nostro team.
Impara e Condividi: Scambia suggerimenti e tutorial per migliorare le tue abilità.
Anteprime Esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e anteprime.
Sconti Esclusivi: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni Festive e Giveaway: Partecipa a promozioni e concorsi durante le festività.
👉 Sei pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!
3.1 Testare l’Auto¶
Qui imparerai a scrivere script per far avanzare l’auto, ma devi fare riferimento a Progetti con la Macchina per assemblare l’auto e ottenere una comprensione di base del funzionamento.
Prima di iniziare il progetto, è necessario conoscere i passaggi per utilizzare PictoBlox in Modalità Upload.
Componenti Necessari¶
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un intero kit, ecco il link:
Nome |
ARTICOLI IN QUESTO KIT |
LINK |
|---|---|---|
Starter Kit 3 in 1 |
380+ |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE AI COMPONENTI |
LINK PER L’ACQUISTO |
|---|---|
- |
|
- |
Costruisci il Circuito¶
Il modulo driver motore L9110 è un modulo ad alta potenza per pilotare motori DC e stepper. Il modulo L9110 può controllare fino a 4 motori DC, o 2 motori DC con controllo di direzione e velocità.
Collega i cavi tra il modulo L9110 e la scheda R3 secondo il diagramma sottostante.
Modulo L9110 |
Scheda R3 |
Motore |
|---|---|---|
A-1B |
5 |
|
A-1A |
6 |
|
B-1B(B-2A) |
9 |
|
B-1A |
10 |
|
OB(B) |
Filo nero del motore destro |
|
OA(B) |
Filo rosso del motore destro |
|
OB(A) |
Filo nero del motore sinistro |
|
OA(A) |
Filo rosso del motore sinistro |
Programmazione¶
1. Far avanzare l’auto
Basandosi sul cablaggio sopra descritto, sappiamo che i pin 5 e 6 sono utilizzati per controllare la rotazione del motore destro e i pin 9 e 10 per la rotazione del motore sinistro. Ora scriviamo uno script per far avanzare l’auto.
Dopo aver selezionato la scheda Arduino Uno, passa a Modalità Upload e scrivi lo script seguendo il diagramma qui sotto.
Fai clic sul pulsante Carica Codice per caricare il codice sulla scheda R3. Una volta fatto, vedrai i due motori dell’auto avanzare (se metti l’auto a terra, si muoverà in linea retta, ma potrebbe andare in curva a causa della differenza di velocità tra i due motori).
Se entrambi i motori non avanzano, ma si verificano le seguenti situazioni, devi regolare il cablaggio dei due motori.
Se entrambi i motori ruotano all’indietro contemporaneamente (il motore sinistro ruota in senso orario, il motore destro in senso antiorario), scambia il cablaggio dei motori sinistro e destro contemporaneamente: scambia OA(A) con OB(A) e OA(B) con OB(B).
Se il motore sinistro ruota all’indietro (rotazione in senso orario), scambia i cavi di OA(B) e OB(B) del motore sinistro.
Se il motore destro ruota all’indietro (rotazione in senso antiorario), scambia i cavi di OA(A) e OB(A) del motore destro.
2. Creare un blocco
Per rendere lo script più pulito e facile da usare, inseriamo tutti i blocchi che controllano il movimento in avanti in un unico blocco, e quando lo usiamo, basta richiamare direttamente questo blocco.
Clicca su Crea un Blocco nella palette I Miei Blocchi.
Inserisci il nome del blocco - avanti e seleziona Aggiungi un input, impostando il nome dell’input su velocità.
Trascina i blocchi che controllano l’avanzamento dell’auto in avanti, nota che devi aggiungere il parametro - velocità ai pin 6 e 9.
Richiama il blocco creato nel blocco [Avanti] - avanti. In modalità Carica, il blocco [Quando Arduino Uno si avvia] deve essere aggiunto all’inizio.
Il range di velocità di rotazione del motore è 100 ~ 255.
3. Regolazione della velocità dei motori
Poiché potrebbe esserci una leggera differenza nella velocità dei 2 motori, che porta l’auto a non muoversi in linea retta, possiamo assegnare velocità diverse ai motori sinistro e destro per mantenere l’auto il più possibile in linea retta.
Dato che la mia auto tende a spostarsi lentamente verso destra, qui riduco la velocità del motore sinistro.