¿Por qué cuando toco el cable de entrada o pongo mi mano cerca de él, se enciende el LED?

0

Soy un principiante en electrónica y recientemente obtuve un arduino y el Manual del Proyecto Arduino y estoy teniendo problemas con el botón pulsador de proyecto.

He seguido las instrucciones y tengo las resistencias correctas, pero cada vez que voy a presionar el botón, el led permanece encendido y si toco el cable o pongo mi mano cerca del cable, el led se enciende.

me estoy perdiendo algo?

A continuación se muestra el circuito y el código que estoy usando ...

const int buttonPin = 2;
const int ledPin = 13;
int buttonState = 0;

void setup(){
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);
}

void loop(){

  buttonState = digitalRead(buttonPin);

  if(buttonState == HIGH){
     digitalWrite(ledPin, HIGH); 
  }
  else{
    digitalWrite(ledPin, LOW);
  }

}
    
pregunta jonnie

2 respuestas

4

Se debe a que el pin del botón está flotando (susceptible a la interferencia electromagnética del ambiente). Cuando mueve la mano o toca la alimentación, el pin del botón puede detectar un voltaje aleatorio que podría estar en el rango "alto".

Piensa en cómo se conecta internamente el botón:

Por lo tanto, en su esquema, todo lo que hace la segunda resistencia es drenar un poco de corriente de la alimentación a tierra, cuando en realidad debería estar funcionando como la resistencia desplegable para el pin del botón.

Solución: Si mueve la pierna derecha de esa resistencia sobre dos orificios al otro lado del botón, debería funcionar.

    
respondido por el Shubham
3

También soy un principiante y probé el mismo código hace unos días.

Así que intenta conectar el botón de esta manera:

TambiénsemencionaenelsitiodeEnergia:

"Los pulsadores externos se pueden conectar a través de resistencias PULL-UP o PULL-DOWN a cualquier pin digital I / 0".

Así que modifica tu código de esta manera:

pinMode(buttonPin, INPUT_PULLUP);

Espero que funcione!

    
respondido por el Adam

Lea otras preguntas en las etiquetas