Lo primero es el código:
En primer lugar declararemos las variables que contendrán los pines que utilizaremos.
int Boton = 2; //La entrada del botón estará situada en el pin 2.
int Led = 13; //La salida del led estará en el pin 13.
Después crearemos una variable que contendrá el valor del pulsador.
int estado;
Bien ahora viene la parte de declarar el pin del boton como entrada y el pin del led como una salida esto lo haremos dentro del void setup:
void setup()
{
pinMode(Boton,INPUT); //Declaramos el Pin del botón como una entrada.
pinMode(Led,OUTPUT); //Declaramos el Pin del led como salida.
}
Una vez que declaramos los pines escribiremos el programa dentro del void loop, en mi caso al pulsar el botón se encenderá el led de la placa vinculado a la salida 13 mientras permanezca pulsado una vez que lo sueltes tardara medio segundo en apagarse:
void loop()
{
estado = digitalRead(Boton); //Leemos el pin del botón
if(estado == HIGH) //Comparamos el valor del pin
{
//Cada vez que pulsemos el Botón la salida se activará
//mientras el boton este pulsado
digitalWrite(Led,HIGH);
delay(500);
}
else
{
digitalWrite(Led,LOW);
}
}
Una vez finalizado el código nos toca cablear el botón al arduino los botones se cablean a la entrada siguiendo un esquema pull down ya que de esta manera cuando el interruptor este abierto la corriente se dirigida hacia la resistencia dejando un valor 0 en el Pin y si el interruptor esta cerrado la corriente se moverá hacia el Pin dejando un valor lógico HIGH. La resistencia utilizada es de 10Kohm y recordad que yo utilizo el propio led del arduino y por eso no cableo la salida 13.
Ahora solo queda cargar el código en el Arduino y comprobar que el led se enciende cada vez que pulsamos el botón, aquí os dejo el código completo:
//Ejemplo de Botón con arduino
int Boton = 2; //La entrada del botón estará situada en el pin 2
int Led = 13; //La salida del led estará en el pin 13
int estado; //Creamos una variable para guardar el estado del botón
void setup()
{
pinMode(Boton,INPUT); //Declaramos el Pin del botón como una entrada
pinMode(Led,OUTPUT); //Declaramos el Pin del led como salida
}
void loop()
{
estado = digitalRead(Boton); //Leemos el pin del botón
if(estado == HIGH) //Comparamos el valor del pin
{
//Cada vez que pulsemos el Botón la salida se activará
//mientras el boton este pulsado
digitalWrite(Led,HIGH);
delay(500);
}
else
{
digitalWrite(Led,LOW);
}
}
No hay comentarios:
Publicar un comentario