Выкладываю код для обойх режимов I2C, Master и Slave
Можно между собой соеденить два Arduino через аналоговые входы А4 и А5 , Master будет один раз в секунду отправлять строку "Test, communication." Slave должен быть подключен к USB и включен режим мониторинга
Код для режима Master
PHP код:
// Передатчик
#include <Wire.h> //подключаем библиотеку
#define ADDR 128 //адрес нужного нам Slave
void setup()
{
Wire.begin(); //включить i2c
}
void loop()// Главный цикл
{
Wire.beginTransmission(ADDR); //начало передачи, с адресом нужного нам Slave
Wire.write(random(0, 9)); //отправляем данные для выбраного Slave
Wire.endTransmission(); //конец передачи
delay(3000); //пауза
} }
Код для режима Slave
PHP код:
//Приёмник
#include <Wire.h>
#define ADDR 128 //адрес устройства
void setup()
{}
void loop() {}
void receive_handler(int numbytes)
{
for (int i = 0; i < numbytes; i++) //читаем весь пакет
{
Serial.print(Wire.read()); // принимаем значение и передаем компьютеру
}
Serial.println(' '); //перенос строки
}