tastierino 4x3 a display lcd

Salve; ho un problema che mi affligge... Non riesco a capire come collegare arduino ad un display lcd e ad un tastierino. Vorrei visualizzare i tasti che premo sul tastierino sul display lcd. Avevo pensato di collegare i pin del tastierino agli ingressi analogici di arduino e il display a quelli digitali ma il tastierino possiede 8 pin e gli analogici sono 6. Come devo fare???

A questa pagina numerosi esempi di collegamenti: http://forum.arduino.cc/index.php?topic=146152.0

O dal sito di xxxpighi: http://www.pighixxx.com/abc-arduino-basic-connections/

Oppure puoi usare questo mio schema.
Testando il valore ADC di un ingresso analogico di Arduino puoi determinare il tasto premuto.

Il collegamento proposto da @cybhers ti permette di usare un solo analogico. Ottimo.
@naru però fai attenzione che difficilmente otterrai esattamente quei valori. Devi fare un pò di prove e nel codice software usare degli if con un intervallo per sapere quale tasto hai premuto.
Ovvero se quando premi 1 ottieni circa 80 ti conviene un codice del genere:

int val=analogRead(pinKey);
// Serial.println(val);   // stampato su monitor seriale per verificare i valori reali
if(val>=75 && val<=85)   // da verificare nel caso reale 
{ myKey='1'; // tasto 1
} 
else if(val>=105 && val<=113)  
{ myKey='2'; // tasto 2
}
... eccetera

nid69ita: Il collegamento proposto da @cybhers ti permette di usare un solo analogico. Ottimo.

ma permette anche il riconoscimento solo se viene premuto un unico pulsante. Se vengono premuti 2 non funziona o meglio dire lo sketch Ti riconosce un altro tasto premuto. Ciao Uwe

Grazie a tutti dei consigli ma, sinceramenre non riesco a capire lo schema di cyber... Perchè alcuni piedini sono collegati a +5v ed altri sono collegati sull'ingresso analogico??? In questo modo arduino non vede solo quelli collegati sull'analogico?

Una tastiera è una matrice di pulsanti, un pulsante chiude una pista che collega qualcosa a qualcos'altro. Per far leggere uno stato, il pulsante si collega spesso ad un'alimentazione, tipo +5V, e premendolo puoi vedere sul pin la pressione mediante il passaggio del pin stesso allo stato alto (perché collegato ai 5V). Con lo schema di Cyberhs si usano dei partitori di tensione ed un pin analogico perché invece di leggere un unico stato (+5V, ossia alto) puoi leggere più valori di tensione, quindi con un solo pin puoi leggere più pulsanti diversi perché ognuno, grazie ai partitori di tensione, "presenterà" al pin analogico una differente tensione d'ingresso.

Quindi si collegassi tutti i piedini a 5v , cosa accadrebbe?

Che non funzionerebbe più nulla …

Quel sistema si basa sulla legge di Ohm …
… hai delle resistenze che vengono messe in serie messe tra positivo e negativo e tu leggi la tensione in mezzo al partitore resistivo che, appunto, crei premendo un pulsante. I valori delle resistenze sono scelti con una ben precisa logica per avere determinati valori di tensione.

Se non ti è chiaro … ti suggerisco di studiare un po’ di elettronica di base … visto che questi sono proprio i fondamenti … :wink:

Guglielmo

@narute, forse non tieni conto che dentro il keypad c'e' un circuito (minimo) ma c'e'

nid69ita:
Il collegamento proposto da @cybhers ti permette di usare un solo analogico. Ottimo.
@naru però fai attenzione che difficilmente otterrai esattamente quei valori. Devi fare un pò di prove e nel codice software usare degli if con un intervallo per sapere quale tasto hai premuto.
Ovvero se quando premi 1 ottieni circa 80 ti conviene un codice del genere:

int val=analogRead(pinKey);

// Serial.println(val);  // stampato su monitor seriale per verificare i valori reali
if(val>=75 && val<=85)  // da verificare nel caso reale
{ myKey=‘1’; // tasto 1
}
else if(val>=105 && val<=113) 
{ myKey=‘2’; // tasto 2
}
… eccetera

Il problema di questo sistema analogkeypad e’ il fatto che se tieni premuto un qualunque tasto, continui a visualizzarlo. Sarebbe meglio far in modo che indipendentemente per quanto tu prema il tasto, salvi/visualizzi solo UNA volta quel valore.

@paolox3box Che senso ha rispondere dopo 1 anno e mezzo a un post?

Presentati e saluta!

Ciao Uwe

paolox3box: Il problema di questo sistema analogkeypad e' il fatto che se tieni premuto un qualunque tasto, continui a visualizzarlo. Sarebbe meglio far in modo che indipendentemente per quanto tu prema il tasto, salvi/visualizzi solo UNA volta quel valore.

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni e a leggere il regolamento se non lo hai già fatto: Regolamento Qui una serie di link utili, non inerenti al tuo problema: - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - qui le pinout delle varie schede by xxxPighi: Pinout - qui una serie di link [u]generali[/u] utili: Link Utili