Sound Detector Library for Proteus V2.0

Hello friends, I hope you all are doing great. In today's tutorial, we are going to share a new Sound Detector Library for Proteus. It's actually the second version of our previous library Sound Sensor Library for Proteus. We have changed the name as "Sound Detector" is written on these sensors. Moreover, this new sensor is quite small-sized, compact and also has an analog output pin. We were receiving many complaints about the large size of the previous sound sensor, as it occupies more space and there's less space left for other components. So, this new one is quite small-sized and I am hopeful students will find it helpful. So, let's first have a look at What is Sound Detector Sensor and why is it used?
Where To Buy?
No.ComponentsDistributorLink To Buy
1Arduino UnoAmazonBuy Now

What is Sound Detector Sensor???

  • Sound Detector sensor is an Embedded sensor, used for the detection of sound in the surroundings.
  • It has both analog & digital outputs and thus gives us information about the intensity of sound as well i.e. how low or high the sound is?
  • So these sensors are used for sound detection but they are not used for sound recognition.
Now let's download the Proteus Library of Sound Detector Sensor and simulate it:

Sound Detector Library for Proteus V2.0

  • First of all, download the proteus library of Sound Detector Sensor by clicking the below button:
Download Proteus Library Files
  • You will get a zip file of Proteus Library, extract these files and open the folder named "Proteus Library Files".
  • In this folder, you will find three files, titled:
    • SoundDetector2TEP.IDX
    • SoundDetector2TEP.LIB
    • SoundDetector2TEP.HEX
  • We need to place these three library files in the Proteus Library folder.
Note:
  • Once added the Library files, now open your Proteus software or restart it. (In order to index the library components, proteus has to restart)
  • In the components section, make a search for sound detector and you will get 4 results, shown in the below figure:
  • Now, let's place all these sensors in the Proteus workspace:

Adding Hex File to the Sensor

  • In order to simulate this sensor in Proteus, we need to add a hex file to the sensor.
  • So, double click on the sensor or right-click on it and then click on Edit Properties and it will open up the Properties Panel.
  • In the Properties panel, we have a textbox titled Upload Hex File and here we need to add the hex file, which we have placed in the library folder of Proteus, as shown in the below figure:
Now our sensor is ready to simulate, so let's design a simple circuit to understand its working:

Sound Detector Simulation in Proteus

  • As we have seen this sensor consists of 5 pins in total, which are:
    • V: Vcc (Power).
    • G: Ground.
    • D0: Digital Output.
    • A0: Analog Output.
    • Test: For Testing Purposes. (It's not present in real sensor)

Why Test Pin is used?

  • As we can't add a real mic in Proteus simulation, so in order to simulate this sensor, we have placed this Test Pin.
  • So, when the voltage at Test Pin will increase, the sensor will consider it as sound intensity is increasing.
  • We need to connect a potentiometer with this Test Pin.

Sound Detector Circuit Diagram

  • Now, we need to design a simple circuit in Proteus, as shown in the below figure:
  • As you can see in the above figure, I have placed an LC filter on the analog output, because we are getting peak to peak voltage and we need to convert it to Vrms.
  • We don't need to place this LC filter with the real sensor.
  • Now, let's run this simulation and if everything's good, you will get results as shown in the below figure:
  • I have simulated two of these sound detector sensors and you can see they have different outputs because they have different voltage at their Test Pins.
So, that was all for today. If you have any problem in simulating the sound detector, ask in the below comments. We will soon share its simulation with Microcontrollers. Thanks for reading. Take care !!! :)

Infrared Tracker Sensor Library for Proteus

Hello friends, I hope you all are doing great. Today, I am going to share a new Infrared Tracker Sensor Library for Proteus. By using this library, you will be able to simulate IR based tracker sensor. This library contains 4 tracker sensors in it. This Infrared Tracker Sensor is not present in Proteus software and we are sharing it for the first time. We have already shared 2 Proteus Libraries of Infrared sensors, you should check them as well. Note: First, let's have a look at what is tracker sensor and why is it used?
Where To Buy?
No.ComponentsDistributorLink To Buy
1IR Tracker SensorAmazonBuy Now
2Arduino UnoAmazonBuy Now

What is IR Tracker Sensor???

  • IR Tracker Sensor uses Infrared technology and contains two IR LEDs on it.
  • A signal is transmitted from one LED, which is reflected back after hitting some target and is received by the second LED.
  • This sensor is normally used in Line Tracking Robotic Projects, where the black line is sensed by this IR Tracker sensor.

Infrared Tracker Sensor Library for Proteus

  • First of all, download the zip file of Proteus Library by clicking the below button:
Download Proteus Library Files
  • Once you downloaded the zip file, extract it and open the folder named "Proteus Library Files".
  • You will find three files in it, named:
    • InfraredTrackerSensorTEP.IDX
    • InfraredTrackerSensorTEP.LIB
    • InfraredTrackerSensorTEP.HEX
  • Place these three files in the Library folder of your Proteus software.
Note:
  • Now open your Proteus software or restart it, if it's already running.
  • In the components section, we need to make a search for Infrared Tracker Sensor, and you will get results as shown in the below figure:
  • As you can see in the above figure, now we have 4 infrared tracker sensors in our Proteus database.
  • Let's place these sensors in the Proteus workspace, that's how they will look like:

Adding Hex File to the sensor

  • Now we need to add the hex file to the sensor, so double click on the sensor to open its Properties Panel.
  • In the properties panel, we have a textbox named "Program File".
  • In this textbox, browse to the hex file of the sensor, which we have placed in the Library folder of Proteus software, as shown in the below figure:
  • After adding the hex file, click the OK button to close the properties panel.
Our sensor is now ready to operate.

Infrared Tracker Sensor Pinout

  • As you can see these sensors have five pins in total, which are:
    1. V: Power.
    2. G: Ground.
    3. D0: Digital Output.
    4. A0: Analog Output.
    5. Test: For Testing Purposes.

Why Test Pin is used?

  • As it's a simulation, so we can't actually generate IR pulses, that's why I have placed this Test Pin.
  • As the voltage at Test Pin will increase, the sensor will consider it as the obstacle is coming close.
  • We will place a potentiometer at this Test Pin.
  • This Test Pin is not present in a real IR Tracker sensor.
So, let's design a simple simulation of this Infrared Tracker sensor to have a look at its working:

Infrared Tracker Sensor Proteus Simulation

  • Design a simulation in Proteus, as shown in the below figure:
  • I have placed an LC circuit in front of the analog output because we have to convert the peak to peak voltage to Vrms.
  • This LC filter is also not required in real hardware, but in simulation, we need to place it to get an analog value.
  • Now, let's run our Proteus simulation of the IR sensor and if everything goes fine, you will get results as shown in the below figure:
  • I have simulated two of these sensors, the rest will work the same and as you can see depending on the potentiometer, we got different values at the output.
So, that was all for today. I hope this library will help you guys in your engineering projects. If you have any questions/suggestions, please use the below comment form. Thanks for reading. Take care !!! :)

Magnetic Hall Effect Sensor(KY-024) Library for Proteus

Hello friends, I hope you all are doing fine. Today, I am going to share a new Magnetic Hall Effect Sensor Library for Proteus. We are sharing this library for the first time and we hope it will help students in their final year & semester projects. In this library, you will find 4 models of the KY-024 Magnetic Hall Effect Sensor. First, we will have a look at the brief overview of Magnetic Hall Effect Sensor, then will add its Library in proteus and will simulate it. So, let's get started:
Where To Buy?
No.ComponentsDistributorLink To Buy
1Arduino UnoAmazonBuy Now

What is Magnetic Hall Effect Sensor?

  • Magnetic Hall Effect Sensor is used to measure the density of magnetic field in the surroundings using Hall Effect Principle.
  • KY-024 is the sensor's model used for measuring magnetic density.
  • There are many different breakout boards available but they all are using the same sensor i.e. KY-024.
So, let's install its Proteus Library and simulate it:

Magnetic Hall Effect Sensor Library(Ky-024) for Proteus

  • First of all, download the Proteus Library zip file for Magnetic Hall Effect Sensor, by clicking the below button:
Proteus Library Files
  • In this zip file, we need to open the folder titled Proteus Library Files.
  • In this folder, you will find three Proteus Library files, named:
    • MagneticHallEffectSensorTEP.IDX
    • MagneticHallEffectSensorTEP.LIB
    • MagneticHallEffectSensorTEP.HEX
  • We need to place these files in the Library folder of our Proteus software.
