Эта библиотека позволяет отправлять и получать команды протокола X10 от модуля Arduino. X10 - это синхронный последовательный протокол, который передается по линиям электропередач переменного тока, отправляя бит каждый раз, когда мощность переменного тока пересекает ноль вольт. Используется в домашней автоматизации.
Эта библиотека была проверена с помощью PL513 - одностороннего X10 контроллера, а TW523 - с помощью двустороннего X10 контроллера. Оба они по сути являются модемами X10, преобразуя выходное напряжение 5В Arduino в сигналы переменного тока при пересечении нуля.
Функции:
x10.begin (rxPin, txPin, zeroCrossingPin) - инициализировать экземпляр библиотеки X10 на трех цифровых выводах, например, x10 myHouse = x10.begin(8, 9, 10); инициализирует X10 на пинах 9 (пин для пересечения нуля) и 10 (пин данных). Пин rxPin объявлен для будущего использования, когда будет реализован прием.
На данный момент вы можете использовать любое значение, и оно не зарезервирует пин-код.
В приведенном выше примере 8 - это просто заполнитель, пока у меня не будет времени на написание функций приема.
void write (byte houseCode, byte numberCode, int numRepeats) - отправляет сообщение X10, например
myHouse.write (A, ALL_LIGHTS_ON, 1); Включает все огни в доме, код А.
Для упрощения обмена данными с X10 добавлено несколько констант. Они заключаются в следующем:
A - F: значения кода дома.
Значения кодов единиц UNIT_1 - UNIT_16: