Baratos Home Automation utilizando módulos de salida sin hilos (3 / 6 paso)

Paso 3: Volver a aplicar el protocolo en el microcontrolador

Una vez que tienes el protocolo extraído del mando a distancia, usted ahora está listo para volver a aplicarlo en tu microcontrolador.  En primer lugar, tenga en cuenta que receptor tenes los datos.  Utilice ese transmisor de frecuencia en su circuito.  Alambre hasta una GPIO disponible pines en el microcontrolador y recuerde que pin es.  También asegúrese de que está conectado el programador de su microcontrolador y tenga en cuenta la frecuencia de reloj de su microcontrolador, que se utiliza como base para retrasos exactos.

Empezar por escribir funciones para pulsos cortos y largos.  A continuación es un pseudocódigo para empezar, implementaciones individuales pueden variar.

void bit_long()
{
set_pin_high();
Delay(HIGH_TIME_LONG);
set_pin_low();
Delay(LOW_TIME_LONG);
}

void bit_short()
{
set_pin_high();
Delay(HIGH_TIME_SHORT);
set_pin_low();
Delay(LOW_TIME_SHORT);
}

Obtener las constantes de tiempo mediante la medición de los anchos de pulso con su analizador o funciones de cursor de alcance.  Utilice la función de retardo apropiado (microsegundos/milisegundo) que mejor se adapte a la anchura medida.  En AVR son _delay_us() y _delay_ms(), ambos de la biblioteca de < util/delay.h >.

Luego, comenzar a implementar sus transmisiones.  Empezar por hacer una función para el preámbulo y una función para la secuencia final, luego hacer funciones para datos internos de cada botón.  Cualquiera puede escribir una función para cada botón, o si usted puede averiguar lo que el protocolo te está haciendo puede escribir una función que se construye el mensaje apropiado de número de salida y entradas de encendido/apagado.  Elegí la primera, como el Protocolo no parecen correlacionar directamente el número de la toma y de encendido y apagado en sus datos, más bien era un pulso largo para la tecla presionada.  Por ejemplo:

void send_preamble()
{
bit_short();
bit_long();
bit_long();
bit_short();
bit_long();
bit_short();
}

Por último, usar estas funciones en un bucle enviar aproximadamente 10 - 20 veces, con el correspondiente retraso entre transmisiones (puede medir este retraso con su alcance o analizador).  Por ejemplo:

para (int i = 0; i < 10; i ++)
{
send_preamble();
send_outlet_1_on();
send_end_sequence();
_delay_ms(10);
}

Entonces construir una interruptor/caja o cascada de if/else instrucción con uno de estos bloques para cada botón, usando estado de número y el interruptor de salida como su las condiciones if/else.

Por último, importar una biblioteca de serial o escribir su propia rutina de interrupción del puerto serie.  En interrumpir la rutina, el número de salida y el estado del interruptor de datos recibidos.  Utilizar variables volátiles que se pueden cambiar desde dentro un ISR, por lo que el bucle principal puede recoger en las variables de sistema y realizar la transmisión deseada.  No olvide inicializar el puerto serie y establecer su velocidad antes de iniciar el lazo principal!

Artículos Relacionados

GROWMAT home automation

GROWMAT home automation

GROWMATes la unidad de automatización de casas, invernaderos, campos para cada vez más frutas, verduras o flores. Puede utilizarse como unidad de automatización independiente, control remoto o sistema de supervisión y seguridad y pueden ahorrar tiemp
ZigBee Home Automation

ZigBee Home Automation

Volverse Kinoma crear un gateway ZigBee Home Automation y su iluminación de control.Paso 1: ResumenMuchos electrodomésticos incluyen bombillas inalámbricas que soporte ZigBee Home Automation, un estándar inalámbrico que permite a los objetos intelige
Home Automation frambuesa y Phidgets

Home Automation frambuesa y Phidgets

En tutoriales anteriores hemos utilizado Frambuesa Pi Phidgets InterfaceKit en coche. Contamos con también configurar un servidor web en frambuesa.En este tutorial que vamos a utilizar la información recopilada para crear un sistema de automatización
Frambuesa pi Home Automation Server

Frambuesa pi Home Automation Server

La frambuesa pi es un ordenador pequeño increíble para el precio. Ahora que tienes una frambuesa pi permite ponerlo a trabajar!Un servidor web no requiere mucho cálculo energía o espacio en disco. Con un poco de php y python ocasional podemos adaptar
Fácil y barato crecen automático sistema

Fácil y barato crecen automático sistema

Hola mundoACTUALIZACIÓN:Actualización 1: 19/10/2014.Me gustaría compartir contigo mi sistema de horticultura más simple todavía. se puede hacer personalizado tamaño - y como barato como $7,60.Si lees un poco sobre la , realmente puede crecer árboles
ESP 8266 Wifi controlado Home Automation

ESP 8266 Wifi controlado Home Automation

ESP8266 es una gran cosa para empezar a IOT y WifiTambién es barato y se utiliza para hacer proyectos interesantes conectados a Internet. Aprende a hacer un sencillo proyecto de IOT con él. El módulo de WiFi de ESP8266 es un autónomo SOC con pila de
Smart Home Automation con comando de voz

Smart Home Automation con comando de voz

Este es un tutorial paso a paso el circuito para la función "Smart Home automatización con comando de voz" del edificio.Descargar nuestro código de proyecto Arduino gratis aquí.Requisitos:• Arduino Uno• LED• Resistencia (220 ohmios)• Módulo Blue
Módulo de Control macro (módulo de salida de la CV)

Módulo de Control macro (módulo de salida de la CV)

Dentro del DAW son generalmente capaces de crear mandos macro. Esto es algo que usted puede hacer para sintetizadores modulares, así. Tal vez que desea controlar la frecuencia de corte y resonancia al mismo tiempo. Pues ahora puedes.Para este instruc
Casa Internet controlado y Robot (Home Automation)

Casa Internet controlado y Robot (Home Automation)

en este instructable te diré cómo conectar tu casa completa (todos los electrodomésticos) a internet para que pueda controlar su cada equipo desde cualquier lugar del mundoHe realizado este proyecto 3 meses y continuamente está funcionando desde ento
Home Automation

Home Automation

Estructura de automatización del hogar* Arduino UNO* Arduino - LiquidCrystal* Arduino Bluetooth módulo* mini Motor Servo* 2 LED
Arduino IR Home Automation v1.0

Arduino IR Home Automation v1.0

Control remoto es que un controlador es un controlador inalámbrico en algunos electrónicos como TV, reproductor de DVD y otros aparatos electrodomésticos.Control remoto envíe pulsos codificados digitalmente de radiación infrarroja a funciones de cont
Inicio Home Automation: Servidor de Web W7500

Inicio Home Automation: Servidor de Web W7500

Voy a introducir WIZwiki-W7500Es crear interfaz WIZnet y usando a hacer de servidor Web.Hace posible a domótica inteligente a este proyectoa continuación Descripción es introducir WIZwiki-W7500 plataforma.ResumenWIZnet WIZwiki plataforma basada en la
Sin hilos controlar un Robot con Arduino y módulos RF!

Sin hilos controlar un Robot con Arduino y módulos RF!

/*Edición 05/05/2016Hola chicos, he estado ocupado con la Universidad y no podía responder a comenta. La mayoría de ustedes quería el código y esquemas, hechas un poco mejor por lo que he hecho los esquemas en Eagle 7.2.0 y subido todo en Github.Aquí
Rápido Termómetro Digital usando barato convertidor de USB a TTL y DS18B20 - sin Arduino o frambuesa Pi

Rápido Termómetro Digital usando barato convertidor de USB a TTL y DS18B20 - sin Arduino o frambuesa Pi

En mi anterior instructable le di una introducción al termómetro Digital uso de DS18B20 y ESP8266 nodemcu con pantalla OLED de SPI y programación utilizando el IDE de Arduino. Requiere conocimientos de electrónica básica, programación y requiere un p