Salve a tutti ragazzi, sono nuovo del forum ma mi preparo già per la prima domanda.
Premetto che ho già effettuato numerose ricerche in tutto il web e sul forum, ma dato che mi piace andare fino in fondo nelle cose, non ho trovato le risposte alla mia curiosità.
Come da Titolo l'argomento sono le resistenze di Pull-Up e Pull-Down: so cosa sono, come funzionano, e a cosa servono, ma ciò che non riesco a capire è come cambi il valore della lettura con digitalRead() sui pin digitali grazie a queste.
Prendiamo ad esempio una resistenza di Pull-Up, connessa ad un pin di input con il classico schema che include un pulsante che apre/chiude il collegamento con la massa: quando il pulsante non è schiacciato, il valore letto sul pin è HIGH, dato che il polo positivo è connesso al pin tramite la resistenza, seppur in modo limitato a causa di quest'ultima.
Quando invece si schiaccia il pulsante, il valore letto da Arduino diventa LOW, dato che si apre la connessione alla massa.
La spiegazione di cui mi ero accontentato inizialmente è che il segnale di Pull-Down riesce a "sopraffare" quello di Pull-Up, essendo più "forte", dato che l'altro è limitato dalla resistenza.
Avendo successivamente visto un'immagine (che allego sotto) dov'era spiegato che i pin digitali sono connessi alla massa , sono nate in me queste 2 cavillose domande:
Che tipo di connessione si stabilisce fra massa e massa per far si che Arduino legga il valore LOW?
Ma soprattutto: una volta schiacciato il pulsante, la connessione al polo positivo, grazie alla quale leggeva il valore HIGH, rimane comunque. Dunque per quale motivo il valore letto è LOW, nonostante cio?
Avendo troppe poche conoscenze di Elettrotecnica ed Elettronica in generale, e pensando che la soluzioni di questi misteri si trovi semplicemente nel capire il comportamento della corrente nel semplice circuito, chiedo a qualche anima pia di svelarmi l'arcano! =(
Grazie mille a tutti in anticipo.