Skip to content

Instantly share code, notes, and snippets.

@paccerdk
Last active August 28, 2019 18:10
Show Gist options
  • Save paccerdk/912cbc3a6c31a17721bc42c1c01b5fc3 to your computer and use it in GitHub Desktop.
Save paccerdk/912cbc3a6c31a17721bc42c1c01b5fc3 to your computer and use it in GitHub Desktop.
i2c example
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <Wire.h>
#define LED_BUILTIN 2
void setup()
{
WiFi.mode( WIFI_OFF );
WiFi.forceSleepBegin();
Wire.begin(); // join i2c bus (address optional for master)
Wire.setClock(1000000L);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
//I2C READ (ADC)
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN) );
Wire.requestFrom(0x41, 1); // request 6 bytes from slave device #8
while (Wire.available()) { // slave may send less than requested
uint8_t c = Wire.read(); // receive a byte as character
Serial.print("ADC: "); // print the character
Serial.println(c, HEX); // print the character
}
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN) );
delay(10);
//I2C WRITE (PWM)
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN) );
Wire.beginTransmission(0x41); // transmit to device #8
Wire.write(0x13); // register address
Wire.write(0x37); // value
Wire.write(0x42); // value
Wire.endTransmission(); // stop transmitting
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN) );
delay(10);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment