Domanda:
Stacking Arduino Shield (protezione motore, tastiera LCD, sensore LED)
kripton haz
2014-09-09 11:31:52 UTC
view on stackexchange narkive permalink

Sto costruendo un line follower con arduino, qui una parte che userò

Sto usando batterie LiPo 3 celle 11.1v per l'alimentazione.

Sono nuovo qui quindi non sapevo come impilare quello scudo, se ricordo bene posso impilare Arduino e la tastiera LCD, e Arduino e lo scudo motore, ma non sapevo come impilare quei 2 insieme e aggiungere un altro sensore come quel sensore di tracciamento della linea . Posso sapere come risolverlo? grazie.

Quale tastiera LCD stai usando?
questa è la tastiera LCD che sto utilizzando http://www.dfrobot.com/wiki/index.php?title=Arduino_LCD_KeyPad_Shield_%28SKU:_DFR0009%29
Due risposte:
#1
+3
James Waldby - jwpat7
2014-09-09 20:03:42 UTC
view on stackexchange narkive permalink

Il Motor Shield 2A si collega sulla parte superiore di Arduino Uno e la tastiera LCD si collega sulla parte superiore della schermatura del motore. [Ma vedi Modifica 1 di seguito]

Ci sono informazioni migliori sul sensore di tracciamento della linea a 4 canali su uctronics.com dove puoi vedere che è board (con il chip LM339) si collega ad Arduino tramite sei linee: Vcc, Gnd, Out1, Out2, Out3, Out4. Quella scheda del sensore principale non si monta sulla pila, ma può invece essere posizionata dove è conveniente e lascia i suoi quattro potenziometri a livello di comparatore accessibili per la regolazione. p>

Per collegare le sei linee dalla scheda principale del sensore a Uno, probabilmente sarà necessario saldare due connettori (file di pin) a una scheda nello stack. L'uso di intestazioni ad angolo retto (vedere di seguito) consentirà ai perni di uscire dal lato della pila senza interferire con gli altri strati della pila. Una delle intestazioni dovrebbe consentire di collegare le uscite digitali del sensore Out1 ... Out4 a quattro pin analogici o digitali altrimenti inutilizzati e l'altra intestazione dovrebbe consentire di collegare Vcc e Gnd.

6-pin angle header, 0.1" spacing

Modifica 1: nella pagina dello schermo LCD, la sezione 2 (diagramma) mostra Vcc, Gnd e D0-D3 disponibili su l'angolo in alto a destra (l'angolo ad angolo). Quei sei pin probabilmente sono un posto ragionevole per aggiungere un'intestazione angolata a sei pin per la scheda del sensore.

Dato che LCD KeyPad Shield è un modello DFRobot.com, il pinout di riepilogo su shieldlist.org mostra che il suo utilizzo di D4,5, 6,7 sarà in conflitto con l'uso di quelle stesse linee da DFRobot 2A Motor Shield. Esistono diversi modi per gestire un conflitto come questo: 1, utilizza due Uno, uno per scudo; 2, fai in modo che uno scudo o l'altro utilizzi linee diverse; 3, condividi le linee.

Il Metodo 2 potrebbe funzionare come segue: impila lo schermo LCD direttamente su Uno (o qualsiasi altro Arduino compatibile). Oltre a un'intestazione per la scheda del sensore, aggiungere un'intestazione per un cavo alla scheda del motore e pilotare gli ingressi D4-7 della scheda del motore con alcune altre linee da Uno, ad esempio A4-7. [In alternativa si possono rimuovere i pin D4-7 sullo schermo LCD e il ponticello da A4-7 alle linee D4-7 sullo schermo LCD. Questo lascerebbe le schede in un unico stack, ma apporterebbe alcune modifiche importanti alla scheda LCD.]

