Pulsanti analogici collegato in parallelo ad un LCD

Buongiorno
In un progetto che sto realizzando ho bisogno di 8 pulsanti e un display LCD 20x4 collegato tramite I2C.
Ho realizzato una scheda con i pulsanti sfruttando la lettura da pin analogico A3, collegando un resistore da 4.7 KOhm tra i diversi pulsanti e usando un resistore da 150 KOhm per il pulldown a GND.
Ho notato, però, che il valore che vado a leggere sul pin analogico varia notevolmente a seconda che all'Arduino Nano sia collegato il display o meno. Ad esempio, lasciando il display scollegato sul pin A3 leggo un valore che oscilla tra 0 e 10, il che è assolutamente accettabile, mentre collegando all'alimentazione anche il display ottengo una lettura intorno a 180.
Premetto che per risparmiarmi di cover saldare il doppio dei cavi ho utilizzato un unico cavo per alimentare sia il display che i pulsanti (5V e GND) e che i cavi restanti sono stati fascettati insieme a questi. Mi sembra assurdo, però, che una semplice interferenza possa variare il risultato di lettura in modo così significativo.
A qualcuno è mai successa una cosa simile?
Ringrazio chi sarà in grado di aiutarmi

Non capisco che schema hai adottato. Puoi fare uno schema?

Normalmente si adotta qualcosa del genere

+5V
---
 |
 +-----+-----+-----+-----+-----+-----+-----+
 |     |     |     |     |     |     |     |
 P0    P1    P2    P3    P4    P5    P6    P7
 |     |     |     |     |     |     |     |
 +-4k7-+-4k7-+-4k7-+-4k7-+-4k7-+-4k7-+-4k7-+-->A3
                                           |
                                          4k7
                                           |
                                          ---
                                          GND

Ma con la resistenza verso GND di pari valore delle altre (per averle tutte uguali). Se poi si vuole un intervallo costante di valori di tensione alla pressione dei vari pulsanti, allora occorre fare quattro conti e resistenze tutte diverse.

Ciao,
P.

P.S. Quanto sono lunghi i fili del I2C?

Con 150kOhm di chiusura, quando nessun pulsante è premuto, hai una linea con un'impedenza di 150kOhm, che è fatta apposta per captare rumore!!!

pgiagno:
Non capisco che schema hai adottato. Puoi fare uno schema?

Normalmente si adotta qualcosa del genere

+5V

|
±----±----±----±----±----±----±----+
|     |     |     |     |     |     |     |
P0    P1    P2    P3    P4    P5    P6    P7
|     |     |     |     |     |     |     |
±4k7-±4k7-±4k7-±4k7-±4k7-±4k7-±4k7-±->A3
                                          |
                                         4k7
                                          |
                                         —
                                         GND



Ma con la resistenza verso GND di pari valore delle altre (per averle tutte uguali). Se poi si vuole un intervallo costante di valori di tensione alla pressione dei vari pulsanti, allora occorre fare quattro conti e resistenze tutte diverse.

Ciao,
P.

P.S. Quanto sono lunghi i fili del I2C?

Lo schema che uso è quello allegato, ma ho sostituito la resistenza da 1 MOhm con una da 150KOhm e quelle da 1K con alcune da 4.7K

Il cavo è lungo all’incirca 35/40 cm

Datman:
Con 150kOhm di chiusura, quando nessun pulsante è premuto, hai una linea con un’impedenza di 150kOhm, che è fatta apposta per captare rumore!!!

Mi consigli di usare una resistenza da 4.7K al posto di quella da 150K?

button.png

Quello schema è una c+--+-a madornale.

Ha ragione Datman, con 35/40 cm di cavo e 150kOhm di resistenza hai un buon captatore di sudiciume elettromagnetico, figurarsi con 1MOhm!.

Lo schema che ti ho proposto è il più semplice, perché usa tutte resistenze uguali. Se però vuoi una distribuzione più uniforme delle tensioni rilevate occorre fare un po' di conti e usare resistenze di valori diversi. Se ti interessa te lo passo.

Ciao,
P.

Cacchio, quello schema mi sembrava anche abbastanza semplice da realizzare.
Proverò a realizzarlo come hai riportato tu nel grafico

Per ora grazie

Ciao, Mattia
Al posto della copia del messaggio e del disegno di pgiagno, che avevamo appena visto, avremmo preferito vedere il tuo schema!