Slave Receive Data from Arduino UNO
Materials
AMB82-mini x 1
Arduino UNO x 1
Example
I2C Introduction
There are two roles in the operation of I2C, one is “master”, the other is “slave”. Only one master is allowed and can be connected to many slaves. Each slave has its unique address, which is used in the communication between master and the slave. I2C uses two pins, one is for data transmission (SDA), the other is for the clock (SCL). Master uses the SCL to inform slave of the upcoming data transmission, and the data is transmitted through SDA. The I2C example was named “Wire” in the Arduino example.
Introduction
In this example, the AMB82-mini is configured as an I2C slave receiver at address 0x08, while the Arduino UNO acts as the I2C master writer. The Arduino UNO repeatedly sends 6 bytes of data to the AMB82-mini, and the AMB82-mini prints the received data on its Serial Monitor.
Procedure
Setting up Arduino Uno to be I2C Master
Then click Sketch -> Upload to compile and upload the example to Arduino Uno.
Setting up AMB82-mini to be I2C Slave
Click Sketch -> Upload to compile and upload the example to AMB82-mini.
Wiring
Code Reference
Wire.begin(address) to join the I2C bus as a slave with the given address.Wire.onReceive(handler) to register a callback function that is called when the slave receives data from the master.Wire.available() to return the number of bytes available for retrieval with Wire.read().Wire.read() to read a byte that was transmitted from a master device to a slave device.Wire.slaveReadLen() to set the expected number of bytes to read from the master.Wire.slaveClrRxFlag() to clear the receive flag, allowing the slave to be ready for the next transmission from the master.

