Keypad 4x4 analog pinout

Salve a tutti, sono nuovo e un pò inesperto, spero di aver scritto nel posto giusto e con i termini giusti, vi espongo il mio dilemma, ho un keypad 4x4 che mi usa 8 pin si riesce a ridurre il numero di pin necessari per usare il keypad ???
Ho trovato su internet qualche scema e da newby ho provato a fare uno schema di come dovrebbe venire ... potete dirmi se stò scrivendo castronerie.

Grazie

Ciao,
essendo il tuo primo post, ti chiederei cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO ... Grazie.

Guglielmo

si, può funzionare, ma le resistenze le collegherei cosi'

Tasto R1 R2 R1+R2 ** R3** ADC




** 1000**
1 0 0 0
1023
2 0 220 220
839
3 0 560 560
656
A 0 820 820
562
4 1000 0 1000
512
5 1000 220 1220
461
6 1000 560 1560
400
B 1000 820 1820
363
7 2200 0 2200
320
8 2200 220 2420
299
9 2200 560 2760
272
C 2200 820 3020
254
* 3300 0 3300
238
0 3300 220 3520
226
# 3300 560 3860
210
D 3300 820 4120
200

Ti ricordo che cosí puoi premere solo 1 Tasto alla volta e se premi 2 ti riconosce qualche tasto diverso.
Ciao Uwe

Ho visto applicazioni che utilizzano la comunicazione I2C e un PCF8574

http://playground.arduino.cc/Main/I2CPortExpanderAndKeypads

Ciao, io ho usato l'I2C ma, per semplicità ho utilizzato il classico convertitore i2c per display:

che monta il PCF8574 come da schema:
http://www.exp-tech.de/doc/lcd/1602/LCM1602IICV2%20%20Schematic.pdf

Collegando la tastiera a matrice alle uscite P0....P7 del PCF8574.

Il risultato è questo (vabbè, comunque funziona benone :slight_smile: )

160503-213607.jpg

160503-213634.jpg

Io ho risolto diversamente: pull up attivo sui 4 pin analogici, 4 resistenze diverse a massa sulle righe (o colonne)... quando leggo in base all'ingresso (<1023, per sicurezza <1000) ed al valore so' chi è stato premuto... lADC è abbastanza preciso, le resistenze un po' meno: letture empiriche, vedendo lo scarto tra una riga e l'altra ho trovato il valore medio per il controllo...
Prima di sapere del pull-up nativo, avevo realizzato un partitore di tensione...
Niente librerie, 4 pin, it's ok!