Practica 3 : Control remoto infrarrojo con Arduino.
Consiste en que un led prenda y apague con un mando a
distancia (control ) para ello necesitamos el siguiente material.
* 1 Resistencia de 330 homs.
* 1 Led.
* 1 Receptor.
* 1 Capacitor de 47 microfaradios.
* 1 Resistencia de 47 homs
* Protoboard.
* Placa Arduino.
Comenzaremos armando nuestro protoboar, con los materiales
ya obtenidos primero conectamos nuestra
resistencia de 330 homs y le conectamos un led y mandamos a tierra en el
protoboard después conectaremos con un cable de arduino o cable UTP a la placa
de arduino en el PIN 5v.
![]() |
| Fig.1 Conexion de Resistencia. |
![]() |
| Fig.2 Conexion de Led. |
Después conectaremos nuestro receptor en el proto de modo
que mire hacia el frente, cada una de sus tres patitas tiene diferente conexión.
* La primer patita va conectado a el capacitor de 47
microfaradios y de ahí se conecta a la resistencia de 47 homs y de la
resistencia va conectado a Vcc.
* La segunda patita va conectado al mismo capacitor de 47
microfaradios y después se conecta a GND
o a tierra.
* La tercera patita se conecta directamente a la placa
Arduino en el PIN 10.
![]() |
| Fig.4 Receptor. |
![]() |
| Fig.3 Receptor. |
Continuamos ahora con la programación en la app de arduino para
ello tenemos que sacar los códigos de un control remoto.
Para que el compilador pueda correr sin problemas este
código, debes tener instalada la librería
Una vez descargada debes descomprimirla y pegar todo el
contenido dentro de la carpeta librerías de Arduino.
Cuando el compilador no emita ningún error en el código, será
enviado a la tarjeta Arduino y deberás abrir el Monitor Serial que contiene el
compilador, presionas un botón de tu control remoto y podrás ver en el Monitor
Serial el código hexadecimal que genera el botón al ser presionado, como en la
imagen a continuación:
![]() |
| Fig.5 Control |
En el monitor serial aparecieron los códigos al presionar
los botones 1(0xFD609F), 2(0xFD906F) y 3(0xFD807F).
Por el momento usaremos el control y al receptor infrarrojo
como interfaz de usuario, manipularemos el encendido y apagado de un led conectados a los puertos digitales de
nuestra tarjeta Arduino.
Continuamos
con la programación en Arduino y para ello primero importamos las librerías de
IRemote y por segundo declaramos nuestras variables que vamos a utilizar:
Ejemplo:
#include <IRremote.h>
decode_results results;
int boton = 10;
int Led=5;
int ban=1;
// Ya despues inicializamos nuestras variables como entrada y salida.
IRrecv irrecv(boton);
void setup(){
Serial.begin(9600);
pinMode(boton,INPUT);
pinMode(Led, OUTPUT);
irrecv.enableIRIn();
}
//Aqui creamos nuestro codigo para ejecutarlos en la placa arduino y posteriormente en nuestro circuito.
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value);
if ((results.value==2704) && (ban== 1)){
//Declaramos que si el valor del codigo es igual al codigo de nuestro control.
// Entonces bandera va a ser igual a 1 y nos mandara un encendido de el led por un tiempo de 200 microsegundos.
//Y bandera queda en cero para despues que se aga otra pulsasion el valor vuelva a pasar por la sentencia y se vuelva a ejecutar.
digitalWrite(Led,HIGH);
delay(200);
ban=0;
}
else{ // En lo contrario de esta sentencia el led no encendera hasta que se ejecute el primer codigo con la sentencia if .
digitalWrite(Led,LOW);
ban=1; // cuando bandera sea igual a 1 entonces terminara el recorrido.
}
irrecv.resume();
}
}






No hay comentarios:
Publicar un comentario