Arduino Tutorial for Beginners
Hello friends, I hope you all are fine and having fun with your lives. Today, I am going to share a complete
Arduino Tutorial for Beginners because I was having a lot of requests about it. Reader were asking the same question that they are new to Arduino and how should they start so if you are beginner to Arduino and you don't have any idea How to learn it then you should read the below tutorials.
I have posted all the basic Arduino Tutorial for Beginners already so in today's tutorial I am just gonna arrange them and must ask you to read them one by one from top to bottom and at then end you will really be able to design any kind of project on Arduino. So, let's get started with Arduino Tutorial for Beginners:
Arduino Tutorial for Beginners
Before going into the practical Arduino Programming, you must first read some theoretical knowledge about Arduino which will really help you out in your Arduino Projects. So these are the
basic Arduino tutorial which I will post here step by step:
What is Arduino ?
First of all, you should read this tutorial in which I have given the basic introduction of Arduino. This tutorial is essential one, if you are new to Arduino.
Arduino Vs Raspberry Pi
Next thing you should read is Arduino Vs Raspberry Pi, its not that important but its always good to have a look at alternatives.
Installation of Arduino Driver in Windows
Now, I suppose that you know the basics of Arduino and have got your Arduino UNO in your hand and are ready to install Arduino Drivers in your Windows.
Arduino Library for Proteus
Next thing you need to read is How to use Arduino Library for Proteus. Using this library you can easily simulate your Arduino boards in Proteus software.
Getting Started with Arduino Software
Now you have the basic idea of Arduino board and you know How to use it in Proteus, the next thing you need to do is to have some understanding about Arduino software.
Basic Arduino Commands
Now, that you have understood the basics of Arduino and its programming so now let's have a look at some
Basic Arduino Commands and I would suggest you to test these commands in Proteus on your own so that you do mistakes and get some knowledge from them. Anyways, let's continue with these Basic Arduino Commands:
Getting Started with Arduino Programming
After having a look at the Arduino software, next thing you need to do is to read about Getting Started with Arduino Programming.
Arduino Data Types
Then we have a tutorial at Arduino Data Types in which we have explained in detail all the Data Types of Arduino.
How to use pinMode in Arduino
How to use pinMode in Arduino is the next tutorial which you must read so that you have an idea about how to make pins input or output.
How to use DigitalRead in Arduino
How to use DigitalRead in Arduino is the next tutorial which you must read so that you have an idea about how to use the digital Pins of Arduino.
How to use DigitalWrite in Arduino
How to use DigitalWrite in Arduino is the next tutorial which you must read so that you have an idea about how to use the digital Pins of Arduino.
How to use AnalogRead in Arduino
How to use AnalogRead in Arduino is the next tutorial and I have explained here how to read the status of analog Pins.
How to use AnalogWrite in Arduino
Analog Write is used to update the status of analog Pins as well as PWM Pins. Here we will discuss this command and in next tutorial we will have a look at PWM Pins.
How to use Arduino PWM Pins
How to use DigitalRead in Arduino is the next tutorial which you must read so that you have an idea about how to use the digital Pins of Arduino.
A Simple Arduino LED Example
First of all, you should have a look at A Simple Arduino LED Example in which I have designed a simple example in Proteus and blinked the LED at Pin # 13 of Arduino.
How to write Arduino code
Next article you should have a look at is How to write Arduino code, in this tutorial I have explained how to write arduino code efficiently.
- Now that you have the idea of basic Arduino programming so now let's move a little further and have a look at How to do Arduino Serial Communication. I have posted a lot of Arduino Serial Tutorial and I would suggest you to read them one by one. Here are all the links of Arduino Serial Tutorials:
At the end, I would suggest you to have a look at this list of
Arduino Projects in which I have given all the Arduino Projects which are posted on our blog, so once you get trained in Arduino then you can try those projects and can get pro in Arduino.
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 !!! :)
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 !!! :)