Código Arduino Izquierda:
#include <Wire.h>
void setup() {
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600); // start serial for output
}
void loop() {
Wire.beginTransmission(1);
Wire.write('H');
Wire.endTransmission();
delay(500);
Wire.beginTransmission(1);
Wire.write('L');
Wire.endTransmission();
delay(500);
Wire.beginTransmission(2);
Wire.write('H');
Wire.endTransmission();
delay(500);
Wire.beginTransmission(2);
Wire.write('L');
Wire.endTransmission();
delay(500);
}
Código Arduino Medio:
#include <Wire.h>
const byte slaveId = 1;
void setup() {
Wire.begin(slaveId); // join i2c bus (address optional for master)
Wire.onReceive(receiveEvent);
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
}
void loop() {
}
void receiveEvent(int howMany)
{
char inChar;
while(Wire.available() > 0)
{
inChar = Wire.read();
if (inChar == 'H')
{
digitalWrite(13,HIGH);
}
else if (inChar == 'L')
{
digitalWrite(13,LOW);
}
}
}
Código Arduino Derecha:
#include <Wire.h>
const byte slaveId = 1;
#include <Wire.h>
const byte slaveId = 2;
void setup() {
Wire.begin(slaveId); // join i2c bus (address optional for master)
Wire.onReceive(receiveEvent);
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
}
void loop() {
}
void receiveEvent(int howMany)
{
char inChar;
while(Wire.available() > 0)
{
inChar = Wire.read();
if (inChar == 'H')
{
digitalWrite(13,HIGH);
}
else if (inChar == 'L')
{
digitalWrite(13,LOW);
}
}
}