Note:
  • Now, open Proteus ISIS and if you are already working on it, restart it.
  • In the components search box, make a search for "Magnetic Hall" and you will get four results, as shown in the below figure:
  • Let's place these four Hall Effect sensors' models in our Proteus workspace.
So, we have successfully added these sensors to our Proteus software. Let's design a simple simulation to have a look at its working:

KY-024 Proteus Simulation

  • As we have seen this simulated model of KY-024 has five pins in total:
    1. A0: Analog output.
    2. G: Ground.
    3. V: Vcc (Power).
    4. D0: Digital output.
    5. Test: For testing purposes.

Why Test Pin is used?

  • As it's stimulation, so we can't actually create a magnetic field around the sensor, that's why we have placed this Test Pin.
  • As the voltage at Test Pin will increase, the sensor will consider it as magnetic density is increasing around.
    • If Test Pin is at 0V, the sensor will feel no magnetic field.
    • If Test Pin is 5V, the sensor will feel a maximum magnetic field.
  • We will attach a potentiometer to the Test Pin, for variable voltage levels.

Adding Hex File to the sensor

  • In order to operate the magnetic Hall Effect sensor, we need to add a hex file in its properties panel.(We have placed the hex file in the Library folder)
  • So, double click on your sensor to open its properties panel.
  • In the Upload Hex File section, browse to your sensor's hex file, as shown in below figure:
  • After adding the hex file to the sensor, click on the Ok button to close the properties panel.
Now our sensor is fully operational, so let's design its simulation:

Proteus Simulation of Magnetic Hall Effect Sensor

  • Now, let's design a simulation in Proteus software, as shown in the below figure:
  • I have attached an LED with the digital output of the sensor and a voltmeter with analog output.
  • I have also placed a simple LC filter at the analog output. This filter is not required in real hardware implementation.
  • We are using it in Proteus simulation, as Proteus gives the peak to peak value and we have to convert that PP value into Vrms.
  • If you are working on a real sensor then you don’t need to add this LC circuit.
  • Now, let's run our simulation and if everything's configured correctly, you will get results as shown in the below figure:
  • As you can see in the above figure, our sensors are working perfectly, now if you change the value of the potentiometer, their output will change accordingly.
So, that was all for today. I hope this sensor will help you guys in your final year and semester projects. If you have any questions, please ask in the comments. Thanks for reading. Take care !!! :)

Soil Moisture Sensor Library for Proteus V2.0

Hello friends, I hope you all are doing fine. In today's tutorial, I am going to share a new Soil Moisture Sensor Library for Proteus V2.0. You should also have a look at its previous version i.e. Soil Moisture Sensor Library for Proteus V1.0. If you have worked on the previous version, it has only one soil moisture sensor in it, while in this library, we have added three soil moisture sensors.

First, we will have a brief introduction of the Soil Moisture sensor, then we will download the zip file containing Proteus Library files of Soil Moisture Sensor and finally, we will design a small simulation using these new sensors. So, let's get started:

Where To Buy?
No.ComponentsDistributorLink To Buy
1Arduino UnoAmazonBuy Now

What is Soil Moisture Sensor?

  • Soil Moisture sensor is an embedded sensor, used to measure the moisture level of the soil.
  • It is normally used in agricultural automation projects, i.e. controlling the water flow based on the moisture level of the soil.
  • Soil Moisture sensors are available with both analog and digital outputs.
  • They normally have a potentiometer embedded in them, for controlling the sensitivity of the sensor.

Before downloading the sensor's library file, let's first have a look at what's new in version 2.

Difference b/w V1.0 & V2.0

  • We received many complaints about the big size of the Soil Moisture sensor(V1.0), so we have reduced their sizes in this new library(V2.0).
  • The first version contains only 1 soil moisture sensor, while in V2.0 we have added three soil moisture sensors.
  • The output of V1.0 was quite smooth, while in V2.0 we have made the output a bit fluctuating to make it more realistic.

Now, let's download the Proteus Library zip file for this sensor and simulate it in Proteus:

Soil Moisture Sensor Library for Proteus V2.0

  • First, we need to download the Proteus Library zip file, by clicking the below button:
Soil Moisture Sensor Library for Proteus V2.0
  • After downloading the zip file, extract it and open the folder named Proteus Library Files.
  • You will find three files in this folder, named as:
    • SoilMoistureSensor2TEP.IDX
    • SoilMoistureSensor2TEP.LIB
    • SoilMoistureSensor2TEP.HEX
  • Place these files in the library folder of your Proteus software.
Note:
  • Now, open Proteus ISIS, and if you are already working on it, then restart it.
  • In the components library, make a search for Soil Moisture Sensor, and you will get results as shown in the below figure:
  • Let's place these three soil moisture sensors in the Proteus workspace:
  • Quite pretty, aren't they? :)

Now let's design a small simulation, to have a look at its working:

Proteus Simulation of Soil Moisture Sensor

  • As you can see in the above figure, each of these sensors has 4 pins in total, which are:
    1. Vcc: We need to provide +5V here.
    2. GND: We need to connect it to Ground.
    3. A0: It's the analog output pin, its value will increase as the moisture level of the soil will increase.
    4. TestPin: The voltage level of TestPin will decide the moisture level of the soil.

Why Test Pin is used?

  • As it's a simulation, so we can't actually probe the sensor in real soil, so we are using this TestPin for testing purposes.
  • The value of Test Pin can vary from 0 to 5V, so as the value of this Test Pin will increase, the sensor will consider the moisture level of the soil in increasing and thus its output will also increase. In simple words:
    • If TestPin is HIGH: Soil has maximum moisture level.
    • If TestPin is LOW: Soil is completely dry.
  • We will place a potentiometer at TestPin to provide variable voltage for testing.

Adding Hex File to the sensor

  • We have placed three library files of soil moisture sensor in the Library folder of Proteus, and if you have noticed, one of them is the .hex file.
  • In order to operate this sensor, we need to add that hex file to our sensor.
  • So, double click on the Soil Moisture sensor to open its Properties Panel.
  • In the properties panel, we have a section named "Program File", here upload the hex file which we have downloaded, as shown in the below figure:
  • After adding the hex file, click Ok to close the properties panel.
  • Now, design a small simulation, as shown in the below figure:(I have added this simulation in the Proteus Library zip file)
  • I have added the hex file in both of these soil moisture sensors.
  • Now, let's run the Proteus Simulation and have a look at the output:
  • As we change the value of the potentiometer(attached to Test Pin), the output of the sensor will change accordingly.

So, that was all for today. I hope this library will help embedded students in their engineering projects. If you have any suggestions/comments, please use the below comment form. Thanks for reading. Take care. Bye !!! :)

Home Security System using Arduino UNO in Proteus

Hello friends, I hope you all are doing well. In today's tutorial, we are going to design a Home Security System using Arduino UNO in Proteus software. It's the most commonly designed engineering project, especially in electrical, electronics and mechatronics engineering. Normally engineering students design it as a semester project during their engineering course.

So, today we will design a home security system from scratch in Proteus software. I have given the complete project below to download but I would suggest you to design it on your own so that you could understand it better. So, let's get started:

Where To Buy?
No.ComponentsDistributorLink To Buy
1Battery 12VAmazonBuy Now
2BuzzerAmazonBuy Now
3LM7805AmazonBuy Now
4OptoCouplerAmazonBuy Now
5RelayAmazonBuy Now
6Keypad 4x3AmazonBuy Now
7LCD 20x4AmazonBuy Now
8Flame SensorsAmazonBuy Now
9MQ-2AmazonBuy Now
10PIR SensorAmazonBuy Now
11Arduino UnoAmazonBuy Now

Home Security System: Project Description

  • Before going into the detail, let's first download the complete Proteus Simulation with Arduino Code, by clicking the below button:
Home Security System using Arduino UNO in Proteus

Let me first give you a detailed project description i.e. what we actually want to design? We want to build a Home Security Project, which should follow these security protocols:

  • Fire alarm: It should be able to detect the fire and sound an alarm to alert everyone at home.
  • Smoke alarm: It should detect the gas(smoke) and turn on the alarm(if detected).

The above-mentioned security protocols will be followed 24/7. Moreover, there will be two security modes in the project, named:

  • Secure Mode.
  • Normal Mode.

Let's have a look at both of these modes, one by one:

1. Secure Mode

  • This mode should be selected, when owners want to completely secure their home i.e. they are leaving home or while sleeping at night.
  • If the Secure Mode is selected, the project should follow the following security protocols:
    • Intruder Detection Alarm: It should detect the presence of any human being in the occupied premises.
    • Windows Security Alarm: If someone tries to break through the windows, the project should sound an alarm.
    • Door Security Alarm: If any intruder tries to break through the main door, it should again sound the alarm to alert everyone.

