Pin D2 del NANO non sente la massa

Ho uno sketch semplice dove il pin D2 del NANO quando viene messo a Massa tramite un pulsante, dovrebbe accendere per 1 secondo il led BUILTIN montato sul Nano.
Non succede niente, lo sketch è il seguente:

/*******************************************
 * 10 marzo 2022
 * Arduino NANO
 * ATmega 328P
 * Pulsante tra D2 pin5 e GND pin4 del Nano
 *******************************************/
#define Pulsante 2  // D2 pin5  

void setup() {
  pinMode(Pulsante, INPUT);
  pinMode(13, OUTPUT);  
}

void loop() {     
   if(Pulsante == LOW){ 
      digitalWrite(13, HIGH); 
      delay(1000);            
      digitalWrite(13, LOW);  
      }
}

Dove sbaglio?

Lello

Qui NON leggi il pin digitale ma semplicemente testi se 2 == LOW
Ovvero se non fai digitalRead(Pulsante) il linguaggio NON può sapere che x te Pulsante vuol dire leggere un pin

1 Like

Non avevo pensato a questo errore.
Grazie della soluzione.

Lello

Oltre a quanto detto da @nid69ita con quella connessione e quel codice, quando il pulsante D2 non viene premuto, non ha uno stato definito e funge da antenna (può dare risultati casuali).
Devi mettere D2 in PULLUP , (posizionarlo in uno fisso), o tramite un resistore esterno collegato a 5V o usando il resistore interno dell'atmega e configurando il pin nel setup come:

pinMode(Pulsante, INPUT_PULLUP);

Saluti.

1 Like

Grazie del consiglio.
Fatto!

Lello

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.