sábado, 8 de febrero de 2014

Encender varios leds con mando a distancia y senor de infrarrojos VS 1838B

Vamos a realizar con un mando a distancia y un sensor de infrarrojos, que encienda y apaguen varios LEDs


Para ello necesitaremos:

Arduino
6 LEDs de varios colores
6 Resistencias de 330 Ohm
Sensor de infrarrojos
Mando a distancia
Placa protoboard
La librería <NECIRrcv.h>

Lo conectaremos siguiendo el esquema de esta imagen:

 

El codigo del programa es el siguiente:

//Encender los leds con un mando de infrarrojos
   
    #include <NECIRrcv.h>
    #define IRPIN 8 //Conectamos el sensor de IR en el pin 8

    NECIRrcv ir(IRPIN) ;
    int ledverde = 5;
    int ledamarillo = 3;
    int ledblanco = 6;
    int ledrojo = 2;
    int ledazul = 4;
   

    void setup()
    {

    ir.begin() ;
    pinMode(ledverde, OUTPUT);
    pinMode(ledamarillo, OUTPUT);
    pinMode(ledblanco, OUTPUT);
    pinMode(ledrojo, OUTPUT);
    pinMode(ledazul, OUTPUT);
    }

    void loop()
    {
    unsigned long ircode ;

    while (ir.available()) {
    ircode = ir.read() ;
    switch (ircode) {
      //para encender
      case 4077715200://boton 1
      digitalWrite (ledverde, HIGH);
      break;
      case 3877175040: //boton 2
      digitalWrite (ledamarillo, HIGH);
      break;
      case 2707357440: //boton 3
      digitalWrite (ledblanco, HIGH);
      break;
      case 4144561920: //boton 4
      digitalWrite (ledrojo, HIGH);
      break;
      case 3810328320: // boton 5
      digitalWrite (ledazul, HIGH);
      break;
      //para parar
      case 3125149440: //boton ch-
      digitalWrite (ledverde, LOW);
      break;
      case 3108437760: //boton ch
      digitalWrite (ledamarillo, LOW);
      break;
      case 3091726080: //boton ch+
      digitalWrite (ledblanco, LOW);
      break;
       case 3141861120: //boton cancion atras
      digitalWrite (ledrojo, LOW);
      break;
      case 3208707840: // boton cancion delante
      digitalWrite (ledazul, LOW);
      break;   
    }
    }
    }

Video del resultado:

Si quieres usar cualquier mando a distancia puedes usar este programa para conocer el código de cada botón:

//Programa para Configurar el mando
   
    #include <NECIRrcv.h>
    #define IRPIN 8 // Conectar el sensor de IR en el pin 8
    NECIRrcv ir(IRPIN) ;
   
   

    void setup()
    {
    Serial.begin(9600) ;
    Serial.println("Programa para configurar el mando") ;
    ir.begin() ;
   
    }

    void loop()
    {
    unsigned long ircode ;

    while (ir.available()) {
    ircode = ir.read() ;
  
     
    Serial.print("el codigo es: " ) ;
    Serial.println(ircode,HEX) ;
    }
    }


Parpadeo de led controlado por un LDR

Vamos a realizar un programa que hace parpadear un LED segun las lecturas del LDR

Para ello necesitaremos:

Arduino
1 LDR
1 LED
1 Resistencia de 4,7k Ohm
Placa protoboard

Lo conectaremos siguiendo el esquema de esta imagen:

 

El codigo del programa es el siguiente:

//Parpadeo de led controlado por un LDR


int LightPin = 3; // selecciona el pin de entrada para el sensor de luz
int ledPin = 13; // selecciona el pin para el LED
int val = 0; // variable para almacenar el valor capturado desde el sensor
void setup() {
pinMode(ledPin, OUTPUT); // declara el ledPin en modo salida
}
void loop() {
val = analogRead(LightPin); //lee el valor del sensor
digitalWrite(ledPin, HIGH); // enciende el LED
delay(val);
// detiene el programa por un tiempo
digitalWrite(ledPin, LOW); // apaga el LED
delay(val);
// detiene el programa por un tiempo
}

Video del resultado: