Go Down

Topic: Se enciende el Led (mínima tensión) aunque no se oprima el pulsador. (Read 139 times) previous topic - next topic

pskplaquita

Buen día, muchas gracias por leerme.
Estoy iniciando con Arduino. Tengo una placa Mega 2560.
Voy por la segunda práctica, de un curso que encontré en youtube, en la que se debe prender un Led por medio de un Pulsador.
Me encuentro con un problema que no logro resolver y está resumido en el título. Al iniciar el programa, se enciende el Led, con una mínima tensión, sin que se oprima el pulsador y queda en ese estado hasta que si se oprime y entonces recibe los 5v y prende completamente. Una vez se suelta el Pulsador vuelve a quedar encendido con baja intensidad cunado debería apagarse.
Intenté unas cuantas cosas y no doy con la solución, no sé de donde le llega esa tensión al Led. Ojalá puedan desasnarme y ayudarme. Copio el código:

Code: [Select]

int valuepuls = 0;
void setup() {
  
  pinMode (50, OUTPUT); //pin para led, de salida
  pinMode (22, INPUT); //pin para pulsador, de entrada
}

void loop() {
  
valuepuls = digitalRead (22);
  if (valuepuls == HIGH) // PULSADOR PULSADO
  {
    digitalWrite (50, HIGH); // LED = ON
  }
  else
  {
    digitalWrite (50, LOW); // LED = OFF
      }

}



y adjunto la imagen de la conexión.


CrossRoads

Use the internal pullup resistor to keep the pin HIGH until the button is pressed.


Change these lines: 

pinMode (22, INPUT); // push button pin, input


if (valuepuls == HIGH) // PUSH BUTTON


To these:

pinMode (22, INPUT_PULLUP); // push button pin, input


if (valuepuls == LOW) // PUSH BUTTON


Wire button to connect 22 to Gnd when pressed.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up