El objetivo es programar un LED para que parpadeé de forma intermitente con una frecuencia de x segundos, es decir, se va a programar un código encargado de encender y apagar un LED (haciendo uso de la salida digital). Este suele ser uno de los primeros proyectos con arduino.
El código es:
#include <IRremote.h>
#define RECV_PIN 12 //Recibe señal infrarrojo en pin 12
#define LED 13 //Define el pin LED
#define L 16738455
#define UNKNOWN_L 1386468383
bool state = LOW; //Define la variable en inactivo
unsigned long val;
IRrecv irrecv(RECV_PIN); //Inicia la recepción en el pin
decode_results results; // Decodifica los resultado
void stateChange() { // Función de cambio del Led
state = !state;
digitalWrite(LED, state);
}
void setup() { //Función al iniciar el arduino
pinMode(LED, OUTPUT); //Pone el Led como salida
Serial.begin(9600); // Define los 9600 baudios a los que trabaja la frecuencia del mando
irrecv.enableIRIn(); // Empieza a recibir
}
void loop() { // Función del programa repetida
if (irrecv.decode(&results)) {
val = results.value;
Serial.println(val);
irrecv.resume(); // Recibe el valor
delay(5000); // Realiza el cambio cada 5 segundos
if(val == L || val == UNKNOWN_L) {
stateChange(); // Si corresponde llama a la función del cambio
}
}
}
Importamos la librería IRemote con la que recibimos la señal infrarroja por el pin 12, y vamos a definir el pin 13 para que realice nuestro parpadeo. Colocamos la variable como inactiva e iniciamos la recepción del pin decodificando los resultados, ahora vamos a hacer que nuestro led cambie.
Ponemos el Led como salida y definimos los baudios de 9600 para la frecuencia del mando y recibimos nuestro valor, el cambio de parpadeo se producirá cada 5 segundos. Al ejecutar el código se deberá establecer en el pin digital 13 un valor alto (HIGH), esperamos 5 segundos (5000 milisegundos). Este procedimiento se realiza en la función loop() ya que se repite indefinidamente.
Video de demostración: Parpadeo Led
Este proyecto ha sido realizado basándose en el código por defecto de Smart Robot Car Kit 3.0 Plus.
Realizado por: Kevin Maldonado Pico y Laura Tovar Pérez