Problema di comunicazione tra Arduino Uno R3 e Keypad LCD della DF Robotic

Ciao a tutti, apro questo topic perche non riesco a risolvere un problema su un mio sistema Arduino. Quello che voglio fare è realizzare una testa motorizzata e per farlo ho seguito i consigli sul blog di Mauro Alfieri. Ho acquistato un Arduino UNO R3 e una motor shield R3 Arduino da Robot Italy e una Keypad LCD della DF Robot. In pratica LCD non mi consente di proseguire con alcune operazioni. Ho come sistema operativo Windows 7 e come IDE utilizzo la versione 1.0.4. Ho fatto varie prove per capire dove sia il problema ma non ne sono venuto a capo. Utilizzando solo Arduino UNO ho fatto la prova led e funziona tutto, aggiungendo la motor shiel con un motore passo passo bipolare ho eseguito dei comandi di torazione di quest'ultimo e funziona tutto. Ho eseguito un test per verificare il funzionamento dei tasti del keypad LCD collegandolo solamente ad Arduino UNO e togliendo la motor shield e funziona tutto. Il problema esce quando vado a collegare in pila tutte e tre le schede e inserendo lo sketch sottostante. Praticamente mi esce il messaggio di Benvenuto e poi mi chiede in attesa di comandi ed è tutto. Il programma non prosegue e continua a chiedermi l'attesa dei comandi senza passare alle fasi successive. Non riesco a capire quale possa essere il problema, credo centri qualche cosa con il Pin A0 ma non capendo molto di elettronica non so nemmeno cosa devo fare per verificare. Mi scuso fin da ora se scriverà qualche termine non appropriato in elettronica. Ma non so veramente dove sbattere la testa. Ciao =(

Non mi lascia inserire il codice, mi dice che supero i 9500 caratteri. Eppure lo inserisco nel tag code. Bha, inserisco il link dove poterlo visionare... http://www.mauroalfieri.it/elettronica/dolly-photo-conclusione.html

Se impili più shield uno sopra l'altro devi controllare che non utilizzino gli stessi pin di arduino. Se usano gli stessi pin e non sono previsti jumper o deviatori per selezionare pin diversi gli shield sono da considerarsi incompatibili. Una soluzione puo essere quella di non impilare gli shied ma collegarli con cavetti volanti in modo da utilizzare i pin rimanenti. Altra soluzione, ma non l'ho mai provata ne verificata, sarebbe quella di utilizzare uno shield che incroci i segnali, tipo questo: http://www.robot-italy.com/it/go-between-shield.html

In pratica mi conviene prendere dei cavetti M/F e provare a fare i collegamenti volanti tra le 3 shield. Da quello che ho capito su vari post letti, il problema potrebbe essere il pin A0, quindi potrei sostituire i comandi del Pin A0 su un'altro libero modificando di conseguenza lo sketch? Aggiungo delle foto per farvi capire meglio.

L'Arduino Motor Shield (http://arduino.cc/en/Main/ArduinoMotorShieldR3) usa i pin A0, A1, 8, 9, 10, 11, 12 e 13. LCD Keypad Shield di DFRobot (http://www.dfrobot.com/index.php?route=product/product&path=35_39&product_id=51#.UVXGHBzAzpp) usa i pin 4, 5 ,6, 7, 8, 9, 10 e A0. In conflitto ci sono i pin A0, 8, 9 e 10.

Puoi montare la Motor Shield sopra Arduino e collegare l'LCD Shield con dei cavetti maschio-femmina in modo da incastrarli bene nei pin di una e dell'altra scheda. Sono liberi i pin 2, 3 e A2, A3, A4 e A5 che puoi usare come digitali rinominandoli 16, 17, 18 e 19. Nello sketch dovrai cambiare i pin.

Buon divertimento. :grin:

Grazie mille PaoloP, questo mi è stato di grande aiuto. Non capendone molto ora posso provare tranquillamente. Appena mi arrivano i cavetti M/F provo e poi vi farò sapere. grazie ancora

Bene, mi sono arrivati i cavetti e tutto l'occorrente e ho provato a far delle modifiche senza nessun risultato positivo. In piu nello sktch non son riuscito a trovare i punti da cambiare. :( Sono un disastro!

Ciao Roro82, sono l'autore del Dolly, Mauro Alfieri, che versione della KeyPAd LCD possiedi, ho notato che ci sono delle differenze tra la versione 1.0 e la 1.1

Qunado incontri difficoltà sui miei articoli trovi l'aiuto che ti occorre commentando l'articolo stesso.

Mauro