У Arduino есть библиотека проводов, которая связывается с I2C.
Эта библиотека позволяет вам общаться с устройствами I2C / TWI. На платах Arduino с разметкой R3 (разводка 1,0) SDA (линия передачи данных) и SCL (линия синхронизации) находятся на разъемах выводов рядом с выводом AREF. Arduino Due имеет два интерфейса I2C / TWI, SDA1 и SCL1 находятся рядом с выводом AREF, а дополнительный - на контактах 20 и 21. В качестве справочной информации в таблице ниже показано расположение контактов TWI на различных платах Arduino.
Плата I2C / TWI, контакты
- Uno, Ethernet A4 (SDA), A5 (SCL)
- Mega2560 20 (SDA), 21 (SCL)
- Леонардо 2 (SDA), 3 (SCL)
- Due 20 (SDA), 21 (SCL), SDA1, SCL1
Вы можете взглянуть на эти примеры.
Как сказал @TheDoctor:
Для линий передачи данных I2C нужны резисторы до 3,3 В. Это удерживает их от дрейфа, если они отключены. Значение резистора Andy должно работать, но рекомендуется использовать один от 10 кОм до 47 кОм.