2. Normal Mode

  • This mode should be selected, when owners are at home and just want to take the basic security measures.
  • In this mode, only the Fire Alarm & Gas Alarm will work, while all other alarms will remain on standby.

Other Features

  • There should be an LCD, to display values of all parameters.
  • It should have a buzzer to generate an alarm, in case of emergency.
  • There should a Push Button to make switches between these security modes.

Here's the final simulation, which we are going to design in today's lecture:

So, these are our requirements, which we want to achieve in this Home Security Project. Now let's have a look at the components selected for this project:

Home Security System: Components Selected

Now let's have a look at the list of components, which I have selected for this Home Security Project. I will also briefly explain the purpose of using each component.

1. Arduino UNO

  • As clearly it's an Embedded Systems Project, so first of all we need to select a Microcontroller for our project.
  • As I have mentioned earlier, we will use the Arduino UNO Microcontroller board for designing this project.
  • Arduino UNO will act as the brain of the project and will control all sensors and modules.

2. Flame Sensor:

  • A flame sensor is used to detects the presence of fire.
  • The sensor basically consists of a photo-diode that detects the Infrared rays that emit from the fire. When it detects a fire, its output goes HIGH.

3. Gas Sensor (MQ-6)

  • MQ-6 Gas Sensor is used to detect the concentration of gases in the environment.
  • The sensor produces a potential difference proportional to the concentration of the particular gases.
  • The type of gas that it detects depends upon the material used in the sensor.
  • There are many gas sensors available in the market i.e. MQ-2, MQ-3, MQ-4 etc.
  • These sensors are available as ready-made modules for easy interfacing with the microcontroller.

4. PIR Sensor(HC-SR501)

  • HC-SR501 PIR sensor is used to detect any human being(intruder) in the Secure Mode.
  • It detects the IR radiations from the human movement & generates a pulse on its output.
  • The time period of the pulse could be varied by using the potentiometer on the sensor.

5. Vibration sensor(SW-420)

  • The SW-420 vibration sensor is used to detect any forced entry through windows.
  • In Secure Mode, if someone tries to open the window, the sensor will detect vibrations and will send a HIGH signal to the microcontroller.

6. Infrared Sensor

  • An infrared sensor will be placed at the door and someone tried to enter through that door, the sensor will detect it.
  • It consists of an IR transmitter and a photo-diode that are placed close to each other.
  • If any object movement occurs in front of the sensor, the IR rays hit the object and return back with a particular angle called incident angle.
  • This pulls the comparator output to ground or logic LOW.

7. LCD 20x4

  • LCD 20x4 will be used for displaying the values of all these sensors.
  • It will also display useful information i.e. which mode is selected.

8. Buzzer

  • A small 5V Buzzer is used to sound the alarm.

9. LM7805

  • LM7805 is a voltage regulator and is used to convert voltage from 12V to 5V.
  • Power sources(i.e. battery, adapter etc.) available are normally 12V, as it has become a standard.
  • Moreover, many components also operate at 12V like a buzzer or DC motor.
  • While microcontrollers and sensors work on 5V, so in Embedded projects, it's quite necessary to design a voltage regulator from 12V to 5V and in some cases 3.3V.
  • I normally prefer LM7805 for converting voltage from 12V to 5V.

10. Resistances(1kohm)

  • We need to use a few resistances of 1kohm.

11. Small LED

  • We will also use a small LED for power indication.

12. Capacitors(100uF)

  • We will also use few capacitors of 100uF, as it removes any noise/ripples.
So, these are the components, we are going to use for designing Home Security System. Now let's get started with designing the Proteus Simulation:

Proteus Simulation of Home Security System

As I have told you earlier, I am going to use Proteus software for designing this project. Proteus is an excellent simulation tool, where we will not only design the circuit of this project but will also test its output. I always design my programming algorithms on simulations as working on real hardware is too time-consuming. You should remove all your programming bugs in simulation and once confirmed then design your project in real hardware. So, let's start:

Install Proteus Libraries

Once you added all the libraries, now open your Proteus software.

Designing Circuit Diagram in Proteus

  • Now we need to design a circuit for our project, so select these components from Proteus Components Search Box.
  • First of all, let's design the voltage regulator circuit using LM7805, which will be simply converting the voltage from 12V to 5V.
  • As you can see in the above figure, I have used 12V Battery, while the output of LM7805 is showing 5V and I have also placed an LED for power indication.
LCD Interfacing with Arduino:
  • Next, we need to interface 20x4 LCD with Arduino UNO, so design the circuit as shown in the below figure:

Next, we need to interface five sensors with Arduino UNO, so let's add them to our Proteus simulation:

Sensors Interfacing with Arduino:
  • These are simple digital & analog sensors and are all powered up at 5V.
  • So, simply connect them as shown in the below figure:
  • The Flame Sensor is connected to pin A0 of Arduino UNO.
  • Gas Sensor is connected to pin A1 of Arduino UNO.
  • PIR Sensor is connected to pin A2 of Arduino UNO.
  • The Vibration Sensor is connected to pin A3 of Arduino UNO.
  • The Infrared Sensor is connected to pin A4 of Arduino UNO.

For simulation, ensure all hex files are uploaded to each sensor for proper working. You can upload the source code hex file to the Arduino, by pressing Ctrl+E or by right click --> Edit properties.

Buzzer & Push Button:
  • Finally, we need to add the Buzzer to sound the alarm in emergency cases, I have connected it to Pin A5 of Arduino UNO.
  • I have also connected a push-button for switching the modes, connected to Pin 7 of Arduino UNO, as shown in the below figure:
  • Here's the image of the complete Proteus Simulation for Home Security System:

Now let's design the Arduino programming code for Home Security Project:

Arduino Code for Home Security System

In the previous section, we have designed the Proteus simulation of the project, now let's design its Arduino Code to make it alive. Let's get started:

Initialization LCD Arduino Code

  • First of all, we need to define all our variables, as you can see in the code shown in the right figure.
  • I have included the Liquid Crystal Library, which is used to operate LCD.
  • Next, I have defined all my sensors to the respective pins and then initialized boolean variables for storing the output of sensors.
  • In the Setup loop, I have made the sensors' pins input pullup using the pinMode Arduino command.
  • Finally, displayed an initialization message on the LCD screen i.e. "Home Security System using Arduino UNO By TEP".
  • The message will display for around 1 second and then LCD will be cleared and the SensorDisplay function will be called, which will simply write sensors' names on the LCD screen.
  • Now compile your code and add the hex file in Arduino UNO and run your PRoteus simulation.
  • If everything goes fine, you will get results as shown in the below figure:

So far, we have just displayed the sensor's names, now let's read the sensors' data in the loop section:

Reading Sensors' Data

  • In the loop section, first of all, we need to read the sensors' data using the digitalRead command, as shown in the code.
  • After reading the sensor's data, I have called the SensorValues function, in which I have placed a check on each sensor's value and updated it on LCD.
  • It's quite straightforward code, if the sensor is giving HIGH output, I am displaying Yes on LCD and if it's LOW, I am simply printing No.
  • We haven't yet defined the modes, so the project will keep on reading the sensors and will display their respective value in the LCD.
  • As you can see in the below figure, if the TestPin of the sensor is HIGH, its respective value on LCD is showing "Yes" and if it's LOW then "No" is written.
  • Now, if you change any sensor's value, its respective value on LCD will be updated.

So, we have successfully interfaced our sensors with Arduino UNO and now it's time to add operational modes to our project.

Two Operational Modes

  • As I mentioned earlier, we need to add two operational modes in our project, and the push button will be used for conversion from one mode to another.
  • So, I have simply added an If loop in my code, as shown in the figure on the right side.
  • In normal mode, I have simply displayed the name of the mode at the first line of LCD.
  • While in secure mode, I am checking if either of the sensors goes HIGH, simply turn ON the Buzzer.
  • Although, you won't be able to hear the Buzzer sound in the below figure, but you can see Buzzer's Pin is HIGH because two of the sensors are giving a response. Check the video for Buzzer working.
  • We normally need to use an optocoupler or relay driver in between the buzzer and microcontroller as buzzers normally operate at 12V, but 5V buzzers are also available.
  • Here's the complete Arduino Code:
