Arduino tiene la Biblioteca Wire que se comunica con I2C.
Esta biblioteca le permite comunicarse con dispositivos I2C / TWI. En las placas Arduino con el diseño R3 (1.0 pinout), el SDA (línea de datos) y SCL (línea de reloj) están en los encabezados de pin cerca del pin AREF. El Arduino Due tiene dos interfaces I2C / TWI SDA1 y SCL1 que están cerca del pin AREF y el adicional está en los pines 20 y 21. Como referencia, la siguiente tabla muestra dónde se ubican los pines TWI en varias placas Arduino.
Tablero I2C / TWI pines
- Uno, Ethernet A4 (SDA), A5 (SCL)
- Mega2560 20 (SDA), 21 (SCL)
- Leonardo 2 (SDA), 3 (SCL)
- Vencimiento 20 (SDA), 21 (SCL), SDA1, SCL1
Puedes echar un vistazo a estos ejemplos.
Como @TheDoctor dijo:
Las líneas de datos I2C necesitan resistencias de 3.3V. Esto evita que se desvíen si están deshabilitados. El valor de resistencia de Andy debería funcionar, pero se recomienda usar uno entre 10k ohmios y 47k ohmios.