Arduino Wire.h Library -

Try the built-in I2C scanner (File → Examples → Wire → Scanner), then hook up a cheap OLED or RTC module. You’ll be amazed at what two wires can do.

void loop() Wire.beginTransmission(8); // Slave address 8 Wire.write("Hello Slave!"); Wire.endTransmission();

// Configure sensor (simplified) Wire.beginTransmission(SENSOR_ADDR); Wire.write(0x26); // Control register Wire.write(0xB9); // Active, 128 samples, 2^8mbar max Wire.endTransmission(); delay(100); arduino wire.h library

if(Wire.available() >= 5) ((long)Wire.read() << 8) delay(1000);

void loop() // Tell sensor to start measurement Wire.beginTransmission(SENSOR_ADDR); Wire.write(0x12); // Pressure data register (MSB) Wire.endTransmission(false); // Repeated start Try the built-in I2C scanner (File → Examples

void requestEvent() Wire.write("Hello Master");

void setup() Serial.begin(9600); Wire.begin(8); // Join I2C bus with address 8 Wire.onReceive(receiveEvent); Wire.onRequest(requestEvent); // Slave address 8 Wire.write("Hello Slave!")

#include <Wire.h> void receiveEvent(int bytes) while(Wire.available()) char c = Wire.read(); Serial.print(c);