Paso 2: El código
Si desea utilizar dispositivos i2c es mejor entender cómo funciona el código de lo contrario vas a tener muchos problemas por el camino.
I2C es manejado usando la Arduino biblioteca de alambre.
Entender vas a tener que hacer un poco de lectura i2c. Esperamos que sea muy confuso al principio. Si usted planea hacer cualquier electrónica intermedio y avanzado de aprendizaje i2c es imprescindible.
Voy a intentar dar una explicación muy simple de i2c.
Una cosa que usted notará, al empezar a trabajar con la electrónica, es que siempre tienes un lío de cables. Hace mucho tiempo que Phillips dijo 'el infierno con todos estos hilos - necesitamos una forma para todos los dispositivos hablar a unos de otros con sólo dos cables'. Poco después, se creó el i2c. Ahora usted puede comprar chips i2c que hacen casi todo, y todos estos chips son capaces de comunicarse entre si utilizando únicamente dos cables. I2C a menudo se llama la 'interfaz de dos hilos'.
¿Cómo estos dispositivos hablar? Bueno, todos tienen una dirección, mucho tienes una dirección de correo electrónico en su casa. Con esta dirección única puede hablar con cada dispositivo individualmente. El Arduino, que sería el dispositivo de maestro i2c, puede enviar instrucciones a los esclavos-i2c-dispositivos individuales usando un protocolo de comunicación de lujo. En Arduino, la comunicación de envío se ve así:
Wire.Send(someDate); Qué datos se están enviando este dispositivo
Wire.endTransmission(); terminar comunicación
Y la comunicación de la recepción se ve así:
dataReceived Byte [2]; //a dos byte array para mantener nuestros datos Wire.beginTransmission(aDeviceAddress); ///who está usted hablando? Wire.endTransmission(); //end comunicación Wire.requestFrom(aDeviceAddress,2); //request dos bytes de datos
if(Wire.Available()) { dataReceived [0] = Wire.receive(); //read byte 1 dataReceived [1] = Wire.receive(); //read byte 2 }
La parte realmente difícil de i2c es interpretar la hoja de datos y la comprensión Cómo usted y espera recibir o enviar datos al dispositivo. Al escribir el código de i2c constantemente debe hacer referencia a la hoja de datos.
El archivo de código de Arduino se coloca por debajo.
Nota si está utilizando Arduino1.0
Declaraciones de Wire.Send y Wire.receive debe ser cambiaron a Wire.write y Wire.read