Hola a todos.
Hoy os voy a enseñar el desarrollo desde los componentes básicos de un proyecto domótico incluyendo su programación. Mediante un control remoto infrarrojo vamos a encender 4 bombillas, mover un motor servo y encender una alarma.
El montaje que he considerado es el siguiente:
Funcionamiento:
- Botón 1: Enciende/apaga bombilla 1.
- Botón 2: Enciende/apaga bombilla 2.
- Botón 3: Enciende/apaga bombilla 3.
- Botón 4: Enciende/apaga bombilla 4.
- Botón 5: Apaga todas las bombillas.
- Botón 6: Enciende todas las bombillas.
- Botón 7: Mueve el motor a la izquierda.
- Botón 8: Mueve el motor a la derecha.
La programación en C++ es algo complicada, el código es muy largo, os resumiré puntos importantes a continuación:
Tenemos que incluir las librerías del servo y el control infrarrojo al principio del programa:
#include <Servo.h>#include <IRremote.h>
Para iniciar el loop de programación del control remoto construimos el siguiente bloque:
void loop() //algoritmo de la programación que se repitará siempre
{
if (sensor.decode(&lectura)) //Si hay una lectura del sensor IR (Se ha pulsado el control remoto)
{
switch (lectura.value) //cuando cambia alguna tecla
{
Para cada lámpara y la alarma programamos lo siguiente:
case 0xFD08F7: //código de frecuencia botón 1
if (led1 == 1)
{
digitalWrite(13,LOW); //si estaba encendido, lo apaga
led1 = 0;
}
else
{
digitalWrite(13,HIGH); //si estaba apagado, lo enciende
led1 = 1;
}
break;
Importante, los códigos de frecuencia de cada botón (Ejemplo, botón 1: 0xFD08F7), los obtenemos de la siguiente tabla:
No hay comentarios:
Publicar un comentario