/* * All rights reserved to TEP www.TheEngineeringProjects.com */ #include const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); #define Flame A0 #define Gas A1 #define Pir A2 #define Vib A3 #define Ir A4 #define Buzzer A5 #define Switch 7 boolean Fire, Smoke, Intruder, Window, Door; boolean Mode = false; void setup() { pinMode(Flame,INPUT_PULLUP); pinMode(Gas,INPUT_PULLUP); pinMode(Pir,INPUT_PULLUP); pinMode(Vib,INPUT_PULLUP); pinMode(Ir,INPUT_PULLUP); pinMode(Switch,INPUT_PULLUP); pinMode(Buzzer,OUTPUT); lcd.begin(20,4); pinMode(Buzzer, OUTPUT); lcd.setCursor(0,1); lcd.print("HOME SECURITY SYSTEM"); lcd.setCursor(0,2); lcd.print(" USING ARDUINO UNO "); lcd.setCursor(7,3); lcd.print("By TEP "); //delay(700); lcd.clear(); SensorDisplay(); } void loop() { Fire = digitalRead(Flame); Smoke = digitalRead(Gas); Intruder = digitalRead(Pir); Window = digitalRead(Vib); Door = digitalRead(Ir); Mode = digitalRead(Switch); SensorValues(); if(Mode==false) // Normal mode { lcd.setCursor(4,0); lcd.print("Normal Mode"); } else // Secure Mode { lcd.setCursor(4,0); lcd.print("Secure Mode"); if((Fire == HIGH) || (Smoke == HIGH) || (Intruder == HIGH) || (Window == HIGH) || (Door == HIGH)){ digitalWrite(Buzzer, HIGH); }else{ digitalWrite(Buzzer, LOW); } } } void SensorDisplay() { lcd.setCursor(0,1); lcd.print("Fire:"); lcd.setCursor(10,1); lcd.print("Smoke:"); lcd.setCursor(0,2); lcd.print("Door:"); lcd.setCursor(10,2); lcd.print("Window:"); lcd.setCursor(0,3); lcd.print("Intruder:"); } void SensorValues() { if(Fire == true){ lcd.setCursor(6,1); lcd.print("Yes");} else{ lcd.setCursor(6,1); lcd.print("No ");} if(Smoke == true){lcd.setCursor(17,1); lcd.print("Yes");} else{lcd.setCursor(17,1); lcd.print("No ");} if(Intruder == true){lcd.setCursor(11,3); lcd.print("Yes");} else{lcd.setCursor(11,3); lcd.print("No ");} if(Window == true){lcd.setCursor(17,2); lcd.print("Yes");} else{lcd.setCursor(17,2); lcd.print("No ");} if(Door == true){lcd.setCursor(6,2); lcd.print("Yes");} else{lcd.setCursor(6,2); lcd.print("No ");} }

Future Scope of Home Security System

  • Embedded has taken over the whole world because of its user-friendliness and low cost.
  • Instead of hiring security guards(which is quite expensive), now smart homes in modern societies are equipped with such home security systems.
  • Modern Home Security systems are even linked with local police or security agencies for emergency help.
  • Moreover, these security systems are not bound to homes only, nowadays offices, banks, shopping malls etc. are all equipped with such smart security systems.

Future Work on Home Security System

  • Today, we have designed a very simple Home Security System, where we interfaced few sensors and have only placed a Buzzer.
  • We will continue this project and will add smart features to it.
  • Let's have a look at few features, which we can add to this project:
    1. We can interface the GSM module to send messages, in case of emergency.
    2. We can add more sensors i.e. ultrasonic sensors, different types of Gas sensors in it.
    3. We can also improve our code by using interrupts instead of polling.
    4. We can also add a camera for facial recognition.
    5. To improve the security, we can add a keypad and only authorized persons will have the access to enter.
    6. The fingerprint sensor can also be used for identification purposes.

No matter what happens, you should put safety first. Even a great security system won’t ensure full protection, which is why you might want to consider secondary measures. Hiring fire watch security will assist you on a daily basis, performing tasks that machines cannot. These veterans will protect your home or office, addressing potential hazards as they appear.

So, that was all for today. I hope you guys have enjoyed today's project. If you have any questions/queries, please ask in the comments and I will try my best to resolve them asap. Thanks for reading, take care. Bye :)

Download Proteus Library of Arduino Modules

Hi Friends! Glad to have you on board. In this post today, we’ll cover How to Download Proteus Library of Arduino Modules.

If you are a regular reader of our blog, you must have noticed that we are sharing Proteus Libraries of different embedded sensors & modules on regular basis. Moreover, we have also launched version 2.0 of few libraries. So, today I am going to provide links to download Proteus Library of all Arduino Boards designed by TEP.

So, let's get started with How to Download Proteus Library of Arduino Modules:

Where To Buy?
No.ComponentsDistributorLink To Buy
1Arduino Mega 2560AmazonBuy Now
2Arduino NanoAmazonBuy Now
3Arduino UnoAmazonBuy Now

Download Proteus Library of Arduino Modules V2.0

  • It's the most advanced version of Arduino Proteus Library and consists of 6 Arduino Boards in total, named as:
    • Arduino UNO
    • Arduino Mega 2560
    • Arduino Mega 1280
    • Arduino Pro Mini
    • Arduino Nano
    • Arduino Mini
  • We have designed 7 Arduino Proteus Libraries V2.0 in total.
  • First, we have designed seperate Proteus Libraries of these 6 boards while in the 7th Library, we have combined all these boards.
  • So, if you just want to use Arduino UNO, then download its respective Library but if you are working on multiple boards, then download the combined version(7th).
Let's have a look at these Arduino Proteus Libraies one by one:

1. Arduino Uno Library for Proteus V2.0

This Arduino Proteus Library contains only one board named Arduino UNO. You need to download zip file of Proteus library and will be able to simulate Arduino Uno in Proteus software. Proteus Library zip file download link is given below: Download Arduino UNO Library for Proteus V2.0

2. Arduino Mega 2560 Library for Proteus V2.0

Using this Proteus Library, you can simulate Arduino Mega 2560 in Proteus ISIS. Here's the link to download its zip file: Download Arduino Mega 2560 Library for Proteus V2.0

3. Arduino Mega 1280 Library for Proteus V2

Here's the link to dowload Proteus Library zip file of Arduino Mega 1280: Download Arduino Mega 1280 Library for Proteus V2.0

4. Arduino Mini Library for Proteus V2

Here's the link to download Arduino Mini Library for Proteus V2.0: Download Mini Library for Proteus V2.0

5. Arduino Nano Library for Proteus V2.0

Download this Arduino Nano Library for Proteus(V2.0) and simulate it in Proteus ISIS. Here's the Proteus Library zip file download link: Download Arduino Nano Library for Proteus V2.0

6. Arduino Pro Mini Library for Proteus V2.0

Check out this Arduino Pro Mini Library for Proteus(V2). It is similar to the V1 Arduino Pro Mini board but comes in a smaller size. Download Arduino Nano Library for Proteus V2.0

7. Arduino Library for Proteus V2.0

Arduino Library for Proteus contains all 6 Arduino boards. Simply sownload its zip file and you can use any of these 6 Arduino boards. Here's the link to download zip file of Arduino Proteus Library: Download Arduino Library for Proteus V2.0

Arduino Library for Proteus V1.0

In this section, we’ll cover Arduino Library for Proteus V1.0. We’ve designed this library for six different types of Arduino boards.

1. Arduino Mega 2560 Library for Proteus V1

Check out this Arduino Mega 2560 Library for Proteus(V1). Using this library you can simulate Arduino Mega 2560 in the Proteus workspace.
  • Arduino Mega 2560 is a powerful and application-type Arduino board, based on the Atmega2560 microcontroller.
  • It comes with 16 analog pins and 54 digital I/O pins, including 15 pins for PWM.

2. Arduino Mega 1280 Library for Proteus V1

Read this Arduino Mega 1280 Library for Proteus(V1). In this library, we’ve discussed how to download the Arduino Mega 1280 library and use it in your Proteus software. Arduino Mega 1280 is a compact and efficient Arduino board based on the Atmega1280 microcontroller. There are 16 analog and 54 digital I/O pins incorporated on the board. Moreover, it includes a power jack, reset button, ICSP header, and 4 UART serial ports.

3. Arduino Mini Library for Proteus V1

Download Arduino Mini Library for Proteus(V1). You’ll get to know how to simulate Arduino Mini in Proteus. Arduino Mini is a small-sized, robust, and powerful Arduino board, based on an Atmega328 microcontroller. It comes with 14 digital I/O pins, of which 6 pins are used for PWM.

4. Arduino Nano Library for Proteus V1

Click this Arduino Nano Library for Proteus(V1) and simulate Arduino Nano in Proteus software. Arduino Nano is a small, flexible, and breadboard-friendly Arduino board, based on ATmega328p/Atmega168 microcontroller. It features 8 analog pins, 14 digital I/O pins, 2 reset pins & 6 power pins.

5. Arduino Pro Mini Library for Proteus V1

Check out this Arduino Pro Mini Library for Proteus(V1). Arduino Pro Mini is a compact, small-sized Arduino board, based on the Atmega328 microcontroller. It features 8 analog pins, 14 digital I/O pins, of which 6 pins are used as PWM.

6. Arduino Uno Library for Proteus V1

Download Arduino Uno Library for Proteus(V1) and simulate Arduino Uno in Proteus software. Arduino Uno is a unique, application-type Arduino board, based on the Atmega328 microcontroller.

7. Arduino Library for Proteus V1.0

  That’s all for today. Approach me in the section below if you need any help, I’d love to assist you the best way I can. Thank you for reading this post.

7 Best Arduino Starter Kits for Beginners

Hi Guys! Hope you’re well today. I welcome you on board. In this post today, I’ll detail the 7 best Arduino starter kits for beginners.

Arduino boards are particularly introduced for people with little to no knowledge about programming and electronics. These boards are the improvised version of microcontrollers. If you’re a student or someone planning to get your hands dirty with some electronic projects, Arduino boards are a great way to whet your appetite. Arduino kits house many essential components required to start working with Arduino boards. These kits are developed for people who struggle to get a hold of the nitty-gritty of programming Arduino boards. These Arduino basic kits come with instruction manuals that detail the step-by-step process to make the Arduino projects with the given components. I suggest you read this post all the way through as I’ll walk you through the starter kits to make a range of Arduino starter kit projects. Let’s get started.

7 Best Arduino Starter Kits for Beginners

The following are the 7 Best Arduino starter kits for beginners.

1. Official Arduino Starter Kit

The official Arduino starter kit tops the list. The kit comes with a range of components to start working with Arduino boards. It also includes a 170-page book that details 15 electronic projects that you can develop using the components available in the starter kit. Besides English, this book is available in many other languages including French, German, Chinese, Korean, Spanish, and Italian. This book includes codes and step-by-step tutorials to make electronic projects with the components provided. The official Arduino Start Kit comes with the following components:
  • Arduino Projects Book
  • USB cable
  • Breadboard 400 Pins
  • Arduino UNO R3
  • 9V battery snap
  • Easy-to-assemble wooden base
  • Solid core jumper wires (70)
  • Phototransistors (6)
  • Pushbuttons (10)
  • Stranded jumper wire (1)
  • 10KO Potentiometers (6)
  • Tilt sensor
  • Piezo capsule
  • Temperature sensor TMP36
  • Small DC motor (6/9V)
  • Easy-to-assemble wooden base
  • MOSFET Transistors IRF520 (2)
  • LEDs (1 x Bright White, 1 x RGB, 8 x Red, 8 x Green, 8 x Yellow and 3 x Blue)
  • Small servo motor
  • H-bridge motor driver L293D
  • Capacitors (5 x 100nF, 3 x 100µF, 5 x 100pF)
  • Transparent gels (red, green, blue)
  • Diodes 1N4007 (5)
  • 40 pin male header strip
  • Optocouplers 4N35 (2)
  • Resistors (20 x 220O, 5 x 560O, 5 x 1KO, 5 x 4.7O, 10 x 10KO, 5 x 1MO, 5 x 10MO)
All these components are packaged in a single box. Using these components you can make the following 15 projects. The book includes step-by-step tutorials to make these projects.
  • Color Mixing Lamp
  • Spaceship Interface Design
  • Touchy-Feel Lamp
  • Digital Hourglass
  • Hacking Buttons
  • Motorized Pinwheel
  • Mood Cue
  • Keyboard Instrument
  • Crystal Ball
  • Zoetrope
  • Light Theremin
  • Love-O-Meter
  • Knock Lock
  • Tweak the Arduino Logo
All components included in the package are high quality and ensure the remarkable performance of the kit. This kit contains 2KB RAM for storing the information. You’ll get a lot of high-quality components the reason this kit is more expensive than other kits available on the list. Moreover, this kit doesn’t include the software, which you need to install from the Arduino official website. So, if you want basic components in the kit and money is no problem for you, this gorgeous kit resonates with your needs and requirements.

2. Kuman for Arduino Project Complete Starter Kit

Kuman Arduino starter kit is another valuable beast on the list. You’ll get the eBook along with this starter kit that comes with 44 components from which you can make 23 electronic projects. In the eBook, everything is detailed in step-by-step tutorials to learn and make electronic projects from the available components. The Kuman Arduino Starter Kit includes the following contents:
  • Kuman UNO R3 Development Board
  • Mini breadboard
  • ULN2003 stepper motor driver board
  • LEDs (5 x Red, 5 x Green, 5 x Yellow, 1 x three-color)
  • Vibration Sensor (2)
  • Photoresistor (3)
  • Adjustable potentiometer
  • LM35 temperature sensor
  • Infrared receiver
  • Keycap (4)
  • Flame sensor
  • Active buzzer (tone generator)
  • Key switch (4)
  • Passive buzzer (piezo buzzer)
  • Jumper cap
  • Remote Control
  • Large breadboard
  • Breadboard module
  • Component box
  • 16 x 2 Screen LCD
  • DuPont line 10pin
  • Breadboard line (30)
  • 8*8 dot matrix
  • HC-SR04 module
  • 4 digit 8 segment tube
  • IC 74HC595
  • Battery Holder
  • 1 digit 8 segment tube
  • 40pin pin header
  • Resistors (5 x 220O, 5 x 330O, 5 x 1KO, 5 x 10KO)
  • Battery 9V
  • Thermistor module
  • Touch sensor
  • CD with tutorial
  • Prototype extension board
  • USB cable
  • Plastic box
  • 5V stepper motor
The best part is almost all basic electronic components are included in this kit for beginners to get familiar with the Arduino boards and make projects with the given components. No advanced level components are added to the list, every person with little to no electronic and programming knowledge can use these components. The material used for these contents is top-notch and the price is less than the official Arduino starter kit. All components are packed in the plastic box to help you stay organized and use them based on your needs and requirements.

3. Elegoo Mega 2560 Project Ultimate Starter Kit

Elegoo Mega 2560 is one of the best starter kits available in the market. This Elegoo kit comes with more than 200 pieces of components that anyone can use to make the electronic project. The sensors and modules are added to the kit including water level sensor, RFID reader, ultrasonic sensor, motion sensor, and accelerometer/gyroscope module. While basic components include a potentiometer, resistors, and LEDs. Moreover, it includes a book with 35 lessons for anyone to get started with the kit. The Arduino Mega 2560 projects are detailed in an easy-to-follow guide and the kit contains code and images of assembled circuits, helping you better understand the nature of the components included. The Arduino Mega kit includes the following components:
  • LEDs (5 x Yellow, 5 x Red, 5 x Green, 5 x Blue, 1 x RGB)
  • MEGA2560 Controller Board
  • Thermistor
  • Ceramic Capacitor(22pf & 104pf) (10)
  • Stepper motor
  • Diode Rectifier (1N4007) (5)
  • Servo motor
  • Joystick module
  • Ultrasonic sensor
  • Photoresistor (2)
  • IR receiver
  • Remote
  • RFID module
  • DHT11 Humidity and Temperature Module
You may find difficulty in getting familiar with this kit at the start, but once you get used to it, you’ll start loving it eventually. This starter kit includes an Arduino clone developed by Elegoo. Which works almost similar to the official Arduino board. Elegoo pays special heed to ensure the quality of the product and some wires and components are pre-soldered, saving your time to make the electronic project.

4. SunFounder Project Super Starter Kit

This is another kit to help you get familiar with the Arduino boards. You’ll get more than 200 components in the kit from which you can make around 25 amazing projects. This is cheap, this is high quality, best for beginners. Moreover, you’ll get the DVD stuffed with step-by-step tutorials to make different Arduino projects with the available components. It comes with a UNO R3 controller board and you can extend the functionality of this board by incorporating it with other Arduino boards including, Arduino Mega 328, Arduino Mega 2560, and Arduino Nano. The SunFounder Super Starter Kit includes the following components:
  • Project Box
  • 40 Pin Header
  • Shift Resister 74HC595N (2)
  • LEDs (1 x RGB, 16 x Red, 2 x White, 2 x Green, 2 x Yellow)
  • 555 Timer IC
  • H-Bridge Motor Driver L293D
  • Accelerometer ADXL335
  • Optocoupler 4N35 (2)
  • LCD1602 Character Display
  • Dot Matrix Display 8×8
  • Rotary Encoder
  • Push-Button (5)
  • Resistors (8 x 220O, 4 x 1KO, 4 x 10KO, 1 x 1MO, 1 x 5.1MO)
  • Switch
  • Potentiometer 50KO
  • Booklet
  • USB Cable
  • DC Motor
  • Jumper Wire Male to Male (65)
  • PNP Transistor S8550 (2)
  • Fan
  • Dupont Wire Female to Male (20)
  • Passive Buzzer
  • 7-Segment Character Display (2)
  • Diode (4)
  • Breadboard
  • NPN Transistor S8050 (2)
  • Capacitors (4 x 100nF, 4 x 10nF)
