Cosa succede se un PIN INPUT entra in contatto con GND?

Sto lavorando ad un progetto che prevederà tanti pulsanti, e per evitare confusione, fili e resistenze superflue vorrei utilizzare il metodo INPUT_PULLUP.
Mi è stato sconsigliato in quanto "se decidi di cambiare pin e ti scordi di mettere il pull up, bruci tutto".. e qui sorge il mio dubbio: se io per sbaglio vado a collegare un pin che non è stato configurato come PULLUP ma è comunque un INPUT, e mi finisce a GND senza resistenze, rischio qualcosa? Perchè io sapevo che, che in condizione di input, il circuito tra pin e alimentazione presenta impedenza altissima per cui dovrebbe essere protetto da grosse richieste di corrente.. sbaglio?
Qualora il PIN non fosse ancora stato configurato né I né O, questo dovrebbe essere automaticamente input, giusto?
Grazie mille so già che mi risolverete il dubbio in due minuti, siete grandi :slight_smile:

aurelias:
...se io per sbaglio vado a collegare un pin che non è stato configurato come PULLUP ma è comunque un INPUT, e mi finisce a GND senza resistenze, rischio qualcosa?

No.

aurelias:
...in condizione di input, il ... pin ... presenta impedenza altissima per cui dovrebbe essere protetto da grosse richieste di corrente.. sbaglio?

No.

aurelias:
...Qualora il PIN non fosse ancora stato configurato né I né O, questo dovrebbe essere automaticamente input, giusto?

aurelias:
...so già che mi risolverete il dubbio in due minuti...

Due minuti, non so. Comunque...

Ciao,
P.

@pgiano ha già fornito tutte le risposte in modo chiaro e diretto, io provo a dare un minimo di elementi in più perchè ragionare sulle cose o ricercare nei posti giusti, può aiutare a fissare meglio i concetti in memoria:

La resistenza di pull’up interna non deve influire con le letture (cioè farlo in modo trascurabile) ma solo dare un riferimento certo qualora non ci fosse un segnale specifico da misurare (pin scollegato o collegato ad un circuito che si comporta analogamente al pin scollegato). Un valore valido (cioè correttamente leggibile) in ingresso va da GND a VCC (ok ho approssimato un pelino, ma la differenza riguardo il quesito in questione è trascurabile), quindi, collegare un ingresso a GND significa semplicemente fargli misurare lo zero in modo certo.

Il pin dichiarato come input presenta una impedenza alta in ingresso: corretto. L’unica imprecisione è nella frase “per cui dovrebbe essere protetto da grosse richieste di corrente” perchè il pin non fornisce corrente, e quindi è improprio parlare di richieste di corrente, però, ho capito quello che volevi dire e il concetto che volevi esprimere è corretto, il pin non sarà soggetto a grosse correnti e quindi non rischia di fare fumata bianca o nera. :smiley:

Il default dei pin è input, lo si legge esplicitamente qui, dove dice: “Arduino (Atmega) pins default to inputs, so they don’t need to be explicitly declared as inputs with pinMode() when you’re using them as inputs.”
Qui serve sempre guardare la documentazione ufficiale e i datasheet per esserne certi.

Due minuti… non so, scusa, non ho misurato, se serve la prossima volta ci sto più attento :stuck_out_tongue:

Maurizio

Capito tutto!! Grazie mille 8)

La resistenza di pull-up si usa solo quando l’informazione all’ingresso è fornita da un dispositivo (transistor, interruttore, pulsante, relè, …) che chiude a massa: quando il dispositivo è aperto, in assenza di una resistenza di pull-uppull-up l’ingresso potrebbe assumere qualunque valore, variabile per interferenzeinterferenze di varia natura. La resistenza di pull-up in quelle condizioni forza l’ingresso a livello alto.