Diferencia entre revisiones de «Wire»
De ArduWiki
(→Placas aplicables) |
(→Descripción) |
||
Línea 1: | Línea 1: | ||
== Descripción == | == Descripción == | ||
− | + | La librería '''Wire.h''' le permite comunicarse con dispositivos I2C. Usa dos lines: SDA (línea de datos) y SCL (línea de reloj). | |
+ | |||
+ | {{Nota|A partir de Arduino 1.0, la biblioteca hereda de la clase [[Stream]], lo que la hace compatible con otras bibliotecas de lectura/escritura. Debido a esto, send() y receive() han sido reemplazados por read() y write().}} | ||
== Placas aplicables == | == Placas aplicables == |
Revisión del 17:01 18 jun 2018
Contenido
Descripción
La librería Wire.h le permite comunicarse con dispositivos I2C. Usa dos lines: SDA (línea de datos) y SCL (línea de reloj).
Nota: A partir de Arduino 1.0, la biblioteca hereda de la clase Stream, lo que la hace compatible con otras bibliotecas de lectura/escritura. Debido a esto, send() y receive() han sido reemplazados por read() y write().
Placas aplicables
Arduino | Pin SDA | Pin SCL |
---|---|---|
UNO, Ethernet | A4 | A5 |
MEGA | 20 | 21 |
Leonardo | 2 | 3 |
Debido | 20 | 21 |
Sintaxis
Métodos
- Wirebegin()
- Inicie la libreria Wire y únase al bus I2C como maestro o esclavo. Esto normalmente debería llamarse solo una vez.
- Wire.beginTrasnmission()
- Comience una transmisión al dispositivo esclavo I2C con la dirección dada. Posteriormente, coloque los bytes de cola para la transmisión con la función write() y transmítalos llamando a endTransmission().
- Wire.read()
- Wire.write()
- Wire.send()
- Envía datos de un dispositivo esclavo en respuesta a una solicitud de un maestro, o pone en cola los bytes para la transmisión de un dispositivo maestro a esclavo.
- Wire.end()
Ejemplo
#include <Wire.h> byte valor = 0 ; void setup () { Wire.begin(); //unirse al bus i2c (dirección opcional para el maestro) } void loop ( ) { Wire.beginTransmission(44); //transmitir al dispositivo N° 44 (0x2c) //la dirección del dispositivo se especifica en la hoja de datos Cableado.write(byte (0x00));// envía un byte de instrucción Wire.write(valor); //envía el valor del potenciómetro Byte Wire.endTransmission(); //deja de transmitir val ++; //incrementa el valor if (valor == 64){ //si se alcanza la posición 64 (max) valor = 0 ; //comienza desde el valor más bajo } delay(500) ; }
Vea también
- [[]]