Sommario:
- Forniture
- Passaggio 1: battiscopa
- Passaggio 2: test dell'LCD e della tastiera I2C
- Passaggio 3: controllo del servo
- Passaggio 4: prodotto completato
Video: Servo tester Arduino: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Qui dimostriamo come controllare un servo da un Arduino senza un computer. L'uso di questa interfaccia portatile accelera notevolmente il processo di prototipazione, quando si determinano i limiti per la rotazione del servo. È particolarmente utile quando hai molti servi, come facciamo noi.
Se stai usando questo Instructable come parte della serie Modified InMoov Robot, tieni presente che questa è una versione non finita del pannello di controllo, montato sul retro del robot. Puoi usarlo come abbiamo fatto noi, per aiutare a determinare i limiti del tuo servo.
Se speri solo di controllare alcuni servi con il nostro metodo per un altro progetto, o solo per divertimento, questo Instructable è ancora per te, quindi non lasciare la pagina! Tieni presente che alcune immagini hanno delle note, quindi guardale singolarmente.
Iniziamo!
Forniture
Non tutti i materiali di consumo sono elencati qui, si prega di leggere l'intero Instructable
- 1 x Arduino Uno
- 1 x modulo di alimentazione, convertitore step-down DC-DC 5A (abbiamo usato questo modulo ma potresti anche usare qualcosa di simile)
- 1 x LCD I2C (questo è quello che abbiamo usato, ma qualsiasi LCD seriale o praticamente qualsiasi LCD standard funziona)
- 1 x tastiera a matrice 4x4 (ad esempio)
- Una breadboard e/o una perf board. Se stai usando la scheda perf avrai bisogno di pin di intestazione come quelli che trovi qui, così come tutta l'attrezzatura necessaria per la saldatura.
- Ponticelli maschio-maschio, maschio-femmina, femmina-femmina; resistori, LED e fili breadboard assortiti.
- Una specie di battiscopa. Abbiamo usato acrilico trasparente da 1/4 . Puoi usare qualsiasi materiale insuperabile e facile da forare.
- Cerniere, viti, dadi/bulloni, supercolla
Passaggio 1: battiscopa
Dovrai creare una base robusta per i tuoi dispositivi elettronici. Se lo stai realizzando per il Robot InMoov modificato, dovrà ospitare un altro Arduino Uno (forse Mega), un Raspberry Pi3 e diverse breadboard e/o schede perf per il controllo servo/sensore. Il nostro pannello di base era di circa 7x15 . Potete vedere le foto sopra per il layout generale dei moduli. Abbiamo impostato la tastiera e l'LCD sul coperchio in modo che il pannello debba essere aperto solo in caso di guasto, prototipazione o manutenzione Come puoi vedere, il coperchio si incerniera dal basso e si aggancia in alto tramite del velcro.
Prova a organizzare i tuoi microcontrollori su un lato della scheda. Il modulo di alimentazione non è abbastanza potente per guidare tutti i tuoi servi sul robot completato. Infatti, non può nemmeno pilotare 3 servocomandi ad alta coppia del tipo utilizzato nell'avambraccio senza che l'interruttore di corrente interno tolga l'alimentazione. In ogni caso, l'esempio di codice fornito funziona solo per un oggetto servo, quindi puoi testare con questa configurazione. Posiziona questo modulo vicino ai controller poiché questo sarà il loro regolatore di potenza, oltre a fornire energia ad alcuni micro servi che drenano corrente di stallo irrilevante, ma questo è per dopo…
Imposta l'LCD e il tastierino all'esterno della cover che stai utilizzando, o di lato, ma vicino ad Arduino.
Se lo stai facendo da solo, prova comunque a configurare la tua scheda in un layout simile. Potrebbe non essere necessario il coperchio superiore, né avrai bisogno di 3 breadboard, ma i componenti devono essere disposti in modo logico, come l'ultima foto di un altro progetto, che utilizza anche una tastiera e un display LCD. Puoi sostituire il circuito a sinistra con una breadboard o ometterlo del tutto.
Passaggio 2: test dell'LCD e della tastiera I2C
Ora andremo avanti e testeremo contemporaneamente la tastiera e l'LCD. Effettuare i collegamenti come mostrato nell'immagine sopra ed eseguire il codice allegato. Dovrai scaricare le librerie ZIP per liquidCrystal_I2C.h se non le hai già; inoltre, dovrai importare le librerie Keypad.h e Wire.h (questo può essere fatto nell'IDE).
In allegato anche il file Fritzing. Non hai ancora bisogno di alimentare nulla dal modulo di alimentazione, anche se potresti farlo se lo volessi. L'Arduino avrà abbastanza energia dal cavo USB, tramite il quale carichi il codice.
Quando carichi il tuo codice, il display LCD dovrebbe chiederti di premere un tasto sulla tastiera; una volta premuto, il display LCD stampa il tasto premuto. Potrebbe essere necessario modificare il layout della matrice della tastiera; vedere i commenti nel codice per chiarimenti.
Passaggio 3: controllo del servo
Ora faremo un ulteriore passo avanti con questo progetto e aggiungeremo un servo. Devi collegarlo al Digital Pin 10, come è impostato nel codice, oppure puoi cambiarlo in base alle tue esigenze. Segui il diagramma di Fritzing sopra; è lo stesso del precedente ad eccezione del servo, del LED a catodo comune RGB e del buzzer. Gli ultimi due sono utilizzati per integrare l'interfaccia utente: gli avvisi e lo stato verranno visualizzati sul LED e attraverso il cicalino. Vediamo sopra come stiamo usando il servo tester completo per impostare i limiti per l'avambraccio e la mano robotici InMoov.
Scarica il codice allegato ed eseguilo. Premendo A si apre un pannello informativo; tutto il resto dovrebbe essere autoesplicativo.
A questo punto è possibile utilizzare il modulo di potenza per alimentare separatamente il servo; specialmente se c'è un'alta probabilità che il servo raggiunga la corrente di stallo.
Se lo desideri, puoi montare il cicalino e il LED su una scheda perf, come mostrato sopra. Questo è utile perché servirà in seguito come breakout board per i servi, ed è nel complesso più ordinato.
Prova a inserire un valore maggiore di 180 gradi per il servo- guarda cosa succede!
Passaggio 4: prodotto completato
Ora puoi controllare i servi con questa interfaccia manuale. Alcuni suggerimenti sono menzionati qui.
Risoluzione dei problemi:
-L'LCD non funziona: controlla tutte le tue connessioni e di aver inizializzato l'LCD con il numero corretto di righe e colonne
-La tastiera non funziona: controllare i collegamenti
-La tastiera funziona, ma vengono stampati numeri errati: qui hai due alternative. È possibile rietichettare la matrice nel codice (cioè se si stampa A invece di 1, rietichettare 'A' in '1'), oppure è possibile rifare il cablaggio, prestando particolare attenzione a garantire che tutti i fili vadano a i pin giusti su Arduino.
-Il LED non funziona: assicurati di utilizzare un LED a catodo comune (massa comune). In caso contrario, puoi invertire tutti i segnali che gli invii (cioè cambiare HIGH in LOW) e collegare l'anodo comune a +5V.
Presto pubblicheremo un breve video Youtube che mostra le caratteristiche di questo dispositivo; così come un'intera serie sulla costruzione del nostro Robot InMoov modificato. Puoi leggere di più sull'originale InMoov qui. Se questo Instructable viene inserito in un concorso, votalo! Qualsiasi cosa vinciamo ci aiuterà ad accelerare il progetto e, di conseguenza, ulteriori Instructables su questo argomento.
Questo Instructable è stato modificato l'ultima volta il 5 ottobre 2019.
Consigliato:
Servo tester a 16 canali con Arduino e stampa 3D: 3 passaggi (con immagini)
Servo tester a 16 canali con Arduino e stampa 3D: praticamente tutti i progetti che ho realizzato di recente mi hanno richiesto di testare alcuni servi e sperimentare le loro posizioni prima che entrino nell'assieme. Di solito faccio un tester servo veloce su una breadboard e uso il monitor seriale nell'ardui
Tester IC, amplificatore operazionale, tester timer 555: 3 passaggi
IC Tester, Op-Amp, 555 Timer Tester: tutti i circuiti integrati difettosi o sostitutivi sono in giro, ma se si mescolano tra loro, ci vuole molto tempo per identificare uno difettoso o buono, in questo articolo impariamo come possiamo creare IC tester, continuiamo
Arduino Triple Servo Tester: 6 passaggi (con immagini)
Arduino Triple Servo Tester: attualmente sto costruendo diversi robot ambulanti, tutti alimentati da più servi. Il problema sorge quindi nell'elaborare l'estensione del movimento di ciascun servo l'intervallo di movimento disponibile. Inoltre, sto cercando di capire che tipo di andatura è
Tester per tester e multimetro Arduino: 4 passaggi
Arduino Multimeter and Components Tester: Ciao, questo è un mio dispositivo Arduino multifunzionale. Può essere utilizzato per testare sensori collegati a pin analogici, misurare la resistenza, misurare la caduta di tensione del diodo. Può misurare la temperatura ambiente, ha costruito in continuità t
Tester di capacità della batteria agli ioni di litio (tester di alimentazione al litio): 5 passaggi
Tester di capacità della batteria agli ioni di litio (tester di alimentazione al litio): =========== AVVERTENZA & ESCLUSIONE DI RESPONSABILITÀ ==========Le batterie agli ioni di litio sono molto pericolose se non maneggiate correttamente. NON SOVRACCARICARE / BRUCIARE / APRIRE Pipistrelli agli ioni di litio Tutto ciò che fai con queste informazioni è a tuo rischio====== =====================================