All basic components are included in the kit to help beginners make a range of electronic projects with an Arduino board. The components are packed in a plastic box with different sections, helping you arrange the components, and making it easy for you to find the required component for the project. The components are manufactured with high-quality material, ensuring the high performance of these components during the execution of electronic projects. SunFounder MEGA2560 board is an Arduino clone though, it is fully compatible with the Arduino software.

5. Elegoo UNO Project Super Starter Kit

This is another quality product introduced by Elegoo. It is good for beginners to get familiar with the Arduino board and go from basic to advanced level. The kit includes a CD that comes with 22 lessons to use the kit with the available components. The best part? It is cheaper than the Arduino official starter kit and contains almost the same features required for beginners to learn and make awesome Uno R3 projects from the components included. This kit features Elegoo Uno R3. The following are the components added to this Elegoo Uno kit:
  • 16x2LCD Module ( with pin header)
  • Elegoo UNO R3 (Compatible with Arduino Uno)
  • Breadboard Power Supply Module
  • Breadboard
  • Breadboard Expansion Board
  • Joystick Module
  • ULN2003 Stepper Motor Driver Board
  • IR Receiver
  • Servo Motor (SG90)
  • Stepper Motor
  • DHT11 Temperature and Humidity Module
  • Ultrasonic Sensor
  • 9V Battery
  • Buzzer (Active and Passive)
  • 65 Jumper Wire
  • USB Cable
  • 5V Relay
  • Potentiometer
  • Remote
  • Tilt Switch
  • 4 digit 7-segment Display
  • Button (5)
  • 1 digit 7-segment Display
  • LEDs (5x Yellow, 5x Blue, 5x Green, 5x Red, 1x RGB)
  • Photoresistor (2)
  • P2N2222 NPN Transistor (2)
  • Thermistor
  • Female-to-male DuPont Wire (10)
  • IC 74HC595 Shift Register
  • Diode 1N4007 (2)
  • Resistor (120)
These components are neatly packaged in a box. What makes this kit special? The affordable price of this Uno R3 Starter kit helps it stand out from the rest of the kits available in the market.

6. Vilros Arduino Uno 3 Ultimate Starter Kit

This Vilros Arduino Starter Kit is stuffed with all basic components to make electronic projects with the Arduino boards. This kit comes with a Genuine Arduino Uno Rev3 Board from which you can develop a range of Arduino projects. It contains more than 190 parts and components that you can use for electronic projects. Developed with high-quality material, this kit includes a 72-page instruction guide that details the instructions to make Arduino projects with the given components. This Vilros Arduino Starter Kit comes with the following components:
  • 1N4148 Diodes (2)
  • Arduino & Breadboard Holder
  • Bread Board
  • Shift Register 74HC595
  • Arduino Uno R3
  • NPN Transistors P2N2222A (2)
  • Temperature Sensor TMP36
  • Small Servo
  • 5V Relay
  • USB Cable
  • Jumper Wires (65)
  • 10K Trimpot
  • Piezo Buzzer
  • DC Motor with wires
  • Big 12mm Buttons (2)
  • Resistors (45 x 330O and 45 x 10KO)
  • Photocell
  • LEDs (1x RGB, 10 x Red, 10 x Yellow)
This Arduino kit is better for beginners who want to get a hold of different components with the Arduino boards.

7. Smraza Ultimate Starter Kit

Next comes in the list is Smraza Ultimate Starter Kit. It comes with a PDF file that contains step-by-step tutorials for more than 15 projects - source code for all those projects is also included in the PDF file. This kit includes 150 basic components that you can use with the Arduino to make electronic projects. Everything is neatly packed in a plastic container, helping you stay organized and use the components based on your needs and requirements. Again, this kit is best for beginners as it contains all the basic components that are compatible with the Arduino boards. The Smraza Ultimate Starter Kit includes the following contents:
  • UNO R3 Controller Board
  • Breadboard Expansion Board
  • Thermistor
  • LCD 1602 Module (with pin header)
  • Potentiometer (2)
  • Servo Motor
  • 830 tie-points Breadboard
  • Ultrasonic Distance Sensor
  • Stepper Motor
  • LEDs (1X RGB, 5X Green, 5X Red, 5X Blue, 5X Yellow)
  • ULN2003 Stepper Motor Driver Board
  • Photoresistor (2)
  • 4 Digit 7-Segment Display
  • Power Supply Module
  • Active Buzzer
  • Diode Rectifier 1N4007 (2)
  • Passive Buzzer
  • 2N2222 Transistors (2)
  • Tilt Switch
  • 7-Segment Display
  • IR Receiver Module
  • IC 74HC595
  • DHT-11(Temperature and Humidity Sensor)
  • Joystick Module
  • 9V Battery Adapter
  • 9V Battery with DC
  • Resistors (10X 2K, 10X 5.1K, 10X 10K, 10X 10R, 10X 330R)
  • Male to Female Jumper Wires
  • USB Cable
  • 65xJumper Wire
  • Water Level Sensor
  • Small Button (5)
  • IR remote control
  • 40 Pin Shape Header
  • 40 Pin Header
  • Resistors (10X 220R, 10X 1M, 10X 100R, 10X 100K, 10X 1K)
Not only you can make some basic Arduino projects with this kit, but you can also expand this kit with the sensors and make some advanced Arduino projects. The best part? Some of the components are pre-soldered, saving your time to make electronic projects, helping you stay focused on the programming and other parts of the projects. That’s all for today. Hope you find this article helpful. If you have any questions, you can approach me in the section below, I’d love to help you the best way I can. Feel free to share your valuable feedback and suggestions around the content we share so we keep coming back with quality content customized to your exact needs and requirements. Thank you for reading the article.

Introduction to Arduino UNO REV3

Hi Friends! Hope you’re well today. Happy to see you around. In this post, I’ll detail the Introduction to Arduino UNO REV3. Arduino Uno REV 3 is an Arduino board based on the microcontroller ATmega328P. It carries 14 digital I/O pins out of which 6 can be used as PWM outputs. Moreover, 6 analog input pins are available on the board and the clock frequency is 16MHz. Arduino UNO is one of the most used boards from the Arduino family. The robust and clean design helps you shape your ideas into reality. Know that Arduino UNO REV3 is an advanced version of Arduino UNO. The new version includes four solder pads JP2 attached with the pins PB4 to PB7 of the USB ATmega. Uno stands for one in Italian and this name was picked for the release of Arduino Software (IDE) 1.0. The version 1.0 of Arduino Software (IDE) and Uno board both are considered as the reference versions of Arduino, which evolved with time with new features. The UNO board is the first USB board from the Arduino family. Arduino is an open-source platform which means you can get a hold of Arduino boards and software and edit and modify them as per your requirements. Arduino IDE software is free to use for anyone, moreover, as you join this platform you can get help from the Arduino community. I suggest you read this post all the way through as I’ll detail the complete Introduction to Arduino UNO REV3 covering pinout, features, pin description, and applications. Let’s get started.

Introduction to Arduino UNO REV3

  • Arduino Uno REV 3 is an Arduino board based on the microcontroller ATmega328P.
  • It comes with 14 digital I/O pins out of which 6 can be used as PWM outputs.
  • There are 6 analog input pins and the board’s clock frequency is 16MHz which is used for the synchronization of internal functions.
  • Moreover, this board includes a power jack, USB connection, ICSP header, and reset button.
  • In fact, it contains almost everything required to support the built-in controller. Simply plug this device with the computer using a USB cable or power it up with an AC-to-DC adopter or battery and start playing with it.
  • The operating voltage is 5V while the input voltage ranges from 6 to 20 and the recommended input voltage ranges from 7 to 12V.
  • Only 5 V is required to power up the board, which we can obtain using the USB port or external adopter, however, it can support an external power source up to 12 V which can be regulated and limit to 5 V or 3.3 V depending on the requirement of the project.
  • Internal pull-up resistors are installed in the board that keeps the current under a certain limit. Know that too much increase in the current can make these resistors useless and can ultimately damage the entire project.
  • The flash memory is 32KB while the EEPROM and SRAM are 1KB and 2KB respectively. The flash memory is the location where the Arduino program (sketch) is stored.
  • While the SRAM is the memory used to produce and manipulates variables when it runs. The EEPROM is a non-volatile memory that keeps the code stored even when board power is removed.
  • A reset pin is included in the board that resets the whole board when it is pressed and takes the running program to the initial stage. This pin comes in handy when the board hangs up in the middle of the running program, pressing this pin will clear everything up in the program and again runs the program from the beginning.
  • This board carries a built-in regulation feature that keeps the voltage under control when the board is attached to the external device.

