2014-06-10 10:01:53 +08:00
# I2C
2014-04-26 18:11:51 +08:00
2016-12-08 20:24:03 +08:00
This package provides drivers for [i2c ](https://en.wikipedia.org/wiki/I%C2%B2C )devices. It must be used along with an adaptor such as [firmata ](https://gobot.io/x/gobot/platforms/firmata ) that supports the needed interfaces for i2c devices.
2014-04-26 18:11:51 +08:00
## Getting Started
2014-06-10 10:01:53 +08:00
## Installing
```
2017-02-15 19:41:20 +08:00
go get -d -u gobot.io/x/gobot/...
2014-04-26 18:11:51 +08:00
```
2014-06-10 10:01:53 +08:00
2014-04-26 18:11:51 +08:00
## Hardware Support
Gobot has a extensible system for connecting to hardware devices. The following i2c devices are currently supported:
2022-03-21 01:46:05 +08:00
- Adafruit 2x16 RGB-LCD with 5 keys
2017-01-03 17:22:06 +08:00
- Adafruit Motor Hat
2017-04-24 23:58:30 +08:00
- ADS1015 Analog to Digital Converter
2017-04-27 22:13:29 +08:00
- ADS1115 Analog to Digital Converter
2018-02-14 16:40:39 +08:00
- ADXL345 Digital Accelerometer
2018-01-12 23:26:21 +08:00
- BH1750 Digital Luminosity/Lux/Light Sensor
2017-01-03 17:22:06 +08:00
- BlinkM LED
2017-04-01 19:51:36 +08:00
- BME280 Barometric Pressure/Temperature/Altitude/Humidity Sensor
2017-01-03 17:22:06 +08:00
- BMP180 Barometric Pressure/Temperature/Altitude Sensor
2017-04-01 19:51:36 +08:00
- BMP280 Barometric Pressure/Temperature/Altitude Sensor
2020-09-26 18:07:17 +08:00
- BMP388 Barometric Pressure/Temperature/Altitude Sensor
2017-02-24 15:19:20 +08:00
- DRV2605L Haptic Controller
2021-03-12 02:43:17 +08:00
- Generic driver for read and write values to/from register address
2016-09-25 20:08:18 +08:00
- Grove Digital Accelerometer
2018-08-24 00:07:08 +08:00
- GrovePi Expansion Board
2016-09-25 20:08:18 +08:00
- Grove RGB LCD
- HMC6352 Compass
2021-02-02 10:07:18 +08:00
- HMC8553L 3-Axis Digital Compass
2017-05-05 15:27:08 +08:00
- INA3221 Voltage Monitor
2017-01-03 17:22:06 +08:00
- JHD1313M1 LCD Display w/RGB Backlight
- L3GD20H 3-Axis Gyroscope
2017-02-24 15:19:20 +08:00
- LIDAR-Lite
2016-09-25 20:08:18 +08:00
- MCP23017 Port Expander
- MMA7660 3-Axis Accelerometer
- MPL115A2 Barometer
2014-12-14 10:50:09 +08:00
- MPU6050 Accelerometer/Gyroscope
2017-06-24 02:18:02 +08:00
- PCA9685 16-channel 12-bit PWM/Servo Driver
2022-03-25 01:40:26 +08:00
- PCF8591 8-bit 4xA/D & 1xD/A converter
2020-03-17 09:08:06 +08:00
- SHT2x Temperature/Humidity
2017-01-03 17:21:09 +08:00
- SHT3x-D Temperature/Humidity
2017-04-01 19:51:36 +08:00
- SSD1306 OLED Display Controller
2017-02-24 15:19:20 +08:00
- TSL2561 Digital Luminosity/Lux/Light Sensor
2014-04-26 18:11:51 +08:00
- Wii Nunchuck Controller
2021-03-12 02:43:17 +08:00
- YL-40 Brightness/Temperature sensor, Potentiometer, analog input, analog output Driver
2014-04-26 18:11:51 +08:00
More drivers are coming soon...
2017-02-10 19:01:44 +08:00
## Using A Different Bus or Address
You can set a different I2C address or I2C bus than the default when initializing your I2C drivers by using optional parameters. Here is an example:
```go
blinkm := i2c.NewBlinkMDriver(e, i2c.WithBus(0), i2c.WithAddress(0x09))
```