Veremos como usar las entradas y salidas digitales para detectar cuando se presiona un pulsador y encender un LED. Introducimos el uso detallado de protoboard y como utilizarla para conectar nuestros componentes y cables de interconexión. También veremos la sentencia if con el else para tomar decisiones y el bucle while.
//* Capitulo 3 Primer programa que permite al presionar un pulsador que encienda un led, al soltar el mismo se apaga.*/
void setup()
{
pinMode(2, INPUT); // pin 2 como entrada
pinMode(3, OUTPUT); // pin 3 como salida
}
void loop()
{
if (digitalRead(2) == HIGH) // evaluo si la entrada esta en nivel alto
{
digitalWrite(3,HIGH); // pulsador presionado, encender LED
}
else
{
digitalWrite(3,LOW); // pulsador no presionado, apagar LED
}
}
//Capitulo 3 Segundo programa que al presionar el pulsador mantiene encendido el led hasta que vuelva a presionarse para apagarse.
int PULSADOR = 2;
int LED=3;
int ESTADO=LOW;
void setup(){
pinMode(PULSADOR, INPUT);
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
}
void loop (){
while(digitalRead(PULSADOR) == LOW){ // espera infinitamente hasta que se presione el pulsador
}
ESTADO = digitalRead(LED); // leo estado del LED para saber si esta encendido o apagado
digitalWrite(LED, !ESTADO); // escribo en la salida el valor apuesto al leido con anterioridad
while(digitalRead(PULSADOR) == HIGH){ // espera como funcion antirebote simple
}
}
// Capitulo 3 Tercer programa que al presionarse el pulsador enciende LED por 5 segundos y luego apaga solo.
int PULSADOR = 2;
int LED=3;
void setup(){
pinMode(PULSADOR, INPUT);
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
}
void loop (){
while(digitalRead(PULSADOR) == LOW){ // espera infinitamente hasta que se presione el pulsador
}
digitalWrite(LED, HIGH); // enciende LED
delay(5000); // espera de 5 seg.
digitalWrite(LED, LOW); // apaga LED
while(digitalRead(PULSADOR) == HIGH){ // espera como funcion antirebote simple
}
}