Arduino UNO REV3 Pinout

The following figure shows the pinout diagram of Arduino UNO REV3.

Arduino UNO REV3 Pin Description

Hope you’ve got a brief look into the Arduino UNO REV3. In this section, we’ll cover the pin description of each pin incorporated on the board.

Digital Pins

There are 14 digital pins incorporated on the board. You can use these pins as an input or output based on your requirement. These pins receive two values HIGH or LOW. When these pins receive 5V they are in the HIGH state and when they receive 0V they remain in a LOW state.

Analog Pins

There are 6 analog pins available on the board. These pins can receive any value compared to digital pins that only receive two values i.e HIGH or LOW

PWM Pins

Out of 14 digital I/O pins incorporated on the board, 6 are used as PWM pins. These pins generate an analog signal with digital means when these pins are activated.

SPI Pins

The board comes with an SPI communication protocol that is mainly used to maintain communication between the microcontroller and other peripheral devices like shift resistors and sensors. Two pins: MOSI (Master Output Slave Input) and MISO (Master Input Slave Output) are used for SPI communication between devices. These pins are employed to send or receive data by the controller.

I2C Pins

This is a two-wire communication protocol that comes with two pins called SDL and SCL. The SDL pin is a serial data pin that carries the data while SCL is a serial clock pin that is used for the synchronization of all data transfer over the I2C bus.

UART Pins

This board also supports UART serial communication protocol. It contains two pins Tx and Rx. The Tx is a transmission pin used to transmit the serial data while Rx is a receiving pin that is used to receive the serial data.

LED

There are four LEDs on the board. One is a built-in LED connected to pin 13 other is a power LED. And two are Rx and Tx LEDs which operate when serial data is transferred or received to the board.

Vin, 5V, GND, RESET

Vin……. It is the input voltage supplied to the Arduino Board. It is different from than 5 V we get through a USB port. Moreover, if a voltage is supplied through the power jack, it can be accessed through this pin. 5V……… This board contains voltage regulation ability. This board is activated using three ways i.e. USB, Vin pin of the board, or DC power jack. USB supports voltage around 5V while Vin and Power Jack support a voltage ranges between 7V to 20V. Know that, if a voltage is supplied through 5V or 3.3V pins, they will bypass the voltage regulation which ultimately damages the board if the voltage exceeds the certain limit. GND….. This is a ground pin. More than one ground pins are available on the board which can be used as per requirement. Reset… This pin resets the program running on the board. Instead of a physical reset on the board, IDE can reset the board through programming.

Arduino UNO REV3 Features

Microcontroller = ATmega328P Operating Voltage = 5V Digital I/O Pins = 14 PWM Digital I/O Pins = 6 Analog Input Pins = 6 Input Voltage (limit) = 6-20V Input Voltage (recommended) = 7-12V Flash memory = 32KB SRAM = 2KB EEPROM = 1KB Oscillator = 16MHz Size = 53x68mm Weight = 25g

Programming

  • This board carries all specifications needed to run the controller. You can directly connect this board with the computer using a USB cable and send a lot of instructions to the board using Arduino IDE software. The programming language C or C++ is used to program the controller.
  • It is important to note that Arduino comes with a Bootloader that is mainly used to burn the Arduino program which means you don’t require an external burner to burn the program inside the controller.
  • The Arduino. IDE software is compatible with many operating systems including Windows, MAC or Linux Systems, however, Windows is preferred to run this software.

Difference between Arduino UNO and Arduino UNO REV3

  • The Arduino Uno incorporates the ATMEGA8U2 USB microcontroller on board. While R3 board comes with an upgraded version of the USB controller ATMEGA16U2 on board.
  • The Arduino Uno features an LED and resistor connected in series on pin 13. The R3 board buffers this LED/resistor using a unity gain operational amplifier. This is the separate op-amp that was not used in Arduino Uno.
  • The Arduino UNO R3 board includes a diode across the USB ATmega reset pin pull-up resistor.
  • The R3 board includes four solder pads (JP2) connecting to pins PB4 to PB7 of the USB ATMEGA. These solder pads are not present in Arduino Uno.

Arduino Uno REV 3 Applications

Arduino Uno is used in a wide range of applications. Following are some main applications of the board.
  • Security and Defense System
  • Embedded System
  • Industrial Automation
  • Digital Electronics and Robotics
  • Weighing Machines
  • Parking Lot Counter
  • Traffic Light Count Down Timer
  • Home Automation
  • Emergency Light for Railways
  • Medical Instrument
Don’t confuse the microcontroller with the Arduino board. Every Arduino board is a microcontroller but not every microcontroller is an Arduino board. Both devices are used for different purposes, however, the Arduino board is easy to learn that even a person with no technical skills can get hands-on experience with this device. That’s all for today. Hope you find this article helpful. If you have any questions, you can approach me in the section below. I’d love to help you the best way I can. Feel free to share your valuable suggestions and feedback around the content we share, so we keep producing quality content as per your needs and requirements. Thank you for reading the article.

Interfacing Flame Sensor with Arduino

Hello everyone! I hope you all will be fine and having fun. Today I am going to tell you that how can you make a simple program for Interfacing Flame Sensor with Arduino. Flame sensor is used in offices, home and at different places to detect the fire. First of all I would like to tell you about the working principle of the flame sensor. Flame sensor is a device designed for the detection of the fire and to respond it. They are usually designed for the detection of most frequently used industrial fuel e.g. diesel, gasoline, karosene, ethylene, hydrogen etc. They are designed in way to distinguish between the radiations from the sunlight and the actual flames. There different types of flame sensors e.g. Ultraviolet (UV) detectors, Infrared (IR) flame detectors, UV/IR detectors, IR/IR flame detectors, closed circuit video cameras. The purpose of these all flame detectors/sensors is almost similar i.e. to detect the fire and responding quickly to it. The flame sensors have a wide range of applications in our daily life e.g. fume cupboards, felt manufacture, nuclear industry, pharmaceutical industries, printing, spray booths, generator, storage tanks, industrial heating and drying systems etc.
Where To Buy?
No.ComponentsDistributorLink To Buy
1Flame SensorsAmazonBuy Now
2Arduino UnoAmazonBuy Now

Interfacing Flame Sensor with Arduino

In this section of the tutorial Interfacing Flame Sensor with Arduino, I will explain you the step by step procedure to make a simple algorithm or program in Arduino software for the interfacing of flame sensor with Arduino. The algorithm is pretty simple. I will set a threshold limit, when the temperature exceeds that limit, an LED will be turned on to show the there is something wrong. You can also attach a buzzer with the Arduino. When the fire will be detected buzzer will be turned on automatically. First if all I would like to share the complete source code for Interfacing Flame Sensor with Arduino with all of you guys.
  • You can download the complete source code here by clicking on the button below.
  • Just download the .rar file, extract it and enjoy the complete simulation.

Components Required

Here, I am going to show you the list of all the components used in this project.
  • Arduino UNO
  • Flame Sensor
  • LED
  • Soldering Iron
  • Soldering Gum
  • Power Supply (12V)
  • Jumper Wires
  • Varrow Board
Brief Description of the Components
  • Arduino UNO acts as the back bone of the project. It manipulates the whole source code uploaded to the board, prints the desired data on the serial monitor and also prints the executed commands on the LCD. Arduino UNO is shown in the figure below.
  • Power Supply of 12V is used to turn the entire system ON. Because, we can not test and verify our system until we have not switched it ON. Power supply used for this project is shown in the figure below.
  • Jumper Wires are used to make the connections of the all the components in order to make the complete circuit with proper working. Jumper wires are shown in the figure below.
  • Flame Sensor is used for the detection of the temperature and for showing the immediate response when the temperature is above the threshold. Flame sensor is shown in the figure below.
Circuit Diagram
  • Circuit diagram for the tutorial Interfacing Flame Sensor with Arduino is shown in the figure below.
  • You can run this project properly, by making the circuit first, identical to the circuit diagram shown in the figure above.
  • The analog pin A5 of the Arduino UNO will help us in reading the data from the sensor.
  • The other two pins of the sensor are connected to the supply of 5V and ground respectively as you can see from the above figure.

