Biblioteca Wire

Esta biblioteca le permite comunicarse con dispositivos I2C / TWI. En las placas Arduino con el diseño R3 (pinout 1.0), los pines SDA (línea de datos) y SCL (línea de reloj) están en los conectores de pin cerca del pin AREF. El Arduino Due cuenta con 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 en que pines se encuentra TWI en diversas placas Arduino.
 
Placa
 
I2C / TWI
Uno, Ethernet
 
A4 (SDA), A5 (SCL)
Mega2560
 
20 (SDA), 21 (SCL)
Leonardo
 
2 (SDA), 3 (SCL)
Due
 
20 (SDA), 21 (SCL), SDA1, SCL1

A partir de Arduino 1.0, la biblioteca hereda las funciones Stream, por lo que es consistente con otras bibliotecas de lectura / escritura. Debido a esto, send () y receive () han sido sustituidos con read () y write ().

Nota

Hay dos versiones de I2C de 7 y 8 bits de direcciones. 7 bits identifican el dispositivo, y el octavo bit determina si se está escribiendo o leyendo. La librería Wire utiliza 7 bits de largo de direcciones. Si usted tiene una hoja de datos o código de ejemplo que utiliza direcciones de 8 bits, querrá desplazar el bit bajo (es decir, cambiar el valor de un bit hacia la derecha), produciendo una dirección entre 0 y 127. Sin embargo, las direcciones de 0 a 7 no se utilizan porque están reservadas por lo que la primera dirección que se puede utilizar es 8.

Ejemplos


Potenciómetro digital: Control de un  Potenciómetro digital Analog Devices AD5171.
Maestro lector / Esclavo escritor: Programa para  dos placas Arduino que se comunica una con otra en una configuración de Maestro lector  / Esclavo escritor mediante I2C.
Maestro escritor / Esclavo receptor Programa para dos placas Arduino que comunica una con otra en una configuración de Maestro escritor  / Esclavo lector mediante I2C.
SFR Ranger Reader: un telémetro ultrasónico interconectado a través del I2C.
 
Funciones
  begin()
  requestFrom()
  beginTransmission()
  endTransmission()
  write()
  available()
  read()
  onReceive()
  onRequest()
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

No hay comentarios:

Publicar un comentario