
If powering the boards independently is an issue, you can power the Slave from the Master board.
#I2C CLOCK LINE ARDUINO UNO PINOUT SERIAL#
In order to enable serial communication, the slave Arduino must be connected to your computer via USB. Make sure that both boards share a common ground. Master Arduino to their counterparts on the slave board. Hardware RequiredĬonnect pin A5 (the clock, or SCL, pin) and pin A4 (the data, or SDA, pin) on the In this way, it's possible for your Arduino boards to communicate with many device or other boards using just two pins of your microcontroller, using each device's unique address. The bits after contain the memory address on the Slave that the Master wants to read data from or write data to, and the data to be written, if any.Įach Slave device has to have its own unique address and both master and slave devices need to take turns communicating over a the same data line line. eight clock pulses) from the Master to Slaves contain the address of the device the Master wants data from. When this information is sent - bit after bit -, the called upon device executes the request and transmits it's data back - if required - to the board over the same line using the clock signal still generated by the Master on SCL as timing. As the clock line changes from low to high (known as the rising edge of the clock pulse), a single bit of information - that will form in sequence the address of a specific device and a a command or data - is transferred from the board to the I2C device over the SDA line. The I2C protocol involves using two lines to send and receive data: a serial clock pin (SCL) that the Arduino Master board pulses at a regular interval, and a serial data pin (SDA) over which data is sent between the two devices.

#I2C CLOCK LINE ARDUINO UNO PINOUT SOFTWARE#
Once that message is received, it can then be viewed in the Slave board's serial monitor window opened on the USB connected computer running the Arduino Software (IDE). Arduino 1, the Master, is programmed to send 6 bytes of data every half second to a uniquely addressed Slave. Several functions of Arduino's Wire Library are used to accomplish this. In this example, two boards are programmed to communicate with one another in a Master Writer/Slave Receiver configuration via the I2C synchronous serial protocol. Sometimes, the folks in charge just don't know when to shut up! In some situations, it can be helpful to set up two (or more!) Arduino boards to share information with each other.
