Learn I2C Communication and start the basics with DcubeStore
In earlier years people were focusing on the controller’s GPIO pins, as well as best connection modes like RS232, RS485 which were seen in old Personal and Corporate Computers. After many advancements, different kinds of digital hardware were introduced which consist of different “connection buses”. These connection buses connect the different hardware to process with Microcontrollers or Microprocessors.
The famous 8051’s ATMEL Family Microcontroller was a basic start specially designed for students to understand the embedded interface.
In this Blog I am going to discuss two important connection busses:
Inter Bus Communication
In this kind of communication Devices which needs a connect, will be present in different systems. Then we use the UART(Universal Asynchronous Receiver/Transmitter) & USB(Universal Serial Bus) protocol also known for Serial Communication.
Intra Bus Communication
Every communication protocol has its own terminologies like one of the old and best technologies learning from the basic communication topics are about:
Transmitter(TX) – which transmits the information to the Reciever
Receiver(RX) – which receive the information from the transmitter
This kind of communication is very much famous in Wireless communication protocol where we have learned thoroughly about different amplifiers which work in this process to send and receive the actual information.
I2C Communication Protocol
Similarly, in the case of I2C communication protocol, we are using basic Master and Slave relationship devices.
‘Master’ has three main responsibilities:
1. It initiates the communication.
2. Generates the clock
3. Terminates the communication.
But, when it comes to ‘Slave’ then it will always follow the master.
I2C Bus physical connection
We are going to use the two physical line Serial Data Line (SDA) and Serial Clock Line(SCL).
SDA – Bidirectional Line which shares the data from master to slave or vice versa. It performs either of one function only.
SCL – Help to generate the Clock and keeps the synchronization between master and slave.
Learning about I2C Communication in different sensor I should suggest you go through the Sensor Datasheet I2C section especially.
To start with the program of the I2C Communications, header files are already written in different programming languages. These header files are easy to use with Raspberry Pi, Arduino, Particle, Onion and for many different microcontrollers. For a sample to run, Go through the Code Library link mentioned on homepage menus on the top.
For an example, I am mentioning BME280 I2C module repository on Github. As you can check, to access this kind of sensor module with different microcontroller programming codes are already available in the different Programming languages.
Dcubestore has availability of I2C devices which can be easily connected with the help of I2C shield which avoids the loose connection and gives the best connectivity between microcontrollers and Sensor using I2C cables.
Not only I2C ends with different Sensors Modules, but to minimize the use of GPIO pins while using relays, FET drivers and different voltage or current control drivers, we have the customized I2C Relays Boards, I2C Current Monitor boards drivers.
These Special drivers boards work greatly with IoT applications and improve the Home and Industrial Automation and all the Smart digital hardware by making Internet friendly application and work flexibly with using web applications. There are many advance applications tutorials which we are developing creating different Desktop applications as well as mobile applications.