In this tutorial I'll show you how can you communicate between two (or more) Arduino boards, using I2C (Inter-Integrated Circuit) protocol. In this case one Arduino Uno acts as MASTER and acts as a SLAVE.We will program one master Arduino to command the other slave Arduino to blink its built-in LED once or twice depending on the received value.
I2C is an interesting protocol. It's usually used to communicate between components on motherboards in cameras and in any embedded electronic system.
We use such a MASTER-SLAVE connection to decrease the work load on one Arduino, or to connect more sensors to project etc.
ConnectionsFollow these steps to connect two Arduino UNOs using I2C:
- Connect pins A4 and A5 on one Arduino to the same pins on the other one.
- The GND line has to be common for both Arduinos. Connect it with a jumper.
In case of any doubt, consult the circuit diagram given below.
NOTE: Remember never to connect 5 V and 3.3 V Arduinos together. It won't hurt the 5V Arduino, but it will certainly annoy its 3.3 V brother!
There are two different codes, one for MASTER and other for SLAVE. Upload each code to respective Arduinos. Power them, and you good to go!!
You can also connect more than one SLAVE Arduino! But you have to address each Arduino differently.
Comments