Librería X10

Enviando señales por la linea de corriente
pic
Descrición

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:

pic

Descargar Librería

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:

  • De A hasta F: valores de códigos de hogar.
  • UNIT_1 hasta UNIT_16: valores de códigos de unidad
  • ALL_UNITS_OFF
  • ALL_LIGHTS_ON
  • ON
  • OFF
  • DIM
  • BRIGHT
  • ALL_LIGHTS_OFF
  • EXTENDED_CODE
  • HAIL_REQUEST
  • HAIL_ACKNOWLEDGE
  • PRE_SET_DIM
  • EXTENDED_DATA
  • STATUS_ON
  • STATUS_OFF
  • STATUS_REQUEST

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.

Plantilla Basada en la obra de © 2011 Ansimuz.