Comunicacion en i2c Arduino Uno

Buenas tardes a todos.

Mi consulta es sencilla. Todos sabemos que usando la librería wire.h y escribiendo:

Wire.write("Hola");

Estaremos enviando 4 bytes de datos. Pero si quiero enviar un numero en binario de 4 bytes o la cantidad de bytes que yo quiera como se hace?

Quiero enviar por ejemplo el numero 23482348 en 4 bytes codificado numero a numero en binario, algo así como: '00100011010010000010001101001000' y que sean solo 4 bytes no 32 bytes.

Agradezco su ayuda.

Logré crear un código que me funcionara y que la vez es escalable dependiendo de la necesidad. Comparto el código en caso que le pueda ayudar a alguien.

Básicamente lo que hace es que, en comunicacion serial i2c, el esclavo envía números de 1 o 2 bytes por el canal i2c, separando cada numero en 2 bytes. Luego el maestro interpreta la info y vuelve a generar los números de 2 bytes originales.

En mi caso me funciona para enviar datos de sensores con resolución de 2 bytes de un arduino a otro.

Saludos,

arduino_slave.ino (769 Bytes)

arduino_master.ino (1.25 KB)