Цитата (Paganel)
анализатор шины и компаратор кодов (100% надёжности)
Я попробовал послушать шину с помощью Arduino Nano и библиотеки Wire, но что то с пока не получилось. Идея была, потом сделать устройство на базе Arduino mini pro, которое бы и слушало шину I2C и формировало необходимый сигнал.
Добавлено (16/07/2013, 01:39:21)
---------------------------------------------
В общем докладываю.
Все получилось. Отладка велась с помощью Carduino Nano, в дальнейшем, в цели экономии будет стоять Pro Mini (уже приехала из Китая). Цена вопроса в районе 200 рублей. Если кому понадобится выкладываю скетч. I2C подключается к Carduino 5 нога SCL, 4 нога SDA и GRD к GRD .
#include <Wire.h>
#define ADDR 72 //адрес устройства
int AUX = 13; // управляющий пин
void setup()
{
Wire.begin(ADDR); //определим как ведомый с указанным адресом
Wire.onReceive(receive_handler); //ждем данных от мастера, функция возвращает int число байт данных
pinMode(AUX, OUTPUT); // назначаем пины как выходы
}
void loop()
{
}
void receive_handler(int numbytes)
{
for (int i=0;i<numbytes;i++) //читаем весь пакет
{
int a = Wire.read(); // присваиваем переменной значение a
if (a == 67 || a == 91) // если код 067192247208 или 091216247208 включить пин 13
{
digitalWrite(AUX, HIGH);
}
else if (a == 88 || a == 64) // если код 088192247208 или 064192247208 выключить пин 13
{
digitalWrite(AUX, LOW);
}
}
}