Esta librería te permite enviar y recibir comandos X10 desde un módulo Arduino. X10 es un protocolo serie síncrono que viaja a través de las líneas eléctricas de alimentación de corriente alterna (AC), envía un bit cada vez que la señal de potencia AC cruza los cero voltios. Se usa en la automatización del hogar. Puedes encontrar controladores y dispositivos X10 en http://www.x10.com, http://www.smarthome.com, y en otros muchos sitios.
Esta librería ha sido probada utilizando el controlador X10 unidireccional PL513, y el controlador X10 bidireccional TW523. Estos dos controladores son esencialmente unos modems X10, que convierten la salida de 5V del Arduino a señales AC a su cruce por el cero.
Para conectar un Arduino a uno de estos módulos, coge un cable telefónico con un conector RJ-11, y corta uno de sus extremos. Luego cablea los pines de esta manera:
Para la versión 0.3, aquí tienes lo que puedes hacer:
x10(int strLength) - Inicia una instancia de la librería X10 en dos pines digitales. Ejemplo:
x10 myHouse = x10(9, 10); // Inicia X10 con los pines 9 (pin cruce por cero) y 10 (pin de datos) void write(byte houseCode, byte numberCode, int numRepeats) - Envía un mensaje X10, ejemplo myHouse.write(A, ALL_LIGHTS_ON, 1); // Enciende todas las luces del código A de la casa. /* - Obtiene la versión de la librería. Debido a que se añadirán más funciones, imprimir la versión de la librería será una útil herramienta de depuración cuando tengas algún problema con una determinada función. Por ejemplo si estás usando una versión anterior que no tiene la característica que necesitas!! */ version(void) Serial.println(myHouse.version()); // Muestra la versión de la librería
Hay un número de constantes añadidas para que X10 resulte más sencillo. Son las siguientes:
La version 0.3 es compatible con Arduino 0012.
Para una completa explicación de X10 y sus códigos, écha un vistazo a esta nota técnica.