Ejemplo Wire: master_writer / slave_receiver
Se encuentran en Archivo=>Ejemplos=>Wire=>master_writer y slave_receiver
En este ejemplo el Arduino que hace de...
...maestro inicia una transmisión de datos al esclavo 4, le enviará 5 bytes de texto y al final
•
un byte de tipo entero (int).
...esclavo, al recibir una orden del maestro empieza a leer bytes en modo char (mientras los
•
recibe los va enviando al puerto serie), el último byte lo lee como un número entero (int).
Arduino MAESTRO – En el setup()
Wire.begin();
Arduino MAESTRO – En el loop()
Wire.beginTransmission(4);
Wire.write("x es
Wire.write(x);
Wire.endTransmission();
x++;
//Incrementar valor
Arduino ESCLAVO – En el setup(), es igual que el otro ejemplo, sólo cambia el número
Wire.begin(4);
Wire.onRequest(funcionDeRespuesta);
Arduino ESCLAVO – En el loop()
Vacío, no requiere código
Arduino ESCLAVO – Fuera de loop, (por ejemplo al final). Cuando el maestro llame, se leen
todos los datos que él nos envíe.
void funcionDeRespuesta()
{
while
{
}
int
Serial.println(x);
}
Diableco.com
//Maestro
");
//Unirse al I2C como esclavo número 4
(1
< Wire.available())
char
c
= Wire.read();
Serial.print(c);
x
= Wire.read();
- 20 -
//Enviar datos al nº4
//Enviar 5 bytes
//Enviar 1 byte
//Finalizar transmisión
//Leer todo, salvo el último
//Recibido como carácter (char)
//Mostrar dato
//El último leído como entero (int)
//Mostrar dato
Placa de desarrollo ArduPRENDE