Input porta sempre alto

Ciao a tutti, provando una sketch molto semplice, il programma rispondeva in modo anomalo.
Ho provato ha fare una lettura e poi una stampa sul seriale per vedere come mi leggeva un input che doveva essere a livello Basso.
In realtà sulla seriale me lo stampa sempre a 5, mentre se vado a misurare con il tester sul pin, mi misura zero volt.

Perchè?

Se posti lo sketch forse è più facile capire di cosa parli

Ecco lo sketch semplice semplice

#define BUTTON_AUTO 5 // pulsante attivazione ciclo automatico


void setup() {
  Serial.begin(9600);
  delay(2000);

 pinMode(BUTTON_AUTO,INPUT); // imposto il pulsante automatico come input
}

void loop() {
 int x=digitalRead(BUTTON_AUTO);
Serial.println (BUTTON_AUTO);
 
    
 }

la variabile button_auto conterrà sempre 5, l'hai definita tu così
devi farti stampare x

:confused: Che sbadato

Patrick_M:
la variabile button_auto conterrà sempre 5, l'hai definita tu così
devi farti stampare x

Voglio essere pignolo.

button_auto non é una variabile, anzi non c'é nello sketch. C é key-sensitive e percui button_auto é diverso da BUTTON_AUTO.
BUTTON_AUTO non é una viariabile.

Il "#define BUTTON_AUTO 5" sostituisce via editore di testo prima della compilazione tutti i "BUTTON_AUTO" con "5".

Il codice che viene compilato é

void setup() 
{
  Serial.begin(9600);
  delay(2000);
  pinMode(5,INPUT); // imposto il pulsante automatico come input
}

void loop() 
{
  int x=digitalRead(5);
  Serial.println (5);   
}

@Rifabi
Inoltre se non hai messo una resistenza Pulldown (resistenza tra pin entrata e massa) non avrai una lettura attendibile e stabile.

Ciao Uwe