Arduino Data Types
Hello everyone, I hope you all are fine and having fun with your lives. In today's post, I am going to share all about Arduino Data Types. Arduino Data Types play an important role in Arduino Programming and I have discussed them a little in my tutorial on How to do Arduino Programming. But today, we are gonna discuss it in more detail. I hope you guys are gonna enjoy from them and are gonna get benefit using them.
Before going any further I think you must have a llok at Arduino Basic Tutorials in which I have explained everything in a very easy way. Anyways, Till now I hopeo that you have the basic know how of Arduino Programming and you ahave also worked on Arduino LED Example. So, let's get started with Arduino Data Types:
What are Data Types ??
- If you recall your basic mathematics in which we have learned about sets like Whole Numbers, Natural Number, Prime Numbers etc.
- So, in simple words, Data Types are such sets, but Data Types are different on the nature of element storing in them.
- Data type is like a place, so when we initialize our variale then we tell our compiler that our newly introduced integer is of which type.
- Is it an integer or it has decimal as well in it or its some character like A, B, C etc.
- So, we have to tell our compiler the nature of our variable and that's where Data Types are required.
- So, that's a little Introduction of Data Types, now let's have a look at Arduino Data Types:
Arduino Data Types
- Arduino Data Types are almost similar to C++ Data Types because it roughly follows the same syntax.
- So, now I am gonna discuss the most commonly used Arduino Data Types one by one:
Int - Arduino Data Types
- Int is short form for Integer.
- This Arduino Data Types can store a data of 16 Bit.
- Int data ranges from -32,768 to 32767.
- In Arduino Programmer, Int variable in initialized in several ways, which are:
int Value = 0;
int Value;
int Value1, Value2, Value3;
Char - Arduino Data Types
- char is short for character.
- This Arduino Data Type has a memory of 8 Bit or 1 byte.
- Char Data Type saves charracters like A, B, C etc.
- If you are initializing a single character then it will be in single quotes like 'A'.
- But if you are dealing with character Array then it must be enclosed in doule brackets like this "ABCD".
- When we save any character then in actual the ascii code of that character is being saved.
- For example if you save a character '1', then its not integer 1 it is a character '1' and its ascii value is 49.
- So, in that variable the value saved is 49.
- All the Serial Communication is done using this char Data Type.
- You should read How to do Arduino Serial Communication in which I have used this char variable.
Boolean - Arduino Data Types
- Boolean data type is also used quite a lot in Arduino Programming.
- Boolean is also of 8 Bit just like char and it can be either True or False, that's why we call it Boolean.
- So, we can initialize a Boolean variable as:
boolean a;
Float - Arduino Data Types
- Float is another very important Arduino Data type.
- The unique thing of Float Data Type is that we can store decimal numbers in it.
- For example I want to save 2.51 then I have to use Float because this value can't be save in Int or Char.
The above mentioned Arduino Data Types are the most commonly used data types and I hope you got their details in today's tutorial. In the below figure, I have mentioned all details about Arduino Data Types:
So, that's all about Arduino Data Types. In the coming tutorial I will share more about Arduino. So, take care and have fun !!! :)
How to write Arduino code ?
Hello everyone, I hope you all are fine and having fun. In today's tutorial, I am going to show you How to write Arduino code. In the previous tutorial, we have seen the
Simple Arduino LED Example so if you haven't read that tutorial then I must suggest you to read it first because I am gonna use the same simulation with some advancements in it.
Moreover, you should also have a look at
How to do Arduino Serial Communication because we are also gonna use Serial Port in today's tutorial and one more tutorial which you must read is
How to use digitalRead in Arduino because we are dealing with digital pins here. So, I hope that you have read those tutorial and are ready to learn How to write Arduino code. So, let's have a look at How to write Arduino Code:
How to write Arduino code ?
- In the previous tutorial named as Arduino LED Example, we have designed a simulation in which I have made some changes and added few buttons in it.
- This new modified simulation is shown in below figure:
- You can see in the above figure that I have connected LEDs with all the digital Pins and Logic State with all the analog pins and a Virtual Terminal is connected with Pin # 0 and 1 of Arduino.
- You can download the complete simulation with Proteus code for this tutorial How to write Arduino Code by clicking the below button:
Download Simulation & Code
Note:
- We can also use Analog Pins as digital and that's what we are gonna do in today's tutorial.
- So, that's why I have placed digital logic state which is actually acting as a button here.
- Moreover, if you haven't worked with Virtual Terminal then you should read How to use virtual Terminal in Proteus.
- If you have a look at the previous code then you must have remembered that it was quite lengthy and I have mentioned that we will make it efficient in the next tutorial.
- So, now let's make a small code in which we will blink these LEDs one by one.
- But before going any further, you must first read Getting Started with Arduino Programming so that you also know the basics of Arduino Programming structure.
- So, now I am going to make a small function which I will call in the Main loop function every time I need to blink the LED.
- So, that lengthy code is now gonna compress to small code and is given below:
// ===== It's the First Version ========
int Led1 = 13;
int Led2 = 12;
int Led3 = 11;
int Led4 = 10;
int Led5 = 9;
int Led6 = 8;
int Led7 = 7;
int Led8 = 6;
int Led9 = 5;
int Leda = 4;
int Ledb = 3;
int Ledc = 2;
int Led = 0;
void setup()
{
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
pinMode(Led3, OUTPUT);
pinMode(Led4, OUTPUT);
pinMode(Led5, OUTPUT);
pinMode(Led6, OUTPUT);
pinMode(Led7, OUTPUT);
pinMode(Led8, OUTPUT);
pinMode(Led9, OUTPUT);
pinMode(Leda, OUTPUT);
pinMode(Ledb, OUTPUT);
pinMode(Ledc, OUTPUT);
}
void loop()
{
LedBlinkFunction(1);
delay(1000);
LedBlinkFunction(2);
delay(1000);
LedBlinkFunction(3);
delay(1000);
LedBlinkFunction(4);
delay(1000);
LedBlinkFunction(5);
delay(1000);
LedBlinkFunction(6);
delay(1000);
LedBlinkFunction(7);
delay(1000);
LedBlinkFunction(8);
delay(1000);
LedBlinkFunction(9);
delay(1000);
LedBlinkFunction(10);
delay(1000);
LedBlinkFunction(11);
delay(1000);
LedBlinkFunction(12);
delay(1000);
LedsOFF();
delay(1000);
}
void LedBlinkFunction(int LedNo)
{
if(LedNo == 1){Led = Led1;}
if(LedNo == 2){Led = Led2;}
if(LedNo == 3){Led = Led3;}
if(LedNo == 4){Led = Led4;}
if(LedNo == 5){Led = Led5;}
if(LedNo == 6){Led = Led6;}
if(LedNo == 7){Led = Led7;}
if(LedNo == 8){Led = Led8;}
if(LedNo == 9){Led = Led9;}
if(LedNo ==10){Led = Leda;}
if(LedNo ==11){Led = Ledb;}
if(LedNo ==12){Led = Ledc;}
digitalWrite(Led, HIGH);
}
void LedsOFF()
{
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
digitalWrite(Led6, LOW);
digitalWrite(Led7, LOW);
digitalWrite(Led8, LOW);
digitalWrite(Led9, LOW);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, LOW);
}
- You can see the above code is totally different from the one we have used in Arduino LED Example.
- In the above code I have created two functions named as LedBlinkFunction(int LedNo) and LedsOFF().
- So, that way, I have made the code short as well as efficient.
- So, now add this code in your Arduino sofware and Get your Arduino Hex File.
- Upload this hex file in Proteus and if everything goes fine then you will get results as shown in below figure:
- The abovecode is quite small as compared to the previous one but let's make it more short and efficient.
- Now, I am gonna use the For Loop which I haven't used before and that way I don't need to call that function every time instead I will just call it in For Loop so let's have a look at the below code:
// ===== It's the Second Version ===========
int Led1 = 13;
int Led2 = 12;
int Led3 = 11;
int Led4 = 10;
int Led5 = 9;
int Led6 = 8;
int Led7 = 7;
int Led8 = 6;
int Led9 = 5;
int Leda = 4;
int Ledb = 3;
int Ledc = 2;
int Led = 0;
void setup()
{
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
pinMode(Led3, OUTPUT);
pinMode(Led4, OUTPUT);
pinMode(Led5, OUTPUT);
pinMode(Led6, OUTPUT);
pinMode(Led7, OUTPUT);
pinMode(Led8, OUTPUT);
pinMode(Led9, OUTPUT);
pinMode(Leda, OUTPUT);
pinMode(Ledb, OUTPUT);
pinMode(Ledc, OUTPUT);
}
void loop()
{
for(int x = 1; x < 13; x++)
{
LedBlinkFunction(x);
delay(1000);
}
LedsOFF();
delay(1000);
}
void LedBlinkFunction(int LedNo)
{
if(LedNo == 1){Led = Led1;}
if(LedNo == 2){Led = Led2;}
if(LedNo == 3){Led = Led3;}
if(LedNo == 4){Led = Led4;}
if(LedNo == 5){Led = Led5;}
if(LedNo == 6){Led = Led6;}
if(LedNo == 7){Led = Led7;}
if(LedNo == 8){Led = Led8;}
if(LedNo == 9){Led = Led9;}
if(LedNo ==10){Led = Leda;}
if(LedNo ==11){Led = Ledb;}
if(LedNo ==12){Led = Ledc;}
digitalWrite(Led, HIGH);
}
void LedsOFF()
{
for(int x = 2; x < 13; x++)
{
digitalWrite(x, LOW);
}
}
- Now, you can see in the above code that I have used the For Loop in Main Loop function as well as in LedsOFF() Function.
- And you can see the code has become quite small and more understanding.
- The result of this code is exactly the same as the First Code.
- Now let's have a look at those switches, I will design another code in which I will add different LEDs routines on each button press.
- Like if you press the first button then it will start from top and if you press the second button then it will start from bottom and similar functions on other buttons.
- So, here's the code which you need to add in your Arduino:
int Led1 = 13;
int Led2 = 12;
int Led3 = 11;
int Led4 = 10;
int Led5 = 9;
int Led6 = 8;
int Led7 = 7;
int Led8 = 6;
int Led9 = 5;
int Leda = 4;
int Ledb = 3;
int Ledc = 2;
int Led = 0;
int Button1 = A0;
int Button2 = A1;
int Button3 = A2;
int Button4 = A3;
int Button5 = A4;
int Button6 = A5;
void setup()
{
Serial.begin(9600);
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
pinMode(Led3, OUTPUT);
pinMode(Led4, OUTPUT);
pinMode(Led5, OUTPUT);
pinMode(Led6, OUTPUT);
pinMode(Led7, OUTPUT);
pinMode(Led8, OUTPUT);
pinMode(Led9, OUTPUT);
pinMode(Leda, OUTPUT);
pinMode(Ledb, OUTPUT);
pinMode(Ledc, OUTPUT);
pinMode(Button1, INPUT_PULLUP);
pinMode(Button2, INPUT_PULLUP);
pinMode(Button3, INPUT_PULLUP);
pinMode(Button4, INPUT_PULLUP);
pinMode(Button5, INPUT_PULLUP);
pinMode(Button6, INPUT_PULLUP);
}
void loop()
{
if(digitalRead(Button1) == HIGH)
{
for(int x = 1; x < 13; x++)
{
LedBlinkFunction(x);
delay(1000);
}
LedsOFF();
delay(1000);
}
if(digitalRead(Button2) == HIGH)
{
for(int x = 13; x > 0; x--)
{
LedBlinkFunction(x);
delay(1000);
}
LedsOFF();
delay(1000);
}
if(digitalRead(Button3) == HIGH)
{
LedsON();
delay(1000);
LedsOFF();
delay(1000);
}
if(digitalRead(Button4) == HIGH)
{
Serial.print("www.TheEngineeringProjects.com");
while(digitalRead(Button4) == HIGH);
}
if(digitalRead(Button5) == HIGH)
{
if(Serial.available())
{
char data = Serial.read();
data = data - 49;
digitalWrite(data, HIGH);
}
}
if(digitalRead(Button5) == HIGH)
{
}
}
void LedBlinkFunction(int LedNo)
{
if(LedNo == 1){Led = Led1;}
if(LedNo == 2){Led = Led2;}
if(LedNo == 3){Led = Led3;}
if(LedNo == 4){Led = Led4;}
if(LedNo == 5){Led = Led5;}
if(LedNo == 6){Led = Led6;}
if(LedNo == 7){Led = Led7;}
if(LedNo == 8){Led = Led8;}
if(LedNo == 9){Led = Led9;}
if(LedNo ==10){Led = Leda;}
if(LedNo ==11){Led = Ledb;}
if(LedNo ==12){Led = Ledc;}
digitalWrite(Led, HIGH);
}
void LedsOFF()
{
for(int x = 2; x < 14; x++)
{
digitalWrite(x, LOW);
}
}
void LedsON()
{
for(int x = 2; x < 14; x++)
{
digitalWrite(x, HIGH);
}
}
- Now when you upload the code, you will get the similar results but now you must press the buttons and you will see different functionalities of LEDs.
- The results are given in the below video:
I hope you have enjoyed How to write Arduino code and are gonna get help from it. That's all about How to write Arduino code. So, will meet you guys in the next tutorial. Take care and have fun !!! :)
A Simple Arduino LED Example in Proteus
Hello friends, I hope all are fine and having fun with your projects. We have covered enough Arduino commands in this
Arduino Tutorial for Beginners series and now we are ready to create a simple project by interfacing an
LED (Light Emitting Diode). Today, I am going to share a very Simple Arduino LED Example in Proteus ISIS. First I will blink single LED using
Arduino UNO and then I will blink multiple LEDs in Proteus.
When you start working on Arduino then Arduino LED example is the first example which you must try because its the easiest one. Moreover, we all know that we have a small LED connected to pin # 13 on each Arduino so you can also check your Arduino as well that whether its working or not. So, let's get started with Simple Arduino LED Example in Proteus ISIS:
A Simple Arduino LED Example in Proteus
- You can download, all the simulation files and codes for Arduino LED examples used in this tutorial, by clicking the below button:
Download Simulation Files
- First of all, design a simple circuit of Arduino LED in Proteus ISIS as shown in below figure:
- Now as you can see in the above figure that I have used an LED on Pin # 13 of Arduino UNO.
- So, now upload the below sketch in your Arduino, its the Blink Example from Arduino, which works perfect for this Arduino LED Example:
void setup() {
pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
- The above code is quite simple and you can see first we have used the pinMode Arduino Command to make the LED pin Output.
- After that, we have used Arduino digitalWrite Command to blink the LED.
- Now get the hex file from Arduino software and add it in your Proteus Arduino board.
- Once the hex file is uploaded in the Arduino then run your Arduino LED Proteus Simulation and if everything goes fine then your LED will start blinking as shown in below figure:
- Now you can see in the above figure that our LED at Pin # 13 started blinking.
- If you read the above code of Arduino LED exmaple then its quite simple, first of all I just make the Pin # 13 output and then I have made it HIGH and LOW with a delay of 1000 msec.
- You might wanna read How to use digitalRead in Arduino that will give you a better idea of How to deal with any digital pin.
- So, now let's add more LEDs on other digital Pins of Arduino.
- So, design a simulation as shown in the below figure:
int Led1 = 13;
int Led2 = 12;
int Led3 = 11;
int Led4 = 10;
int Led5 = 9;
int Led6 = 8;
int Led7 = 7;
int Led8 = 6;
int Led9 = 5;
int Leda = 4;
int Ledb = 3;
int Ledc = 2;
void setup()
{
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
pinMode(Led3, OUTPUT);
pinMode(Led4, OUTPUT);
pinMode(Led5, OUTPUT);
pinMode(Led6, OUTPUT);
pinMode(Led7, OUTPUT);
pinMode(Led8, OUTPUT);
pinMode(Led9, OUTPUT);
pinMode(Leda, OUTPUT);
pinMode(Ledb, OUTPUT);
pinMode(Ledc, OUTPUT);
}
void loop()
{
digitalWrite(Led1, HIGH);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
digitalWrite(Led6, LOW);
digitalWrite(Led7, LOW);
digitalWrite(Led8, LOW);
digitalWrite(Led9, LOW);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, LOW);
delay(1000);
digitalWrite(Led1, LOW);
digitalWrite(Led2, HIGH);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
digitalWrite(Led6, LOW);
digitalWrite(Led7, LOW);
digitalWrite(Led8, LOW);
digitalWrite(Led9, LOW);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, LOW);
delay(1000);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, HIGH);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
digitalWrite(Led6, LOW);
digitalWrite(Led7, LOW);
digitalWrite(Led8, LOW);
digitalWrite(Led9, LOW);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, LOW);
delay(1000);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, HIGH);
digitalWrite(Led5, LOW);
digitalWrite(Led6, LOW);
digitalWrite(Led7, LOW);
digitalWrite(Led8, LOW);
digitalWrite(Led9, LOW);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, LOW);
delay(1000);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, HIGH);
digitalWrite(Led6, LOW);
digitalWrite(Led7, LOW);
digitalWrite(Led8, LOW);
digitalWrite(Led9, LOW);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, LOW);
delay(1000);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
digitalWrite(Led6, HIGH);
digitalWrite(Led7, LOW);
digitalWrite(Led8, LOW);
digitalWrite(Led9, LOW);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, LOW);
delay(1000);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
digitalWrite(Led6, LOW);
digitalWrite(Led7, HIGH);
digitalWrite(Led8, LOW);
digitalWrite(Led9, LOW);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, LOW);
delay(1000);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
digitalWrite(Led6, LOW);
digitalWrite(Led7, LOW);
digitalWrite(Led8, HIGH);
digitalWrite(Led9, LOW);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, LOW);
delay(1000);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
digitalWrite(Led6, LOW);
digitalWrite(Led7, LOW);
digitalWrite(Led8, LOW);
digitalWrite(Led9, HIGH);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, LOW);
delay(1000);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
digitalWrite(Led6, LOW);
digitalWrite(Led7, LOW);
digitalWrite(Led8, LOW);
digitalWrite(Led9, LOW);
digitalWrite(Leda, HIGH);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, LOW);
delay(1000);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
digitalWrite(Led6, LOW);
digitalWrite(Led7, LOW);
digitalWrite(Led8, LOW);
digitalWrite(Led9, LOW);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, HIGH);
digitalWrite(Ledc, LOW);
delay(1000);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
digitalWrite(Led6, LOW);
digitalWrite(Led7, LOW);
digitalWrite(Led8, LOW);
digitalWrite(Led9, LOW);
digitalWrite(Leda, LOW);
digitalWrite(Ledb, LOW);
digitalWrite(Ledc, HIGH);
delay(1000);
}
- Upload this hex file in your Proteus Arduino and then run your simulation.
- If everything goes fine then you will get all your LEDs blinking.
- I have shown a glimpse of its working in below figure:
- So, download the files and run your simulation and test it out.
- If you check the code then it seems quite lengthy but its very simple.
- I am just keeping one LED on and others OFF.
- Now, let me tell you one thing, this is not the best way of coding but for starters you should first try it out.
- In the coming lecture, I will teach you How to write Arduino Code Efficiently like I don't wanna add 100 lines just for such small work.
So, that's all for today. I hope you have enjoyed today's Arduino LED Example and are gonna test it. So, see you in next tutorial. Take care !!! :)
Flex Sensor Library for Proteus
Hello friends,I hope you all are fine and having fun with your lives. In today's tutorial, I am going to share a new Proteus Library named as
Flex Sensor Library for Proteus. I am quite excited while sharing this one because we are the first one to design this library and share it online. Although, I wanna add one thing here that most of the flex sensors are analog sensors and their resistance changes over bending and believe me I have tried my best to design an analog sensor but despite the efforts we couldn't so I am sharing a digital version of Flex Sensor. So, its not gonna detect how much its bent but it will detect whether its up or bent. So, I thought to share it with you guys. It's better to have something than nothing. You should also have a look at
Analog Flex Sensor Library for Proteus, which we have designed finally. :)
Although our team is still working on it and we hope to make it analog soon. Let me know your suggestions in the comments and if someone can help us in making it analog then it will be really great.Other bloggers are welcome to share this new with their reader but do mention our link. It will be a great favor to us. So, let's get started with
Flex Sensor Library for Proteus:
Note:
Other
Proteus Libraries are as follows:
Flex Sensor Library for Proteus
- First of all, click the below button and download this Flex Sensor Library for Proteus:
Flex Sensor Library for Proteus
- Open this rar file and you will get three file in it named as:
- FlexSensorTEP.IDX
- FlexSensorTEP.LIB
- FlexSensorTEP.HEX
- Now add these three files in the Library folder of your Proteus software.
Note:
- If you are using Proteus 7 Professional, then the library folder link will be something like this: C:Program Files (x86)Labcenter ElectronicsProteus 7 ProfessionalLIBRARY
- If you are using Proteus 8 Professional, then the library folder link will be something like this: C:ProgramDataLabcenter ElectronicsProteus 8 ProfessionalDataLIBRARY
- Now I hope you have done everything correctly so now open your Proteus software or restart it if its already open.
- In Proteus, make a search for Flex Sensor and you will get something as shown in below figure:
- So, now select this Flex Sensor and place it in your workspace and it will look something as shown in below figure:
- As I have told earlier that this Flex Sensor is not analog and it just works on digital.
- So, there are four pins on it.
- One is Vcc which you need to give 5V and second one is GND where you need to place the ground.
- Third pin is OUT which will be either HIGH or LOW depending on the Test Pin, so if Test Pin is HIGH then OUT will be HIGH otherwise it will be LOW.
- Both Straight and bent conditions are shown in below figure:
So, that's all for today. I hope you guys have enjoyed today's tutorial and this Flex Sensor Library for Proteus is really gonna help you out. Take care and have fun !!! :)
How to do Arduino Serial Communication ?
Hello everyone, I hope you all are fine and having fun with your lives. In today's tutorial, I am going to share
How to do Arduino Serial Communication in detail. Recently, I have shared a lot of tutorial on Arduino Serial Communication which contains everything you need for Arduino Serial Communication. So, in today's tutorial, I am actually gonna combine them all and give you a whole picture of How you can easily do the
Arduino Serial Communication. I hope you guys are gonna enjoy this. You should also have a look at
DC Motor Speed Control using Arduino in which I have controlled the DC Motor via Arduino Serial Communication.
I will also share some more tutorials on
Arduino Serial Communication in the near future so I will also add their links in today's tutorial. If you guys have any questions then ask in the comments and we will try our best to resolve your queries. Moreover, most of these codes are testing on Proteus and the simulations are given for download so you can download them from respective link but as a suggestion try to design them on your own. So, let's get started with How to do
Arduino Serial Communication:
How to do Arduino Serial Communication ???
- Arduino boards contain Serial Port in it. If we talk about Arduino UNO then it has the Serial Port at Pin # 0 and Pin # 1 as shown in below figure:
- These are the Arduino UNO Serial Pins and you can see it has only two pins so which means we can add only one serial device with it. We can use software serial, i am gonna discuss that later.
- Now Arduino Mega has four Serial Ports on it as shown in below figure:
- You can see in the above figure that Arduino Mega has:
- Serial: Pin # 0(RX) and Pin # 1(TX).
- Serial1: Pin # 19(RX1) and Pin # 18(TX1).
- Serial2: Pin # 17(RX2) and Pin # 16(TX2).
- Serial3: Pin # 15(RX3) and Pin # 14(TX3).
- So, these are pins through which we can do the Arduino Serial Communication.
- Now let's have a look at them step by step:
1. How to use Arduino Serial Write
- First of all you should read How to use Serial Write in Arduino in which I have explained in detail How to send data through Serial Port.
- In this tutorial I have used Arduino UNO so I have used Pin # 1 which is the TX pin and I am transmitting data Serially.
- For sending data we use below two commands:
Serial.write("a");
Serial.print("b");
- You should read the above tutorial because I have explained everything in it.
2. How to use Arduino Serial Read
- Next tutorial, you need to read is How to use Serial Read in Arduino in which I have explained How you can read data coming through Serial Port and then displayed it on LCD.
- It's an interesting tutorial and you must read that out. It will help you in understanding How you can receive data through serial port and then use that data.
- This data could be coming from GPS or GSM or some other serial sensor or device.
- For reading data though Serial Port you need to use below command:
char data = Serial.read();
- You must read the above tutorial to have a strong grip on it.
3. How to use Arduino Serial Monitor
- Once you got the detailed concept of How to read and write data to Serial Port the next thing you need to do is to read about How to use Serial Monitor in Arduino.
- Arduino Serial Monitor is a great tool needed for Arduino Serial Communication.
- It works as a debugging tool and I have explained in detail in this tutorial How to use it and do your Arduino Serial Communication.
4. How to use Arduino Serial Flush
- Flushing Serial data is important if you wanna do a smooth Serial Communication.
- So, I have posted a tutorial on it in which I have teach How to use Serial Flush in Arduino.
- For Serial Flushing we use the below command:
Serial.Flush();
- Serial Flush is not that necessary when you are working on small projects but if you are doing big projects in which you need to deal with a lot of data like GPS then you must consider it.
5. How to use Arduino Software Serial
- As I have told in the start that Arduino UNO has just one Serial Port so you can only connect one Serial device with Arduino UNO.
- So, what if you want to do more than one serial device with Arduino UNO then there's you need to know How to use Arduino Software Serial.
- So you guys must read this tutorial becuase we have to use it a lot in Arduino Projects.
So, that's all for today. I hope you have enjoyed this tutorial. I am gonna add more tutorial in it when I post them on our blog. So till next tutorial take care and have fun !!! :)
How to use Arduino Software Serial ?
Hello friends, I hope you all are fine and having fun. In today's tutorial, I am going to show you How to use Arduino Software Serial. In my previous tutorial, we have had a look at How to use Arduino Serial Write and How to use Arduino Serial Read. In both of these tutorials, we have done the hardware Serial Communication. But we all know that Arduino has just one Serial Port placed at pins 0 and 1.
So, if you are having two or more serial modules, then there's difficulty in adding two modules because we just have one hardware serial port. So, in such cases, there's a need to add one more serial port and that serial port can be created at any two pins of Arduino and is called software serial. Software Serial is also named Virtual Serial Port.
It's really very comfy if you are working on serial modules. If you ask me, I have never used a hardware serial port because pin # 0 and pin # 1 are also used for uploading code and debugging the code via Arduino Serial Monitor. So, I always connect my Serial modules via software serial and then check their output on Serial Monitor. So, let's get started with How to use Arduino Software Serial:
Where To Buy? |
---|
No. | Components | Distributor | Link To Buy |
1 | Arduino Uno | Amazon | Buy Now |
How to use Arduino Software Serial?
- I am going to use Proteus software for testing the codes.
- You can download the Proteus Simulation for Arduino Software Serial, by clicking the below button:
Download Simulation & Code
Arduino Code
- First of all, let me tell you where you can find Examples of Software Serial.
- Arduino has a Library of Software Serial in it. If you can't find its library then you should download the Software Serial Library.
- Now copy and paste the below code in your Arduino software:
#include <SoftwareSerial.h>
SoftwareSerial SoftSerial(2, 3);
void setup()
{
Serial.begin(9600);
SoftSerial.begin(9600);
SoftSerial.println(" **** Its a Software Serial **** ");
SoftSerial.println(" Designed by www.TheEngineeringProjects.com");
SoftSerial.println();
Serial.println(" **** Its a Hardware Serial **** ");
Serial.println(" Designed by www.TheEngineeringProjects.com");
Serial.println();
}
void loop()
{
if (Serial.available())
{
char data = Serial.read();
SoftSerial.print(data);
}
}
- In the above code, we have first included the Arduino Software Serial Library using #include<SoftwareSerial.h>.
- After that, I have created the SoftSerial object and its parameters are SoftSerial(RX, TX), so in the above code pin # 2 has become RX of our Arduino Software Serial and pin # 3 become TX.
- Now our SoftSerial object is ready and then we have initialized our software serial by using SoftSerial.begin(9600), here we have started our software serial and the baud rate set is 9600.
Proteus Simulation
- Now design a small circuit in Proteus, you will need Arduino Library for Proteus to use Arduino in Proteus, as shown in the below figure:
- Now get the Arduino Hex File and upload it to your Proteus software.
- Now run your Proteus Simulation and you will get something as shown in the below figure:
- So, it's printed there that one is hardware serial and second is software serial and you can see the software serial is connected to Pin # 2 and Pin # 3.
- Now when you write something in the Hardware Serial, it will also get printed in the Software Serial, that's the code which we have added in the loop() section.
So, that's all for today, I hope you have enjoyed this Arduino Software Serial example. Download the Simulation from the above button and try to design it on your own. Take care and have fun !!! :)
How to use Arduino Serial Flush?
Hello friends, I hope you all are fine and having fun with your lives. Today, I am going to share a very quick and basic tutorial in which I will show you How to use Arduino Serial Flush. I hope you guys are going to like it. We have seen How to use Arduino Serial Write? In that tutorial, we have sent some data over the Serial Port so you must recall that tutorial because we are going to use the same example today. Moreover, it's also good if you have a look at How to use Arduino Serial Monitor because that's also related.
Moreover, I hope that's going to be my last lecture on Arduino Serial Port because I have covered it in full detail. Although I am going to summarize all the Arduino Serial Post Commands in a single Post. You should also have a look at How to do Arduino Serial communication because, in that tutorial, I have combined all Arduino Serial Projects. Anyways, let's get started with How to use Arduino Serial Flush:
Where To Buy? |
---|
No. | Components | Distributor | Link To Buy |
1 | Arduino Uno | Amazon | Buy Now |
How to use Arduino Serial Flush?
- Arduino Serial Flush is used to flush the data sent through Arduino Serial Port.
- When we send data on a serial port through Arduino then we use the command Serial.print() or Serial. write().
- So when the data is sent it is sent using interrupt and when we use Arduino Serial Flush command then it makes sure that all the data is sent through serial port and nothing's left in the stream.
- In simple words, it clears the serial data stream and kind of refreshes it and also makes you ready to send the next data.
- Here's the syntax to use the Arduino Serial Flush command:
Serial.flush();
- It doesn't return anything that's why we haven't assigned any variable to it.
- It's just a simple function that clears the data on the transmitting pin of Arduino.
- Now, if you want to remove that on receiving pin of Arduino, then you just need to write this command:
while(Serial.available());
- But you make sure while using the above command because if you are receiving the data continuously then your code will remain stuck and won't move forward unless you got the complete data.
- So, here's the small code which I have also used in the Arduino Serial Write tutorial but now I am using the Arduino Serial Flush command too.
- So, here's the code:
#include
// 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);
// lcd.clear();
Serial.write("www.TheEngineeringProjects.com");
Serial.flush();
}
void loop()
{
}
- In the above code, I have simply added the Arduino Serial Flush code and now it will take a little more time to complete because now it will make sure that all the data has been sent.
So, that's all for today. I hope you guys have enjoyed this short Arduino Serial Flush tutorial. If you have any questions, please ask in the comments. Take care !!! :)
How to use Arduino Serial Monitor ?
Hello friends, I hope you all are fine and having fun with your lives. In today's tutorial, I am going to show you
How to use Arduino Serial Monitor. It's not gonna be a very big post but its really very essential if you wanna learn Arduino coding. Because Arduino Serial Monitor is a great debugging tool and it helps a lot in Arduino Projects. In the previous post we have seen
How to use digitalRead in Arduino and if you recall that tutorial then you must remember that in it we have used some Serial printing. So that's what we are gonna cover in today's tutorial.
Before going into the details, I must suggest you to first read these two posts because in those tutorials I have shown the serial communication which is essential for Serial Monitor Working. So, you guys must first read them and then continue this tutorial. IF you have any questions then ask in the comments.
So, now let's get started with Introduction of
Arduino Serial Monitor:
How to open Arduino Serial Monitor ?
- There are two ways to open Arduino Serial Monitor, so let's discuss both of them one by one:
First way
- Open your Arduino Software and then click on the small box in the right top corner as shown in the below figure:
- Your Arduino must be connected to your computer when you click this Serial Monitor.
- If Arduino is not connected then it will create error but if Arduino is connected and configured then it will open a new window as shown in below figure:
- This new window is called Arduino Serial Monitor, we are gonna discuss how to use it in the next section, let's have a look at the second way of opening it:
Second Way
- You can also open it by clicking on the Tools in the Top Menu and then click Serial Monitor and same Serial Monitor will open up as shown in below figure:
- You can also use the short keys Ctrl+Shift+M to open Arduino Serial Monitor.
- So, that's all about How to open Arduino Serial Monitor. So, now let's have a look at How to use it and why to use it ? :)
What is Arduino Serial Monitor ?
- Arduino Serial Monitor is a simple tool available in Arduino software.
- Arduino Serial Monitor is used in Serial communication and it prints data, whatever you send through the serial port of Arduino will also be view able on this Serial Monitor.
- In Windows XP, we have a Hyper Terminal which is used for Serial communication and this Arduino Serial Monitor is just a replica of that Hyper Terminal.
- So, using this Arduino Serial Monitor you can check what you are sending and you can also place checks in your code.
- For example, I want to check the status f any digital Pin then I can simply Serial print it that when some button is pressed then I will be notified.
- I am gonna discuss it in detail further. but first let's have a simple data sending on Serial Monitor.
- So, connect your Arduino and then upload the below code in it:
void setup() {
Serial.begin(9600);
Serial.print("www.TheEngineeringProjects.com");
}
void loop() {
// put your main code here, to run repeatedly:
}
- Now you can see in the above code that I just begin my serial port and then I have used the command Serial.print to print some data on the Serial Port.
- So, now upload this code in your Arduino board which must be connected to your computer in order to work this Serial Monitor.
- After uploading the code, now open your Serial Monitor and you will get this data in your Serial Monitor which means this data has been sent Serially as shown in below figure:
- Now you can see that our data has been sent serially.
Note:
- Serial Monitor is using the Serial Port so that's why its directly connected to Pin # 0 and Pin # 1 of Arduino.
- When you open your Serial Monitor then your Arduino resets.
- You can change the baud rate from lower right corner so because we have begin our Serial port with baud rate 9600 that's why I have selected 9600 in Serial Monitor.
- Now if you manually want to send some data on the Serial Port of your Arduino (RX) then you can type in above bar and then click Send.
- So, let's design a small code in which we will send the data on the Serial Port which will be received on it.
- So, upload the below code in your Arduino and open your Serial Monitor.
void setup()
{
Serial.begin(9600);
Serial.println("www.TheEngineeringProjects.com");
}
void loop()
{
if(Serial.available())
{
char data = Serial.read();
Serial.print(data);
}
}
- Now, open your Serial Monitor and type something in it and it will be printed on your Serial Monitor as shown in below figure:
- So, I have printed my name and then Send it and it is printed on the Serial Monitor.
- Now, you know both ways of How to use Arduino Serial Monitor, now let me tell you where you can use it.
Serial Monitor as a Debugging Tool
- Serial Monitor is a great debugging tool.
- You can place checks in your code like you wanna see how many lines are working.
- So, if your code is of like 500 lines then you can place check in between like after 100 lines to see if its working or not.
- Similarly, if you are dealing with some GPS module then you can receive its data via the Software Serial and then can print it on the Serial Monitor to see that you are getting the data correctly.
- For having a look at Serial Data Receive you should check Send SMS using Sim900 and Arduino because in that post I have sent data over Serial Port and received data and then printed it on Serial Monitor.
- Here's an awesome video in which one of our team members has shown how to use Arduino Serial Monitor:
So, that's all about the Arduino Serial Monitor and I hope you guys have enjoyed it. I am gonna share more Arduino basic tutorials soon. Take care !!! :)
Evolution of Capacitors
Hello everyone, I hope you all are fine and having fun with your lives. Today's topic is about the Evolution of Capacitors and I have tried my best to explore all about Capacitors. A Capacitor is one of the passive elements. It is a two-terminal electrical component. It stores energy in the form of an electric field. The physical appearance of the practical capacitors varies depending upon their usages. The basic capacitor has two electrical conductors that are separated by a dielectric. The material used in electrical conductors is a conductive electrolyte, thin films, sintered beads of metal and thin foils. And, the material used in the dielectric is plastic, glass, ceramic, Vacuum, mica, paper, oxide layers, etc. A capacitor is also called a condenser. Capacitor mainly depends upon the area of the plates, the distance of the plates and characteristics of dielectric between two plates and it uses in many electronics and electrical projects.
What is a Capacitor?
It is defined as the ratio of the electric charge Q to the potential difference V.
C = Q / V
The capacitance of a capacitor is measured in units called
Farads. A capacitor is said to have one Farad of capacitance only if the capacitor can hold one ampere per second of electrons at one volt at a rate of one coulomb of electrons per second.
The Evolution of Capacitors
The evolution of capacitors took place in an interesting way. In the 6
th century, a Greek scientist ‘Thales of Mileus’ rubbed amber with animal fur. The amber acquired the ability to pick up small bits of material. After several thousands of years have passed (in the 18
th century) many changes took place. Von Kleist built the first practical capacitor. He took a medical bottle and filled it partly with water, and then sealed it well with a cork. Later he pushed a nail through the cork into the water. Next, the nail was made to contact with the electrostatic machine, this produced some charge. When Von Kleist was about to touch the nail, he felt the separated charges were able to reunite by flowing through his own body.
One of the famous experiments was Leyden Jar. Van Musschenbroek conducted an experiment that can be said as the first capacitor. His experiment was almost similar to Von Kleist’s one; however, he just removed water from the bottle and used metallic foil to wrap both inside and outside of the jar. There was a metal chain that was driven through the cork on the top of the jar. This chain was hooked with something that would produce the charge. The moment charge was delivered, the jar would hold two equal but opposite charges in equilibrium until they were connected with a wire slightly producing either spark or shock.
Leyden Jar
A scientist named Daniel Gralath was the first to combine several jars in parallel to form a battery.
Jars In Parallel
This experiment went on to another step ahead of the conclusion given by a great scientist Benjamin Franklin. He told that the charge was stored in the glass, not in the water. So, this made him replace with a dielectric sheet-like oiled paper sandwiched in between the sheets of metal foils which were rolled or folded into a small package.
Finally, the experiment took good shape when Michel Faraday added his contribution. He came up with the concept of a dielectric constant. He not only invented the first practical fixed capacitor and variable capacitor, but also the first usable capacitor which was made from large oil barrels.
Symbols Of Different Capacitors
- Symbols and Practical Diodes in the Real-Time Applications:
Capacitor Polarity:
Capacitors are measured in the units Farad. Most of the values are in micro Farad. Microfarad is one-millionth of a Farad. The PicoFarad is one-millionth of a Micro Farad. It is used in radio works. The Pico Farad capacitor size is larger than the Micro Farad capacitor. Some of the capacitors are unpolarized like resistors. They can be placed in either way in a circuit. Electrolytic Capacitors have anode and cathode that need to be placed in a particular direction. Electrolytic capacitors evaporate after 2000 hours at 105 degrees Celsius.
Construction of a Capacitor
- The basic model of the capacitor is made of two plate metals which are separated by a dielectric material.
- From this basic concept of construction, capacitors have evolved into many different models of construction.
.
Construction Of Capacitor
- Real capacitors are made by taking thin strips of metal foil and dielectric material and then sandwiching them together.
Capacitor With Foil
- In an Aluminum Electrolyte Capacitor, there is an aluminum foil, an electrolyte and porous paper.
Aluminum Capacitor
- In ceramic capacitors, ceramic acts as a dielectric material.
Ceramic Capacitor
- In the air capacitors, the air is used as a dielectric medium. In the future, owing to advanced technology capacitors will be made by using different kinds of dielectric material that make them simple, multipurpose and also economical.
Air Capacitor
Capacitor’s Working Principle
A capacitor in a given supply, current starts flowing into the capacitor. The charge gets struck on both plates as they are separated by a dielectric medium. The electrons that are negatively charged particles are on one of the plates; this makes the plate negatively charged. This large mass of negative charges repels with the like charges on the other plate making it positively charged.
Now, these negative and positive charges get attracted to each other which creates an electric field in between the plates as they are being separated by an insulating material. This phenomenon is just like storing energy in a battery.
Working Of Capacitor
The positive and negative charges try to approach together to form one whole mass on the capacitor plates, the capacitor becomes charged. A capacitor has the ability to retain its electric field; this is because both positive charge and negative charge attract each other, but never reach each other. At the saturation point, capacitor plates are fully charged and cannot accept any more charges. This stage is called as the capacitance of the capacitor.
Polarized Capacitor
Polarized Capacitor is also called electrolytic capacitors. It is used in DC applications, higher leakage current, small size capacitors, low-frequency response and high capacitance. It acts as a short circuit when connected in the wrong way. These capacitors are mainly applicable in regulating voltage fitting and smoothing decoupling of power supply.
Polarised Capacitor
Non-Polarized Capacitor
A non-Polarized Capacitor is used in AC applications. When two identical polarized capacitors are connected back to back with one of them in reverse, then they act as a non-polarized capacitor with only half of its capacitance. But this has an only low frequency. If one is in need of high frequency, then a non-polarized capacitor has to be used. It is used in loudspeakers.
Non-Polarised Capacitor
Different Types Of Capacitors
Electrolytic Capacitor
Electrolytic capacitors are polarized capacitors that have anode and cathode. They use a high dielectric constant of the aluminum oxide layer on the plates of the capacitor. This is greater than normal dielectric material.
Construction of Electrolytic Capacitors
The basic capacitor has two plates and one dielectric material. In an electrolytic capacitor, two plates and foils are slightly different. One of the plates is coated with an oxide layer and the paper is soaked in the electrolyte which is placed in between the plates. The foil insulated with an oxide layer is the anode. The thickness of the anode oxide is a thin film. The second foil acts as a cathode. This has to be packaged together and form a cylinder. Now, this is placed in an aluminum can to protect it from external force. While manufacturing the electrolytic capacitor, it is necessary to use high purity foil of anode. The general thickness would be 20µm and 50µm.
Electrolytic Capacitor
It is mainly used in military and space applications, and also in devices requiring very low leakage currents or in long-life characteristics and also to generate high temperatures up to 125 °C.
Ceramic Capacitor
Ceramic capacitors are of fixed values, which cannot be varied. In this capacitor, ceramic acts as the dielectric and two electrodes have it at their extreme ends.
Ceramic capacitors are available in three main types
- Surface Mounted Multilayer Ceramic Capacitors
- Lead Disc Ceramic Capacitor
- Specialist Microwave Bare Leadless Disc Ceramic Capacitor
Ceramic capacitors are available in smaller ratings, typically between 1nF and 1µF, although values up to 100µF are possible. These are small in size and have low-rated voltage. It is a non-polarized capacitor and can be connected to an AC source.
Construction Of Ceramic Capacitor
Ceramic capacitors are made up of fine ground granules of par electric or ferroelectric materials. These are mixed in such a way to get desired characteristics. The manufacture coats them with ceramic discs and uses silver contacts on both sides. To get large capacitance, these devices are made up of multiple layers.
Ceramic Capacitor Construction
Applications of Multilayer Ceramic Capacitors include Consumer electronics, data processing, hard disks, video cameras, DVDs, mobile phones, general electronic circuits and telecommunications.
Variable Capacitor
Variable capacitors are obtained in both mechanical and electrical ways. They are mostly used in L/C circuits to set the resonance circuits. The variable capacitors are used in Radio, Television, etc.
Variable Capacitor
Capacitors are used:
- To block the flow of DC and permit AC
- To couple the sections
- To send desired signals to any sections
- For phase shifting
- For creating delay time
- In grounding the undesired frequencies
- In motor starter
- To filter the ripples in a rectifier circuit and waveforms
Applications of Capacitor
- Capacitor as a Filter: The capacitor is of low pass filter and high pass filter. The reactance of the capacitor is inversely proportional to the frequency. So, we can decrease or increase any circuit at a certain frequency.
- Capacitor as a Discharge Unit: Capacitor has the property of charging and discharging. This application can be used for triggering, ignition and triggering for high scale power sources.
- Snubber Capacitors: It is used to limit the high voltage transient across the circuits.
Thus, this is all about evolution and different types of capacitors. It is used in smooth power supply, audio frequency coupling, in RF coupling capacitor applications and in tunes circuits.
How to use digitalRead in Arduino ?
Hello everyone, I hope you all are fine and having fun. Today's tutorial is the next episode in the series of basic
Arduino tutorial for Beginners. In today's tutorial, we are gonna have a look at
How to use digitalRead in Arduino. In the previous tutorial, we have seen
How to use pinMode Arduino Command, which sets the Arduino Pin either as Input or Output. So, if you are using this pin as input then you have to read its status and that's where you need to use this digitalRead Arduino Command.
Other than Serial Pins in Arduino UNO, we also have 12 digital Pins. Serial Pins are also digital Pins so in total we have 14 digital Pins in Arduino UNO starting from 0 to 13. I am gonna explain them in detail in today's tutorial and we will also have a look at How to use this
digitalRead command in Arduino. So, let's get started with it:
How to use digitalRead in Arduino ?
- As I have explained in the above section that Arduino UNO has 14 digital pins in total starting from 0 to 13 as shown in below figure:
- So, you can see in the above figure that we have RXD at 0 which is sued for Serial receiving and then we have TXD at 1 used for Serial writing.
- So, these pins from 0 to 13 are all digital and after these digital Pins we have GND.
- Now I hope you have got the idea of digital Pins.
- Next thing is How to use these digital Pins, normally we connect different digital sensors with these digital Pins.
- For example, I have a digital Sensor named as Vibration Sensor. This sensor gives HIGH when it feels vibrations and gives LOW in normal condition.
- So, I am gonna connect the Signal Pin of this Sensor with any digital Pin of Arduino.
- Now, coming towards digitalRead command, this digitalRead command is used in Arduino for reading the status of digital Pins on Arduino.
- So, when we want to read whether the digital Pin of Arduino is HIGH or LOW, we use this digitalRead command.
- The syntax of digitalRead is as follows:
int Reading = digitalRead (int PinNumber);
- digitalRead command takes one input which is the value of the Pin, like if you wanna read the digital status of Pin # 8 then you have to enter 8 in the small brackets of digitalRead.
- digital Read returns Boolean data which is either HIGH or LOW and it is saved in the integer variable which I have named Reading in the above syntax. We have discussed it in Arduino Datatypes.
- So, let's have a look at the example of digitalRead:
Reading = digitalRead (8);
- In the above example, I am reading the status of digital Pin # 8 of Arduino and saving it value in the Reading variable.
- So, I hope now you have understood completely How to use the digital Read in Arduino.
Note:
- One important thing to note here is that because we are reading the data from digital Pin so that digital Pin must have to be an input.
- So, you need to declare that Pin as an input.
- So, let's have a look at a small code in which we will read the status of pin # 8 of Arduino and then display its status on Serial Monitor.
- I hope you have already read How to write Arduino Code and knows its basics.
int Pin = 8; // Initializing Arduino Pin
int Reading;
void setup() {
pinMode(Pin, INPUT); // Declaring Arduino Pin as an Input
}
void loop() {
Reading = digitalRead(Pin); // Reading status of Arduino digital Pin
if(Reading == HIGH)
{
Serial.println("HIGH");
}
if(Reading == LOW)
{
Serial.println("LOW");
}
}
Summary
So, here's a short summary of the above discussion for a quick revision:
Definition:
- digitalRead is used to read the status of any digital Pin in Arduino.
- We have to give the digital Pin number in the small brackets.
Syntax:
- Syntax of digital Read is:
int Reading = digitalRead (int PinNumber);
Return:
- digitalRead returns HIGH or LOW depending on the status of corresponding digital Pin.
Example:
Reading = digitalRead (8);
Restriction:
- Before reading status of any digital Pin, we have to first declare that Pin as an input.:
pinMode(8,INPUT);
So, that's all about today. I hope you have enjoyed today's tutorial and are gonna learn something out of it. In the next tutorial, we will have a look at
How to use DigitalWrite Arduino Command, which is used to update the status of digital Pins. Let me know if you have any questions in it. Take care !!! :)