Go Down

Topic: tastierino 4x4 e pin (Read 1 time) previous topic - next topic

max95

Ciao a tutti

ho appena acquistato un tastierino 4x4... ho iniziato subito a documentarmi in giro sul suo funzionamento ma tutte le guide per utilizzarlo con arduino vanno ad occupare ben 8 pin digitali...
esiste qualche sistema per ridurli? il tastierino in questione è il seguente:

Michele Menniti

Potresti trasformarlo in un tastierino I2C usando un integrato convertitore come l'MCP23017; lo deduco dal fatto che vedo in giro display I2C col tastierino integrato, ma non ho mai fatto prove.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

max95

ci avevo pensato pure io... xo i pin per i2c sono già occupati poiché ci comando un lcd 16x2...  ;)

ovviamente sto lavorando con Arduino UNO r3

Michele Menniti


ci avevo pensato pure io... xo i pin per i2c sono già occupati poiché ci comando un lcd 16x2...  ;)

ovviamente sto lavorando con Arduino UNO r3

ed il problema dove sarebbe? per quanto ne so I2C è un bus su cui puoi collegare una marea di apparecchiature, perché ognuna di esse ha un proprio indirizzo univoco rispetto alla altre, quindi tutto viaggia su quei due fili, avendo ognuno un ID ben preciso per il riconoscimento.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

max95

giusto... avevo sottovalutato questa cosa... che pirla che sono ahahah scusatemi...

per chi avrà il mio stesso problema/dubbio lascio il link http://playground.arduino.cc/Main/I2CPortExpanderAndKeypads

uwefed

Per una tastiera 4x4 collegata in matrice bastano 8 Pin e percui basta un PCF8574 o MCP23009 e non uno con 16 entrate/uscite.
Ciao Uwe

brunialti


uwefed


Per un bus i2c passivo semplice semplice io uso
http://sandboxelectronics.com/store/index.php?main_page=product_info&cPath=67&products_id=191

arriva con i cavetti

Non capisco come potrebbe servire quella schedina per il problema di leggere la tastiera 4x4. Questa scheda sono solo diversi connettori a 4 pin messi in paralello. Ok Ti da la possibilitá di collegare piú dispositivi I2C ma visto che il I2C patisce della capacitá parasita dei cavi una scheda del genere puó disturbare il corretto funzionamento del Bus.

Ciao Uwe

brunialti

sarà ma funziona. almeno con 4 connessioni : rfid, 2 lcd, arduino...

Michele Menniti

no, quello che ti sfugge è il fatto che il problema iniziale è quello di interfacciare una tastiera 4x4 con il bus I2C, e non lo puoi fare certo con quel duplicatore di porte o come vuoi chiamarlo tu; lì devi avere già la tastiera interfacciata I2C quindi serve il port expander di cui stiamo parlando con Uwe (a prescindere dal modello), quindi non si capisce il tuo primo intervento a cosa fosse indirizzato.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

brunialti

#10
Jan 25, 2013, 08:50 am Last Edit: Jan 25, 2013, 08:57 am by brunialti Reason: 1
Una volta risolta la trasformazione dell'interfaccia del keypad in I2c l'accrocco risolve il problema banale di connettere più device i2c. Io l'ho trovato molto comodo.
La trasformazione della interfaccia può anche essere fatta o come da voi segnalato o usando qualcosa come la schedina sparkfun http://www.sparkfun.com/products/11502 che tra l'altro ha il vantaggio di avere gia funzioni per lo scan del keypad, gestisce anche una linea di interrupt opzionale utile nel caso di intefaccia con dispositivi di input (e costa meno della schedina di  breakout PCF8575 http://www.sparkfun.com/products/8130).

Essendo io un povero soft-man devo compensare la mia ignoranza cercando in giro moduli hw gia precotti....

max95

perdonatemi ma gli ultimi commenti mi hanno confuso... tecnicamente per "leggere" i tasti premuti dal tastierino basta che realizzo questo schema no?



inoltre, so che sembra sciocco, ma avendo anche un lcd collegato a i2c, collego entrambi dispositivi al pin 4-5 e via no? tanto come si diceva in precedenza in questo caso assegno 2 indirizzi diversi per i due dispositivi

Michele Menniti

Ma tu non hai una 4x4? Devi mettere una pull-up da 4k7 per ogni pin di riga, quindi te ne servono 4, di resistenze.
Inoltre devi prevedere due pull-up sulle due linee I2C, basta una coppia sola per tutte le periferiche, se non ricordo male il valore dovrebbe essere tra 2k2 e 3k3.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Go Up