Block Diagram

  • The block diagram for the project Interfacing Flame Sensor with Arduino is shown in the figure below.
  • Power supply is provided in order to run the project properly.
  • Arduino is the backbone of the whole system and controls all of the devices used.
  • When the temperature crosses the adjusted threshold the LED will be turned ON to indicator that the fire is detected.
  • In normal condition LED will remain Off.

Source Code Descritption

  • Source code for Interfacing Flame Sensor with Arduino is given below.
  • Just copy the entire code and paste it in your Arduino software and upload it to the Arduino board.
#include<SoftwareSerial.h>//library for software serial object

int sensorPin = A0; // flame sensor is attached to A0 pin of Arduino

int sensorValue = 0; // Initial value of the sensor is 0

int led = 9; // an LED is attached to the pin no 9 of Arduino

void setup() //method used to run the code for the one time
{

pinMode(led, OUTPUT);//changint the mode of LED as an output

Serial.begin(9600);//rate at which arduino communicates with laptop

}

void loop()//method used to run the code repeatedly

{

Serial.println("Welcome to TechPonder Flame Sensor Tutorial");//prints on the serial monitor

sensorValue = analogRead(sensorPin);//reads the analog data from the sensor

Serial.println(sensorValue);//prints the sensor data on serial monitor

if (sensorValue < 100)//threshold for the LED indication

{

Serial.println("Fire Detected");//prints on the serial monitor

Serial.println("LED on");//prints on the serial monitor

digitalWrite(led,HIGH);//turning on the LED

delay(1000);//delay of 1 second

}

digitalWrite(led,LOW);//turning of the LED

delay(sensorValue);

}
  • First of all I have declared library of software serial.
  • Then I have defined the pins of Arduino UNO at which the flame sensor and LED are connected.
  • Then I have changed the mode of LED to output.
  • Then I have started reading the analog data from the flame sensor.
  • I have adjusted a threshold, when the temperature exceeds that value LED will be turned on.
  • When the temperature is below the threshold LED will remain off e.g in normal conditions.
So, that is all from the tutorial Interfacing Flame Sensor with Arduino. I hope you enjoyed this tutorial. If you face any sort of problem you can ask me in comments anytime without even feeling any kind of hesitation. I will try my level best to solve your issues in a better way, if possible. I will explore Arduino by making different projects on it and will share all of them with you as well in my later tutorials. Till then, Take care :)

Interfacing Temperature & Humidity Sensor with Arduino

Hello everyone! I hope you all will be absolutely fine and having fun. In the tutorial Interfacing Temperature & Humidity Sensor with Arduino I will tell you that how can you interface temperature and humidity sensor named as DHT11 with Arduino and how can you observe the temperature and humidity level using this sensor. This sensor has usually three pins but some of its types has four pins but only the three pins are of importance for us e.g. VCC, GND and the third pin for reading the data from the sensor. In the tutorial Interfacing Temperature & Humidity Sensor with Arduino, I will make a simple Arduino program which will estimate the level of temperature and humidity continuously and will display the value of both temperature and humidity on the serial monitor. You will see that the sensor will give different readings for the different environments.
Where To Buy?
No.ComponentsDistributorLink To Buy
1LCD 16x2AmazonBuy Now
2DHT11AmazonBuy Now
3Arduino UnoAmazonBuy Now

Temperature & Humidity Sensor with Arduino

I will tell you the step by step procedure that how can you interface DHT11 sensor with Arduino and how to make a simple program in Arduino software to read the data continuously from the sensor and how to display the obtained data on the serial monitor. You can also display this data on Liquid Crystal Display (LCD) as I have discussed in detail in my previous tutorial DC Motor Direction Control using Arduino, DC Motor Speed Control using Arduino, Stepper Motor Direction Control in Arduino and Stepper Motor Speed Control using Arduino.
  • You can download the complete source code here by clicking on the button below.
  • Download .rar file, extract this file and enjoy the complete simulation code.

Block Diagram

  • First of all, I would like to explain you the algorithm with the help of a block diagram.
  • It will help in better understanding of an algorithm.
  • The block diagram for interfacing of temperature and humidity sensor with Arduino is given in the figure below.
  • Power supply in necessary to turn the whole system ON.
  • DHT11 is connected with the Arduino UNO.
  • Arduino UNO reads the data from the DHT11 sensor and displays the obtained data on the serial monitor.
  • That data will also be displayed on the LCD.

Circuit Diagram

  • The complete wiring diagram for this project is shown in the figure below.
  • You can run this project properly, by making the circuit first, identical to the circuit diagram shown in the figure above.
  • The analog pin A3 of the Arduino UNO will help us in reading the data from the sensor.
  • The other two pins of the sensor are connected to the supply of 5V and ground respectively as you can see from the above figure.

Flow Chart

  • The flow chart will help you to understand the flow of the program while executing.
  • The flow chart for this project is shown in the figure below.
  • The data from the sensor can be estimated on the serial monitor only after opening the serial port
  • Then data will be displayed on the LCD and at end serial port must be closed in order to avoid the exchange of unwanted commands.

Source Code Description

  • The source code for this project is given below.
  • You have to just copy and paste the code given below in your Arduino software after properly interfacing DHT11 with the Arduino.
  • After uploading the code onto your Arduino board you will be able to observe the humidity and temperature and humidity level on serial monitor.
#include<dht.h>// DHT11 humidity sensor library
#include<LiquidCrystal.h> //LCD library
dht DHT; //Creating sensor object
#define DHT11_PIN A3 // Sensor is connected to Arduino pin 3
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);// LCD connected with Arduino on these pins
void setup()
{
  Serial.begin(9600); //setting baud rate
  Serial.println("   =====================================================");
  Serial.println("   ||   Welcome to Temperarue and Humidity Detector   ||");
  Serial.println("   =====================================================");
  Serial.println("");
  lcd.begin(20, 4); // initialinzing the LCD order
  lcd.setCursor(4,1); //Setting the cursor on LCD
  lcd.print("Welcome to");//printing on LCD
  lcd.setCursor(2,2);
  lcd.print("Humidity detector");
  delay(2000);//adding delay of 2 secons or 2000 msec
  }
void loop()//method used to run the code repeatedly
{
  int chk = DHT.read11(DHT11_PIN); //Reading data from sensor
  Serial.print(" Humidity = ");//prints on the serial monitor
  Serial.print(DHT.humidity);// prints obtained humidity on serial port
  Serial.print(" g/m^3");

  lcd.clear();//clears all the data on LCD
  delay(1000);//adding delay of 1 second
  lcd.display(); //starting the display of LCD after clearing
  lcd.setCursor(0,0);
  lcd.print("Humidity=");
  lcd.print(DHT.humidity);
  lcd.print(" g/m^3");
  
  Serial.print("    \tTemperature = ");//prints on the serial monitor
  Serial.print(DHT.temperature, 1);//prints obtained temperature on serial port
  Serial.println(" degrees");

  lcd.setCursor(0,1);
  lcd.print("Temperature=");//prints on LCD
  lcd.print(DHT.temperature, 1);//prints the obtained temperature on LCD
  lcd.print(" deg");

  lcd.setCursor(1,2);
  lcd.print("www.TheEngineering");
  lcd.setCursor(4,3);
  lcd.print("Projects.com");

  delay(2000);//adding the delay of 2 seconds
  }  
  • I am going to explain you that how this code is working!
  • First of all I have added the library in the libraries folder at the destination where the Arduino software is installed.
  • I have defined DHT11’s library in the source code then.
  • Then I have defined the library for LCD.
  • I have defined the pin at which DHT11 is attached with the Arduino board.
  • Then I have defined the Arduino pins at which the LCD in interface.
  • Then by opening the serial port I have started to print the level of temperature and humidity on the serial monitor as well as on the 20×4 LCD.
  • At the end, I have added the delay of 2 seconds so that the speed of the data to be printed on the serial monitor can be reduced to some extent in order to observe properly.
  • This was the brief description of the source code.
That is all from the tutorial Interfacing Temperature & Humidity Sensor with Arduino. I hope you enjoyed this tutorial. If you are facing any problem regarding any of my tutorials, you can ask me freely in the comments without even feeling any kind of hesitation, I will try my level best to solve you issues in a better way, if possible. I will explore Arduino by making further projects and will share them with you as well. So, till then, Take Care :)
Syed Zain Nasir

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

Share
Published by
Syed Zain Nasir