Il Metodo 3 funzionerebbe come segue: Lo schermo LCD presta attenzione solo a D4 -7 (che dallo schema DFRobot guida DB4-DB7 su un chip LCD TC1602) quando la linea E del TC1602 è in modalità strobo. Consulta le pagine 7 e 8 della copia delle specifiche TC1602 di Adafruit.com, dove i diagrammi dei tempi mostrano tempi di circa mezzo microsecondo per la scrittura o la lettura dal TC1602.

Dovresti eseguire i test con i motori e vedere se funzionano bene nonostante i quattro ingressi allo schermo del motore siano casuali durante gli occasionali mezzi microsecondi in cui i dati vengono scritti sul display LCD. Potrebbe essere necessario aggiungere più diodi o condensatori per sopprimere il rumore elettrico dovuto alla commutazione rapida.

La pagina dello scudo del motore di DFRobot ha collegamenti allo schema di quella scheda e alla sua scheda tecnica del chip L298. La pagina 7 del datasheet dice

Un ponte esterno di diodi è richiesto quando vengono pilotati carichi induttivi e quando gli ingressi dell'IC sono tagliati; I diodi Shottky sarebbero preferiti.

Lo schema della schermatura del motore mostra i diodi; sebbene non disegnati utilizzando i simboli del diodo Schottky, potrebbero comunque essere Schottky (il che darebbe una migliore soppressione del rumore, meno riscaldamento, ecc.). Lo schema mostra anche che JP1, un'intestazione a doppia fila a 16 pin, ha jumper che controllano ENA ed ENB sull'L298. In una "soluzione adeguata" per la condivisione di D4-7 tra l'LCD e gli schermi del motore, abbasseresti ENA e ENB quando si utilizza D4-7 per i / o LCD, il che consentirebbe ai motori collegati di funzionare brevemente, al contrario ad essere improvvisamente comandato di fermarsi o invertire.

Nota, non ho verificato se una delle linee della schermatura LCD è in conflitto con una delle linee della schermatura del motore. Come chiesto in precedenza, quale tastiera LCD stai utilizzando?
Tastiera LCD proprio come in DFRobot qui http://www.dfrobot.com/wiki/index.php?title=Arduino_LCD_KeyPad_Shield_%28SKU:_DFR0009%29 Non sapevo come collegare il pin di intestazione aggiuntivo perché la parte superiore dello stack è la tastiera LCD e non sapevo dove usarla
krypton, vedi modifica
in base al tuo metodo, posso usare ardu nano o mini? perché ho solo 1 uno alla volta. o forse posso usare shiftout proprio come in questo tutorial? http://arduino.cc/en/tutorial/ShiftOut grazie comunque
Nessuno dei due schermi può essere collegato direttamente a un Nano o Pro Mini (che sono larghi circa 1/3 di uno) ma avrebbero invece bisogno di cavi o uno schermo adattatore. In tal caso potresti anche usare un cavo da Uno allo schermo del motore. L'Uno ha abbastanza linee per fare tutto. Vedi modifica sul "** Metodo 2 **".
#2
+1
Tomek Cejner
2016-03-19 06:10:34 UTC
view on stackexchange narkive permalink

L'approccio più elegante sarebbe probabilmente quello di utilizzare schermi controllati dal bus I2C. Ho trovato LCD + tastiera e scudo motore offerti da Adafruit, ad esempio.

Il bus I2C è condiviso da tutti gli slave ad esso collegati e dovresti trovare microinterruttori su ciascuno scudo per impostare il suo indirizzo I2C.

Gli scudi regolari non dovrebbero interferire con le linee I2C, quindi come ultima risorsa puoi mettere uno scudo controllato "in modo tradizionale".

Con "in caso di problemi di individuazione" intendi "quando è necessario risolvere alcuni problemi" o "se si verificano problemi"?
@Greenonline scusa per il linguaggio impreciso, volevo dire "problemi a trovare lo scudo controllato da I2C per il tuo scopo" e ho modificato la mia risposta.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...