Sto portando avanti un progetto che comprende un arduino nano, un sensore mrfc522, un LCD I2C più vari pulsanti e attuatori che si "mangiano" quasi tutti i pin digitali a disposizione. Restano 6 pin analogici e 2 pin digitali.
Dovendo introdurre anche un keypad a 16 tasti, avevo pensato di sfruttare la configurazione con partitori resistivi, che consente di occupare un solo pin analogico. Per provare il programma ho comprato un tastierino cinese tipo questo e ho montato lo schema suggerito qui.
Purtroppo non funziona. Il motivo è semplice: i tasti non hanno una resistenza di contatto molto piccola, che non influenzerebbe la rete esterna di resistori, ma una resistenza di parecchie decine di Ohm, in alcuni casi anche 800 (e pure variabile), che falsano completamente i risultati e introducono numeri a caso o, talvolta, nessun numero. Pazienza; in attesa di un nuovo keypad (stavolta NON cinese) ho provato a proseguire il progetto connettendo la tastiera in modo canonico (4 righe x 4 colonne). Ho sei pin analogici: A0, A1, A2, A3, A6, A7 e due pin digitali: 2 e 8. I pin A4 e A5 sono riservati alla I2C del display. Provato e, sorpresa: non funzionano la terza e quarta colonna, quelle connesse ai pin A6 e A7. Pensando a un errore ho spostato le due colonne su A4 e A5 e, sorpresa: il keypad funziona.
Conclusione: non comprate keypad cinesi se non per utilizzarli in forma canonica (libreria: keypad.h).
Domanda: qualcuno sa perché i pin A6 e A7 non funzionano con la libreria keypad.h?
Grazie,
Ciao,
P.