How to use Arduino Serial Read ?

Hello friends, I hope you all are fine and having fun with your lives. Today, I am going to share a very basic and introductory tutorial named How to use Arduino Serial Read. I am sharing this tutorial because I am getting a lot of emails in which users normally ask about basic Arduino tutorials as they are very new to them. So, I thought of sharing this very basic Arduino tutorial in which we are going to have a look at how we can use the Arduino Serial Read command.

I selected this tutorial as my first tutorial in this list of Arduino basic tutorials because learning to use Serial port is very necessary as it's one of the best troubleshooting tools for your code. I have also given a Proteus Simulation in which I have received the incoming data from the serial port and displayed it on LCD. Before going into the details of this Arduino Serial Read, let me first discuss the Serial Port in General.

Where To Buy?
No.ComponentsDistributorLink To Buy
1LCD 16x2AmazonBuy Now
2Arduino UnoAmazonBuy Now

What is Serial Port?

  • I have already written a detailed tutorial on this topic which you can read at What is Serial Port?
  • Serial Port is used for data communication between two electronic modules, both should support serial ports.
  • Serial Port has 9 pins in total used for different purposes.
  • The two of these pins most commonly used are TX (transmitter) and RX (Receiver).
  • So, using these two pins we send our data from one place to another.
  • Now let's have a look at Arduino Serial Port first, before having a look at Arduino Serial Read.

Serial Port in Arduino

  • Almost all Arduino boards support Serial Port.
  • If we talk about Arduino UNO, it has one serial port on it and it is located at pin 0 and pin 1.
  • If you look closely at the Arduino UNO board then you can see a little TX is written on its pin # 1 and a little RX is written on its pin # 0, as shown in the below figure:
  • So, now we have got the Serial Port on Arduino UNO which we know are at pin # 0 and pin # 1, now in the next part, we are going to have a look at How to use Arduino Serial Read and get data from this Serial Port.

How to use Arduino Serial Read?

  • Arduino Serial read command is used for reading any data available at the Serial Port of Arduino board.
  • I have also designed a Proteus simulation which you can download from the below button, and I have explained this simulation in the last step of this tutorial:
Download Simulation & Code
  • For example, you have some serial module, let's say GPS module (most of the GPS module works at serial port).
  • So, when you connect your GPS module with Arduino, you have to connect the TX pin of GPS with the RX pin of Arduino.
  • Now the TX pin of GPS will be sending/transmitting the data and because this pin is connected with the RX pin of Arduino, so Arduino will keep receiving the data.
  • Now the data is coming to Arduino but you have to write some code to read this incoming serial data and then save it in some variable.
  • And in order to read this data, we need to use the Arduino Serial Read command.
  • Arduino Serial read command reads the incoming data from Serial Port and then saves it in some variable.
  • Here's the syntax of the Arduino Serial Read command:

char data = Serial.read();

  • One important thing is, in order to make Arduino Serial Read command work, you have to first initialize the Serial Port in Arduino, as shown below:

Serial.begin(9600);

Note:
  • Arduino USB Port which is plugged into the computer and is used for uploading code also works on the same serial port.
  • So, if you have anything plugged in pin # 0 of Arduino then you can't upload the code in Arduino.
Now, let's design a simple example in which we will be receiving data from Serial Port and then saving it in some variable.
  • So, connect your Serial device with your Arduino board and now upload the below code to your Arduino board:
void setup() {
  Serial.begin(9600); // Serial Port initialization
}

void loop() {
  if(Serial.available()) // Chek for availablity of data at Serial Port
  {
    char data = Serial.read(); // Reading Serial Data and saving in data variable
    Serial.print(data); // Printing the Serial data
  }
}
  • Now, you need to open the Serial Monitor of Arduino which is used for debugging purposes.
  • So, whenever you write something on Serial Port, it got printed on the Serial monitor.
  • So, whatever you will be receiving in the Serial Port you will get in the Serial Monitor.
  • Here are some random data of GSM module coming on serial port and showing in serial monitor:

How to use Arduino Serial Read in Proteus?

  • So, now let's design a small Proteus simulation in which we will see how to use Arduino Serial Read.
  • Proteus doesn't have Arduino boards in it, so you need to first download this Arduino Library for Proteus and then you will be able to simulate your Arduino board in Proteus.
  • So, design a simple circuit as shown in the below figure:
  • In the above figure, I have placed an LCD and I will get the data from the serial port and then I will print that data on LCD.
  • So, in simple words, whatever I type in the Virtual terminal will be shown on LCD.
  • You also need to download this New LCD Library for Proteus to get this amazing LCD in Proteus.
  • So, now use the below code and Get your Hex File from Arduino Software:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(20, 4);
  // Print a message to the LCD.
  lcd.setCursor(1,0);
  lcd.print("www.TheEngineering");
  lcd.setCursor(4,1);
  lcd.print("Projects.com");
  lcd.setCursor(1,0);
  Serial.begin(9600);
}

void loop() {
  if(Serial.available()) // Chek for availablity of data at Serial Port
  {
    char data = Serial.read(); // Reading Serial Data and saving in data variable
    Serial.print(data);
    lcd.print(data); // Printing the Serial data
  }
}
  • Now when you start the Proteus simulation the first screen will look something like this:
  • Now whatever you write in your Serial Port, will show on the LCD as shown in below figure:
  • That's how the Arduino Serial Read works.
  • You can download this Proteus simulation and the Arduino code by clicking the Download button given at the start of this post.
So, that's how you can use the Arduino Serial Read command and can do your task. If it's still difficult for you then let me know on comments and I will try my best to resolve your issues. Thanks.
Syed Zain Nasir

I am Syed Zain Nasir, the founder of <a href=https://www.TheEngineeringProjects.com/>The Engineering Projects</a> (TEP). I am a programmer since 2009 before that I just search things, make small projects and now I am sharing my knowledge through this platform.I also work as a freelancer and did many projects related to programming and electrical circuitry. <a href=https://plus.google.com/+SyedZainNasir/>My Google Profile+</a>

Share
Published by
Syed Zain Nasir