Smart Home Security System using Arduino

Security systems are widely suggested for homes as well as other locations. Everybody wants to take necessary steps to prevent infiltration at home, thus this security is necessary. Intruders nowadays may take advantage of almost any illegal activity and wreak havoc on a property's security. The security of one's home is a critical concern that everyone faces in the current day.

While there are certain devices on the market that may considerably help protect your house, some of them are excessively costly and need constant maintenance. Many devices regarding smart home security systems are available in the market but these are not user friendly according to the budget, the device we designed provides the user with a better interface with the help of LCD. We have used enough sensors that make sure the security protocol.

So in this way, we designed a reasonable security system that has the features of gas and flame detection with the help of MQ-2 Gas Sensor and flame sensor respectively and also have installed a Motion detector sensor known as PIR sensor to detect the intruder's motion. For a better user interface an LCD and Alarm are installed to alert the user. The whole system is programmed using Arduino UNO. A proteus circuit is designed for this project as shown below:

  • You can download the complete project i.e. Proteus Simulation and Arduino Code by clicking the below button:
Smart Home Security System using Arduino
Where To Buy?
No.ComponentsDistributorLink To Buy
1LCD 20x4AmazonBuy Now
2SIM900AmazonBuy Now
3Flame SensorsAmazonBuy Now
4MQ-2AmazonBuy Now
5PIR SensorAmazonBuy Now
6Arduino UnoAmazonBuy Now

Components Required

For the home security system, we have used 3 sensors which are briefly explained as follows:

Flame Sensor

  • The flame sensor is used to detect the fire, it has 3 pins (Ground, VCC, OUTPUT) with operational voltages ranging from 3.3V to 5V.
  • This sensor may be constructed using an electrical circuit and a receiver similar to that used for electromagnetic radiation.
  • This sensor employs the infrared flame flash technology, which enables it to operate through a layer of oil, dust, water vapor etc.
  • There are several wavelengths of flame sensors normally in the range of 700 to 1100 nm from the source.
  • Normally flame sensors have an operating temperature ranging from -25? ~ 85? with several features like adjustable sensitivity, fast response time and ease to use.
  • Proteus doesn't have a Flame Sensor in its database, so you need to download this Flame Sensor Library for Proteus.

PIR Sensor

  • PIR Sensor is used to detect the intruder’s motion.
  • There are mainly two kinds of infrared sensors one is active and the other is passive.
  • The active infrared sensor emits as well as absorbs the infrared radiations whereas the passive infrared sensor simply absorbs not emit.
  • When an object enters or escapes the sensor's range, a passive infrared sensor is employed to detect it.
  • For adjusting the sensitivity and delay time, there are two trim pots supplied. You may alter them to meet your requirements.
  • The sensor produces a HIGH output when it senses movement within its range; otherwise, it generates a LOW output.
  • PIR also has 3 pins like a Flame sensor.
  • It has operating voltages of range 5V - 20V with output voltage generation of 0V-3V when the object is detected in the sensing range that is 7 meters.
  • Proteus doesn't have a PIR Sensor in its database, so you need to download this PIR Sensor Library for Proteus.

MQ-2 Gas Sensor

  • MQ2 gas sensors detect the presence of gases such as LPG, methane, ethanol and carbon monoxide in the air ranging up to 10000 ppm using electricity.
  • It is also known as chemiresistor for the MQ2 gas sensor.
  • The resistance of the sensing material changes depending on the amount of gas present.
  • When it comes to detecting gas, sensors use variations in resistance value that generates the output voltage.
  • When a sensor material is heated to a high temperature in the air, oxygen is adsorbed on the surface.
  • Because current can flow via the sensor, its analog voltage values may now be read.
  • The voltage values reported here may be used to compute the concentration of a gas. When the gas concentration is high, the voltage values are greater.
  • Proteus doesn't have a Gass Sensor in its database, so you need to download this Gas Sensor Library for Proteus.
 

Arduino UNO

  • Atmel's ATMega328 is used in the Arduino Uno, an open-source single-board microcontroller.
  • Either an external power source or a 5V USB connection may be used to power the device.
  • In all, there are 14 digital input/output pins on the board, with 6 of them serving as PWM outputs.
  • On the board, you'll find a reset button and six analog input pins. The Arduino software is used to program the board, which is written in C language.
  • When it came to controlling the home security system, the Arduino Uno's capabilities were found to be sufficient.
  • Arduino Boards are not present in Proteus, so we need to use this Arduino Library for Proteus.

Circuit Designing

  • This whole project is designed to provide a security system for the home in which multiple safety sensors can be installed with a Buzzer and LCD for a better user interface.
  • We won't design this project in real, instead, we are going to design its Proteus simulation.
  • If you are working on an electronics/embedded project, then it's always a best practice to design its simulation first.
  • In simulations, it's easy to debug your code and thus you can program quickly.
  • Once you are satisfied with your project's working, you can move forward to hardware designing.

So, let's design our Proteus Simulation for Smart Home Security System:

Proteus Simulation

  • These are the components, which we are going to use for designing our Proteus Simulation:
  • So, select these components from Proteus Components Library and place them in your workspace, as shown in the below figure:
  • Next, we need to connect these components' pins to complete our circuit, as shown in the below figure:
  • As you can see in the above simulation, we have used three sensors in total, which we have discussed above.

So, now we are going to design the Arduino Code for this simulation:

Arduino Programming Code

We have designed the circuit in our Proteus Simulation and next, we need to design its Arduino Code, in order to make it work.

LCD Initialization Code

  • First of all, we are going to interface LCD with Arduino UNO and will display the Project's name on the screen.
  • The code is shown in the below figure:
  • As you can see in the above figure, we have first initialized the variables.
  • Arduino board is programmed using Arduino IDE software which has mainly 2 sections void setup and void loop.
  • Before void setup, we have to declare the pins of sensors and actuators that we are using in our project.
  • Depending on the nature of sensors (analog or digital) the pins of sensors are connected to Arduino UNO accordingly.
  • #define is used to declare the pins of Gas, PIR, FIRE and BUZZER.
  • Initially, all the sensors have zero value that is stored by an integer variable.
  • In the void setup section, input and output sensors are defined.
  • GAS, PIR, and FIRE sensors are employed as input sensors to detect and activate the BUZZER, which is an output component.
  • LCD 20×4 is used and lcd.begin is used to initiate the LCD.
  • lcd.setCursor is used to cursor position on LCD and the name of the project is displayed on LCD Screen using lcd.print command.
  • Now, let's run our simulation to check the results, shown in the figure below:

Sensors Interfacing with Arduino

  • In Arduino IDE code execution, void setup runs once while the void loop executes again and again.
  • analogRead and digitalRead commands are used to read the value of analog and digital sensors respectively, while analogWrite and digitalWrite commands are used for sending commands or data.
  • As shown in the above figure, first, we have read the sensors' data and if all sensors are in LOW state, then have displayed the message "You are safe".
  • Let's run the code to check the output:
  • As you can see in the above figure, all sensors are at a LOW state and thus LCD is displaying the safe message.
  • Next, we have added the if loop for the case where all sensors are giving HIGH value:
  • The rest of the code has similar if loops for various conditions of sensors.
  • You can download the complete code and Proteus Simulation from the link, given at the start of this tutorial.
  • Now, let's run our final simulation and test the sensors and if everything goes fine, you will get results as shown in the below figure:

Future Recommendations

It deters the crime and notifies the user about the gas or fire problem. Home security systems are mostly utilized for safety reasons in residences, businesses, and educational facilities. Another option is to use a mobile device or the internet to send data to a remote location. Other modules, such as a wind sensor or a fire sensor, might be added to the system in the future. Voice alarm modules may also alert you to an intruder or a gas leak if you use them. We can increase the number of sensors to make it better. We can use the latest technology of the Internet of Things that makes our system wireless. A growing number of devices and goods are being connected to the Internet, which is referred to as the Internet of Things by the phrase. We can use the Internet of Things to produce a low-cost security system for residential and industrial applications that is especially useful for home security. When the door is opened or an unauthorized entry is detected, the system will send an alert to the owner. The user may take action after getting the notification. ESP8266 Wi-Fi module will connect to and interact with the Internet, while an Arduino Uno microcontroller keeps track of the system's status, as well as a magnetic Reed sensor for sounding the alarm. The principal advantages of this system are ease of installation, low costs, and low maintenance requirements.

So, that was all for today. I hope you have enjoyed today's project. If you have any questions, ask in the comments. Thanks for reading. Take care !!! :)

Smart Irrigation System using Arduino UNO

Hello everyone, we are back with a new project and we hope you all are doing well. In this article, we will discuss a project named Smart Irrigation System using Arduino UNO. We will use different sensors to measure the environmental and crop parameters which are responsible for good production. We will also make the water pump system automatic which will open the water valve automatically according to the soil moisture of the crop.

We will discuss all points and concepts briefly in this article and also provide a Proteus Simulation to observe how it will work in the real world. Complete fully explained code and simulation are also provided below as you go ahead in this article. You can download it from there.

Smart Irrigation System using Arduino UNO

Let’s start with an Introduction:

Where To Buy?
No.ComponentsDistributorLink To Buy
1LCD 20x4AmazonBuy Now
2LDR SensorAmazonBuy Now
3MQ-135AmazonBuy Now
4Arduino UnoAmazonBuy Now

Introduction 

In the late decades, there has been a quick advancement in Smart Agricultural Systems. Show that agriculture has great importance worldwide. Indeed, in India for example, about 70 % of the people rely upon the vital sector of agriculture. In the past, irrigation systems used to be dependent on the mills to irrigate the farm by conventional methods without knowing the appropriate quantities of these crops.

These old systems are a major cause of the waste of large quantities of water and thus destroy some crops because of the lack of adequate quantities of water. However, with the recent technological developments, there have been innovative systems for irrigation without the farmer interfering in the irrigation process. We will discuss it in brief below.

We will do a simulation on Proteus 8 Professional Software.

Working

The working of this project is like, we will use a Soil Moisture sensor for measuring the moisture of Soil according to which water valves are controlled. When the moisture level gets below a threshold value, valves will open with the help of a relay or solenoid till the soil is well moisturized.

  • The BMP180 sensor will measure the Atmospheric Pressure.
  • The DHT11 sensor will measure the temperature and humidity of the climate.
  • The MQ135 sensor will measure the Air Quality Index of the environment.
  • LDR will measure the sunlight intensity.
  • We will use a 20x4 LCD Screen for displaying the data gathered from the sensors.
  • And the main thing, we will use an Arduino UNO microcontroller as the brain of the project.

In a used case, when the moisture level gets below a threshold value, valves will open with the help of a relay or solenoid for a required time interval.

Block Diagram

  • Here's the Block Diagram of Smart Irrigation System:

Components Required

Here's the list of components used in this project:
  • Arduino UNO
  • BMP180 Sensor
  • DHT11 Sensor
  • LDR Sensor
  • MQ135 Gas Sensor
  • Soil Moisture Sensor
  • 20x4 LCD Display
  • PCF8574 remote 8-bit I/O expander for the I2C bus
  • Breadboard.
  • Jumper wires (Male to Male, Male to Female, Female to Male.)

Since we are designing a prototype of this project, we will use jumper wires instead of soldering.

  • Power Supply

You can use a Battery, Adapter or any DC source of 5-8v(recommendable).

Circuit Diagram

Since we are making a prototype of this project, we will make connections on the breadboard and avoid soldering the components. We will use male to male, male to female and female to female jumper wires. 

Pins Connections

These are the pin connections of all components.
Pin Connections of Smart Irrigation System
No. Sensor Pinout
1 Soil Moisture Sensor Data - A0 (Arduino)
2 LDR Sensor LDR-Resistor Junction - A2 (Arduino)
3 MQ135 Gas Sensor Out - A1 (Arduino)
4 DHT11 Sensor Data - D2 (Arduino)
5 BMP180 Pressure Sensor SDA-SDA (Arduino) SCL - SCL (Arduino)
 

Arduino Libraries Required

You need to install these third-party Arduino Libraries, in order to interface sensors:

  1. Adafruit_BMP085.h
  2. DHT.h
  3. LiquidCrystal_I2C.h

We have added comments in the code for better understanding so it can be understood easily.

Note - Change the Address of the LCD Screen while you run the code in Proteus, change it to 0x20 instead of 0x27 or anyone else. In the real experiment, we can alter the address of the LCD by changing the configurations of A0, A1 and A2 pins of the PCF8574 module.

Proteus Libraries Required

We will show you a demo of this project as a simulation. We are using Proteus 8 Professional Software for the simulation.

Proteus Simulation Connections

  • This potentiometer defines the soil water content in the proteus simulation.
  • When the resistance is maximum at the test pin, the circuit shows zero volts across the voltmeter, which means the sensor is either in the dry ground or taken out of the ground, i.e. giving zero moisture value of the water content.
  • And when resistance is zero, the circuit will show the maximum voltage across the voltmeter which indicates the sensor is inserted in a wet ground i.e. water contents in the soil are too high.
  • This is important. We have attached the output pin with an LC filter. This filter is not required in real hardware implementation.
  • We are using it in Proteus Simulation only 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.
  • Similarly for Gas sensor, as we increase the potentiometer, in simulation it means good air quality.

Steps for Simulation

These are the steps for simulation. Follow them to create a fully working simulation.
  • Download the Zip Files given at the start of this tutorial.
  • Extract them in the LIBRARY folder. You will find it inside the Labcenter Electronics Folder.
  • Go to Arduino IDE and open the code, go to Tools and select the board Arduino UNO.
  • Go to Sketch and Click on Export Compiled Binary. It will create a compiled .hex file of the code which will be used as the main program in the simulation ahead.
  • Open Proteus software and add components by searching like Arduino, DHT11, BMP180, 20x4 LCD, etc.
You can see the components listed here.

Note - We used a simple LED instead of the valve because the valve component is not available in the Software, simply replace the LED with a valve in a real project. Make connections according to the circuit diagram and add virtual terminals to Serial pins to see the readings and Data.

  • Paste the Program File here for all the sensors.
  • Paste the Compiled Binary File as a Program file of Arduino UNO.
  • Run the simulation and you can see the readings by opening the virtual terminal.

Observations and Results

 
  1. In this simulation and project, you can see the sensor's information first in the terminal.
  2. After that, we are getting well organized and easily understood data on the terminal by every sensor according to code.
  3. According to the code, when the value of the soil moisture sensor gets less than a threshold value, the LED gets on.

This means when the soil gets dry the valve will open and water will be provided to the crops.

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 :)

Arduino Pro Mini Library for Proteus V2.0

Hi Everyone! Glad to have you on board. In this post, we’ll cover the Arduino Pro Mini Library for Proteus V2.0. I have already discussed its previous version i.e. Arduino Pro Mini Proteus Library V(1.0). I keep getting bug reportings from our blog readers (for previous versions), so I have tried to remove these bugs in this newer version. But if you still find any bug/error, you can approach me in the section below. We have already shared many Proteus Libraries for Embedded sensors and these days we are trying to improve their versions. First, we will download this library in zip format and then will use it in our Proteus software to simulate Arduino Pro Mini. Before we go further, first we’ll detail what is Arduino Pro Mini.

What is Arduino Pro Mini?

  • Introduced by Arduino.cc, Arduino Pro Mini is a compact, small-sized, sophisticated microcontroller board based on the Atmega328 microcontroller.
  • This module features a total 14 digital I/O pins on the board, of which 6 pins are used as PWM.
  • Incorporated with 8 analog pins, Arduino Pro Mini comes with a reset button and a small LED connected to pin 13.
  • This unit is quite small compared to Arduino Uno i.e. 1/6th of the size of Arduino Uno.
This was a brief insight into the Arduino Pro Mini V2. Let’s explain how to download the Arduino Pro Mini library and use it in your Proteus software. Let’s jump right in.

Arduino Pro Mini Library for Proteus V2.0

  • First of all, download the Arduino Pro Mini Library for Proteus V2.0 by clicking the below button.
Arduino Pro Mini Library for Proteus V2.0
  • You will get the downloaded file in zip format.
  • Extract this zip file, in which you’ll find the folder named "Proteus Library Files".
Open this folder to get the further two files named:
  • ArduinoProMini2TEP.dll
  • ArduinoProMini2TEP.idx
Note:
  • Copy these files from “Proteus Library Files” and place them into the Library folder of your Proteus software.
  • After placing the files in the library folder, open your Proteus software or restart (if it’s already running)
  • Now look for the Arduino Pro Mini V2.0 by clicking the “Pick from Libraries” button as shown in the figure below:
  • Select Arduino Pro Mini V2.0 and click OK.
  • After clicking Ok, you’ll find the Arduino Pro Mini board in the proteus workspace as shown in the figure below:
  • You’ve successfully placed the Arduino Pro Mini board in the proteus workspace.
  • Next, we have to upload the hex file to run our board.
  • To upload the hex file, you need to double-click the Arduino Pro Mini board.
  • As you double click, the following image will appear:
  • In this panel, you'll find the different properties of the Arduino Pro Mini board. Click the property named “Program File” to upload the hex file of your Arduino code.
  • Upload the hex file of your code and click Ok.
  • The 16MHz is the clock frequency of Arduino Pro Mini by default as shown in the properties panel.

Comparison with Old Proteus Library (V2.0 vs V1.0)

  • In the figure below you'll see the comparison between version 1 Arduino Pro Mini Board (V1) and version 2 Arduino Pro Mini Board (V2).
  • You can see in the above figure, V2 board is more compact and small-sized as compared to the V1 board.
  • Now let's design a simulation of this Arduino Pro Mini board so that you can learn how to use it in proteus software.

Arduino Pro Mini LCD Interfacing

  • Use the simulation that you’ve downloaded at the start or design on your own. I would suggest you to design on your own as it will help you learn many things along the process.
  • Now, we have to interface a 20x4 LCD with the Arduino Pro Mini board.
  • Design the circuit as shown below to interface the LCD with the Arduino Pro Mini:
  • The data pins of the LCD are attached with pins 8,9,10 & 11 of Arduino Pro Mini while Enable & Reset of LCD are attached to Pin 12 & 13 of the Arduino board.
  • Now compile the Arduino code available in the zip file and get the Hex File.
  • Upload that Hex File in your Arduino Pro Mini Properties panel, as we did in the previous section.
  • After interfacing LCD with the Arduino Pro Mini, click the RUN button and if everything goes fine, you will see the result as shown in below figure:

Summary

  • Download Arduino Pro Mini Library Files in zip format.
  • Copy files from the "Proteus Library Files"(Folder) and place them in the Library folder of Proteus software.
  • Search for Arduino Pro Mini in Proteus software.
  • Place Arduino Pro Mini in the Proteus workspace.
  • Double click the board and open the properties panel to upload the HEX File.
  • Design the circuit & run the simulation.
That’s all for today. Hope you’ve enjoyed reading this article. If you’re unsure or have any questions, you can approach me in the comment 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. They help us create quality content tailored to your exact needs and requirements. Thank you for reading the article.

Arduino Mega 2560 Library for Proteus V2.0

Hi Guys! Happy to see you around. In this post today, I’ll detail the new version of Arduino Mega 2560 Library for Proteus V2.0. I have already detailed the Arduino Mega 2560 Library for Proteus that is the previous version of the Arduino Mega 2560 board. This new version of Arduino Mega 2560 is more efficient, robust, fast, powerful, and small in size. I keep getting messages requesting to design the library for the new version of Arduino Boards. So, today I’m willing to comply with your requests and have designed this library for the new version of Arduino Mega 2560. I have previously discussed the Arduino UNO Library for Proteus V2.0 and Arduino Mini Library for Proteus V2.0 In this tutorial, we will simulate Arduino Mega 2560 in Proteus. Initially, we will download this library in zip format and then will use it in our Proteus software to simulate Arduino Mega 2560. Before we read further, let’s go through what is Arduino Mega 2560?

What is Arduino Mega 2560?

  • The Arduino Mega 2560 is a robust, powerful, application-type microcontroller board based on the Atmega2560 microcontroller.
  • There are total 54 digital I/O pins incorporated on the board, including 15 pins for PWM.
  • There are 16 analog pins available on the board. Moreover, the board contains a USB port to transfer the code from the computer to the module, and a DC power jack is included on the board to power up the module.
This was the little intro to Arduino Mega 2560. Let’s discuss how to download the Arduino Mega 2560 library and use it in your Proteus software. Let’s get started.

Arduino Mega 2560 Library for Proteus V2.0

First of all, download the Arduino Mega 2560 library for Proteus V2.0 by clicking the link below. Arduino Mega 2560 Library for Proteus V2.0 You will get the downloaded file in zip format.
  • Extract this zip file where you’ll find the folder named "Proteus Library Files".
When you open this folder, you will find two files named:
  • ArduinoMega25602TEP.dll
  • ArduinoMega25602TEP.idx
Note: Now copy these files and place them in the libraries folder of your Proteus software.
  • After placing the library files, open your Proteus software or restart (if it's already open).
  • Now search for the Arduino Mega 2560 V2.0 by clicking the “Pick from Libraries” button as shown in the below figure.
  • Select Arduino Mega 2560 V2.0 and click OK.
  • Place Arduino Mega 2560 board in the Proteus workspace and it will appear as shown in the below figure.
  • You’ve successfully placed the Arduino Mega 2560 V2.0 board in the proteus workspace.
  • Now, we need to upload the hex file to simulate our board.
  • To upload the hex file, double-click the Arduino Mega 2560 board.
  • As you double click, it will return the following image.
In this panel, you can see the different properties of the Mega 2560 board. We have to click the property named “Program File” to upload the hex file of your Arduino code.
  • Click this read detailing how to get hex file from Arduino software, if you don’t know already.
  • Upload the hex file of your code and click Ok.
  • The clock frequency of the Arduino board is 16MHz by default as shown in the properties panel.
Now let's design a simulation using this Arduino Mega 2560 board so that you get a clear insight on how to use it in proteus.

Comparison with Old Proteus Library (V2.0 vs V1.0)

  • The following figure shows the comparison between version 1 Arduino Mega 2560 Board (V1) and version 2 Arduino Mega 2560 Board (V2).
  • You can see in the above figure, V2 Arduino Mega 2560 board is more compact and small-sized as compared to the V1 Arduino Mega 2560 board.

Arduino Mega 2560 LCD Interfacing

  • The Arduino Code and its simulation file have been added in the zip format that you have downloaded at the start.
  • Use that simulation but the best way is to design your own simulation that will assist you to learn better along the process.
  • Next, Arduino Mega 2560 Board is interfaced with a 20x4 LCD.
  • Design the circuit given below to interface LCD with the Arduino Mega 2560 board:
  • Data pins of LCD are connected with 8,9,10 & 11 pins of Arduino Mega 2560, while Pins 12 & 13 of Arduino board are connected to Enable & Reset of LCD.
  • To upload the code, compile the Arduino code available in the zip format and get the Hex file.
  • You will use Arduino Mega 2560 properties panel to upload the hex file as we excercised in the previous section.
  • You have successfully interfaced LCD with the Arduino Mega 2560 board, now press the RUN button to get the result shown in the below figure:

Summary

  • First, you need to download the Arduino Mega 2560 Library Files.
  • Next, copy these files from “Proteus Library Files”(Folder) to the Library folder of Proteus software.
  • Now, look for the Arduino Mega 2560 in Proteus software.
  • Place that Arduino Mega 2560 board in the proteus workspace.
  • Next, double click the board that will return the properties panel and upload the HEX File.
  • Design your circuit & run the simulation.
That’s all for today. Hope you’ve enjoyed reading this article. If you’re unsure or have any questions, you can pop your comment in the section below. I’m willing to help you the best way I can. Feel free to share your valuable feedback and suggestions around the content we share. They help us create quality content tailored to your exact needs and requirements. Thank you for reading the article.

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.

Analog Vibration Sensor Library for Proteus

Hi Guys! Glad to see you here. I welcome you on board. In this post today, I’ll be discussing Analog Vibration Sensor Library for Proteus. I have already shared the digital Vibration Sensor Library for Proteus, you should check that as well. I’ve been adding brand new libraries for proteus covering sensors and Arduino boards. I’ve recently discussed Analog PIR Sensor Library for Proteus and Analog Flex Sensor Library for Proteus. You may be stuck into thinking I’ve previously shared those libraries but they were libraries covering digital PIR and digital Flex sensors, here we discussed analog libraries for both PIR and Flex sensors. Before I pen down how to download and simulate Analog Vibration Sensor Library for Proteus, let’s discuss what is vibration sensor first. A vibration sensor is mainly used to monitor the vibration of industrial machines. It is also called a piezoelectric that plays a crucial role in the proper working of industrial machinery. If vibration values increase from the industry standards, they can severely affect the overall working of the machine and in the worst case can put the machine at a grinding halt. To avoid this, we use vibration sensors that give the warning signal if vibration exceeds the desired values. These sensors are attached to the alarm system that produces audible sound indicating the machine is in danger, thus results in the deactivation of the entire machine. Vibration sensors are based on the piezoelectric effect to observe the small changes in pressure, acceleration, force, and temperature. These changes are converted into an electrical signal. Air fragrance can also be monitored by vibration sensors. They monitor the air fragrance and detect its capacitance and quality. I hope you’ve got a clear idea about the vibration sensor now we’ll download and run the Analog Vibration Library for Proteus. I’ve added both a simple simulation of the vibration sensor and a simulation with the Arduino Board. Let’s get started.

Analog Vibration Sensor Library for Proteus

  • Click the link given below to download the Analog Vibration Sensor Library for Proteus.
  • As you download this file, it returns further two files named Proteus Library and Proteus Simulations.
Analog Vibration Sensor Library for Proteus Click the Proteus Library folder that contains four files as follow:
  • VibrationSensorAnalogTEP.HEX
  • VibrationSensorTEP.HEX
  • VibrationSensorTEP.IDX
  • VibrationSensorTEP
Now copy all files given above and place them into the library folder of your Proteus software.  
  • In case you don’t have proteus software in your system, you can read this post covering how to download and install proteus software.
  • After adding the above files, start the proteus software and if it’s already running, close the software and restart again.
  • Now click the ‘P’ button to search for the ‘analog vibration sensor’ libraries that you’ve recently placed.
  • As you search it, it will return the figure as given below:
  • Select the sensor and click OK. Now you’ll see your cursor has now started blinking with the sensor that shows you can place your analog vibration sensor anywhere in the workspace available on the proteus software.
  • As you place your sensor, it will show the figure below:
Now we'll look into the analog vibration sensor pinout.

Vibration Sensor Pinout

The vibration analog sensor contains 4 pins as follows.
  • OUT = First is an OUT pin that is connected with a voltmeter that represents the output voltage against the variable resistor attached to the TestPin.
  • GND = Second is a ground pin that is attached to ground voltage.
  • Vcc = Third is the voltage supply pin that gets 5V to power the vibration sensor.
  • TestPin = Forth is the TestPin. This pin is only available in the proteus simulation. You don’t find it on the analog vibration sensor in real. When this pin is LOW, it shows no vibration and when this pin is HIGH it represents the vibration on the machine.

Adding HEX File

Now we’ll add the HEX file to run our vibration sensor simulation. Right-click the sensor and reach the ‘edit properties’ option and double-click the sensor it will pop up the same edit properties panel. Browse the Sensor’s HEX file option and look for the HEX file. You can find the HEX file in the library folder. Same HEX file that we have recently placed in the library folder. Select this HEX file and click OK. Now we’ll attach a simple circuit with the vibration sensor to run our simulation.

LC Circuit

  • We need to design a simple circuit to run this sensor in the proteus workspace. We’ve designed and attached the LC circuit with the OUT pin of the vibration sensor.
  • And TestPin is connected with a variable resistor. Both variable resistance and voltage we get on the voltmeter attached with the OUT pin are inversely proportional to each other.
  • When variable resistance is set to the maximum value the voltage on the voltmeter will be zero and when variable resistance is set to the minimum value (zero) it shows the maximum voltage i.e. 4.98V on the voltmeter.
When you run the simulation it will return the result below:
  • You can see the voltage appearing on the left vibration sensor placed on the proteus workspace is 2.56V because TestPin attached with the variable resistor is set to almost half of the resistance value.
  • I told you earlier I’ll show you both simple simulation and the vibration sensor simulation with the Arduino Board. If you are interested in the Arduino Library for Proteus, check this post where I have added six Arduino Boards Libraries for Proteus.
Now connect the voltage on the OUT pin with the analog pin i.e. A0 of the Arduino Board: When variable resistance is maximum the voltage on the voltmeter will be zero and its equivalent analog value across LCD attached with the Arduino Board will be 0019 and when the resistance on the variable resistor is minimum the voltage will be 4.98V and its equivalent analog value on the LCD will be 1019. This is it. I hope, you’ve got a clear insight into how to download Analog Vibration Sensor Library for Proteus. If you have any questions, you can ask me in the comment section below. I’d love to help you with the best of my expertise. Feel free to pop your suggestions about the libraries you think should be included in the proteus library database, I’ll design and add them to the database. Thank you for reading this article.

Soil Moisture Sensor Library For Proteus

Update: We have created a new version of this library, which you can check here: Soil Moisture Sensor Library for Proteus V2.0.

Hi Friends! Hope you’re well today. I welcome you on board. In this tutorial, I’ll be discussing the Soil Moisture Sensor Library for Proteus. You won't find Soil Moisture Sensor Library in Proteus and we’re going to share its Proteus Library very first time. I have previously shared many Proteus Libraries for digital and analog sensors and today I’m discussing something new. Excited to get a hold of the Soil Moisture Sensor Library? Me too. In the upcoming days, I’ll keep sharing different libraries related to sensors. If you’re curious to sneak into the nitty-gritty of sensors not available in the Proteus library already, pop your suggestion in the comment section below. I’ll try my best to comply with your suggestions and walk you through something brand new.

Soil moisture sensors are used to measure the water content in the soil. They use capacitance to measure the dielectric permittivity of the soil which defines the function of the water content. Before further ado, let’s dive in and have a look at How to download and simulate Soil Moisture Sensor Library for Proteus:

Where To Buy?
No.ComponentsDistributorLink To Buy
1LCD 20x4AmazonBuy Now
2Arduino UnoAmazonBuy Now

Soil Moisture Sensor Library For Proteus

  • You can download the Proteus Library zip file of Soil Moisture Sensor Library by clicking the button below.
Download Proteus Library Files
  • It’s a .zip file that contains two folders inside i.e. Proteus Library & Proteus Simulations.
  • The real fun starts right here right away.
  • Open proteus library folder that contains three files named:
    • SoilMoistureSensorTEP.IDX
    • SoilMoistureSensorTEP.LIB
    • SoilMoistureSensorTEP.HEX
  • Copy and paste these three files in the Library folder of your Proteus software:
  • Now, we need to run the Proteus ISIS software and don't forget to restart, if it's already open.
  • Look for the Soil Moisture in the component’s search box as shown below.
  • After installing the Library successfully, you’ll get similar results as below:
  • You can see in the figure above we have one Soil Moisture Sensor.
  • Now simply place this Soil Moisture Sensor in your Proteus workspace, as mentioned below:
  • You can see in the figure above, I have placed one Soil Moisture Sensor inside the Proteus workspace.
  • This sensor carries 4 pins in total, named:
  • V (Vcc): We’ll provide +5V here.
  • G (GND): We’ll provide ground here.
  • Ao (Out): It’s an analog output signal from the sensor.
  • TestPin: It is used for simulation purposes only. Soil Moisture Sensor doesn’t contain this pin in real.

Adding Sensor’s Hex File

  • After this drill, we’ll add the Sensor’s Hex File, which we have downloaded and placed in the Library folder.
  • To do that, right-click on your Soil Moisture Sensor and then click on “Edit Properties” as below:
  • Or you can double click the Soil Moisture Sensor, it will pop the window below:
  • Click on the Browse button and add SoilMoistureSensorTEP.HEX file available in the Proteus Library section as shown in the figure below:
  • After adding the Sensor’s Hex File, click on the ‘OK’ button to close the ‘Edit Properties’ Panel.
  • Our Soil Moisture Sensor is now ready to simulate in our Proteus ISIS.
  • We’ll design a small circuit to thoroughly understand the working of this Soil Moisture Sensor.

Proteus Simulation of Soil Moisture Sensor

  • Here, I’m designing a simple circuit. I’ve attached a variable resistor with the Test Pin & added a Voltmeter at the Output pin, as shown in the figure below:
  • This resister defines the soil water content in the proteus simulation.
  • When the resistance is maximum at the test pin, the circuit shows zero volts across the voltmeter, which means the sensor is either in the dry ground or taken out of the ground i.e. giving zero moisture value of the water content.
  • And when resistance is zero, the circuit will show the maximum voltage across the voltmeter which indicates the sensor is inserted in a wet ground i.e. water contents in the soil are too high.
  • This is important. We have attached the output pin with an LC filter. This filter is not required in real hardware implementation.
  • We are using it in Proteus Simulation only 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 this Proteus Simulation and if you have done everything as mentioned, it will show the result mentioned in the figure above.

Simulation of Soil Moisture Sensor with Arduino

Now, let's interface this sensor with a microcontroller.
  • We have attached the output of the sensor appearing across the voltmeter with the A0 pin of the microcontroller as below.

You can see we get the analog value 1019 when the voltage across the voltmeter is 4.98V

This is it. I hope you find this tutorial helpful. This will help engineering students in simulating their semester projects in proteus. In the next tutorials, I’ll be sharing and adding more libraries of sensors. You’re most welcome to share your suggestions with the sensors you want me to libraries of. If you’re unsure or have any questions, you can ask me in the section below. I’ll help the best way I can. Thank you for reading this article.

Introduction to LCD 20x4

Hello friends, I hope you all are doing great. In today’s tutorial, we will have a look at the Introduction to 20x4 LCD Module. The LCD stands for liquid crystal display, which works on the light modulation features of liquid crystals. It is available in electronic visible display, video display and flat panel display. There are numerous categories and features are exist in markets of LCD and you can see it on your mobile, laptop, computer and television screen.

The invention of LCD gives new life to electronic industries and replaces lED and gas plasma techniques. It also replaces the CTR (cathode ray) tube that is used for visual display. The input power consumed by the liquid crystal display is less than the light-emitting diode and plasma display. In today's post, we will have a look at 20 x 4 LCD, its features, working, applications, and practical implementation in different electronic devices. So let's get started with the Introduction to 20x4 LCD Module.

Introduction to 20 x 4 LCD Module

  • In a 20x4 LCD module, there are four rows in display and in one row twenty characters can be displayed and in one display eighty characters can be shown.
  • This liquid crystal module uses HDD44780 (It is a controller used to display monochrome text displays) parallel interfacing.
  • The liquid crystal display interfacing code is easily accessible. We just required eleven input and output pinouts for the interfacing of the LCD screen.
  • The input supply for this module is three volts or five volts, with that module other components like PIC, Raspberry PI, Arduino.
  • Thie electronic device can be used in different embedded systems, industries, medical devices, and portable devices like mobile, watches, laptops.
  • Liquid crystal display works on two types of the signal first one is data and the second one is for control.
  • The existence of these signals can be identified through the on and off condition of RS pinout. Data can be read by pushing the Read/write pinout.

20x4 LCD Pinout

  • These are some pinouts of 20x4 LCD modules that are described here in detail.
Pin No: Pin Name:                                         Parameters
Pin#1 It is denoted as Vss It is ground pinout potential at this pinout is zero.
Pin#2 It is denoted as Vdd At this pinout, five volts are provided.
Pin#3 This pinout denoted as Vo This pinout is used to set the contrast of the screen.
Pin#4 This pin denoted as RS It is used to H/L register select signal.
Pin#5 It is denoted as R/W It is used for H/L read/write signal.
Pin#6 This pinout denoted as E It is used for H/L enable signal.
Pin#7-14 The pinouts from seven to fourteen are denoted as DB0 – DB7. It is used for H/L data bus for 4-bit or 8-bit mode.
Pin#15 It identified as A (LED+) It is used to set the backlight anode.
Pin#16 It is recognized as K (LED-). It is used to set the backlight cathode.

Features of 20 x 4 LCD

  • These are some features of 20 x 4 LCD modules that are described here in detail.
  • The most important feature of this module is that it can display 80 characters at a time.
  • The cursor of this module has 5x8 (40) dots.
  • This module already assembled the controller of RW1063.
  • This module operates on the plus five volts input supply and can also work on the plus three volts.
  • The plus 3-volt pinout can also be used for the negative supply.
  • The duty cycle of this module is one by sixteen (1/16).
  • The light-emitting diode of this module can get supply from the pinout one, pinout two, pinout fifteen, pinout sixteen, or pinout A and K.

Electrical Characteristics of 20 x 4 LCD

  • These are some pinouts of 20 x 4 LCD modules that are described here in detail.
Parameters  Symbol                    Conditions
Input Voltage It is denoted as VDD The value of VDD is plus five volts.
Supply Current It denoted as IDD Its value is ten milliamperes.
LC Driving Voltage for Normal Temperature Version Module Its symbol is VDD to V0. Its value is 5.2 volts
LED Forward Voltage It is denoted as VF. Its value is 4.3V
LED Forward Current It is denoted as IF. Its value is 4.6V.
EL Supply Current This pinout denoted as EL VEL = 110 VAC, and four hundred frequency.

Absolute Maximum Ratings

  • Now we discuss the maximum ratings of 20 x 4 LCD.
Parameters  Symbol                    Conditions
Working temperature It is denoted as Top Its value is zero to a plus fifty-celsius degree.
Storage Temperature It is denoted as Tst. Its value is minus twenty Celsius to plus seventy Celsius.
Supply Voltage for Logic It is denoted as Vi. Its minimum value is Vss and the maximum value is equal to Vdd volts.
Supply Voltage for liquid crystal display It is denoted as Vdd or Vss. Its value is three volts to thirteen volts.

Advantages of 20 x 4 LCD

  • These are some advantages of this module that are described in detail.
  • It is less expensive, and lightweight as compared to the cathode ray tube display.
  • It uses less power according to the brightness resolution.
  • It produces less amount of heat due to less use of power.
  • In this module, there is no geometric distortion.
  • It can be constructed in any shape and size according to user requirements.
  • The LCD used in the computer monitor uses twelve volts.

Disadvantages of 20 x 4 LCD

  • Despite the advantages of this module, there are some problems created by this module that are described here.
  • In some older LCD modules, there are some issues due to view angle and brightness.
  • It loses brightness and operates at less response time with the increment of temperature.
  • With the increment of the surrounding temperature, its contrast also disturbs.

It is a detailed tutorial on the 20x4 LCD module I have mentioned everything related to this Liquid crystal display. If you have any questions about it ask in the comments. Thanks for reading.

Heart Beat Monitor using Arduino in Proteus

Hello friends, I hope you all are doing great and having fun in your lives. In today's tutorial, we are gonna design a Heart Beat Monitor using Arduino in Proteus ISIS. You should download this Heart Beat Sensor Library V2.0 for Proteus because we are gonna use that to detect heart beat in Proteus. I have also used a 20x4 LCD which will display our heart rate value. You should download this New LCD Library for Proteus. I have counted the heart beat for ten seconds and then I have multiplied it with 6 to get the heartbeat per minute which is abbreviated as bpm (beats per minute). So, let's get started with Heart Beat Monitor using Arduino in Proteus ISIS.
Where To Buy?
No.ComponentsDistributorLink To Buy
1LCD 20x4AmazonBuy Now
2Arduino UnoAmazonBuy Now

Heart Beat Monitor using Arduino in Proteus

  • First of all, click the below button to download this complete Proteus simulation & Arduino code for Heart Beat Monitor:
Heart Beat Monitor using Arduino in Proteus

Proteus Simulation of Heart Rate Monitor

  • Now let's have a look at How we have designed this simulation and How it works.
  • So, design a simple circuit in Proteus as shown in the below figure:
  • As you can see in the above figure, we have our Arduino UNO board along with LCD and Heart Beat Sensor.
  • There's also a Button attached to Pin # 2, so when we press this button our Arduino will start counting the Heart Beat and will update it on the LCD.
Now let's have a look at the programming code for Heart Rate Monitor:

Arduino Code for Heart Rate Monitor

  • Here's the code which I have used for this Heart Beat Monitor using Arduino:
#include <LiquidCrystal.h>
#include <TimerOne.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

int HBSensor = 4;
int HBCount = 0;
int HBCheck = 0;
int TimeinSec = 0;
int HBperMin = 0;
int HBStart = 2;
int HBStartCheck = 0;

void setup() {
  // put your setup code here, to run once:
  lcd.begin(20, 4);
  pinMode(HBSensor, INPUT);
  pinMode(HBStart, INPUT_PULLUP);
  Timer1.initialize(800000); 
  Timer1.attachInterrupt( timerIsr );
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Current HB  : ");
  lcd.setCursor(0,1);
  lcd.print("Time in Sec : ");
  lcd.setCursor(0,2);
  lcd.print("HB per Min  : 0.0");
}

void loop() {
  if(digitalRead(HBStart) == LOW){lcd.setCursor(0,3);lcd.print("HB Counting ..");HBStartCheck = 1;}
  if(HBStartCheck == 1)
  {
      if((digitalRead(HBSensor) == HIGH) && (HBCheck == 0))
      {
        HBCount = HBCount + 1;
        HBCheck = 1;
        lcd.setCursor(14,0);
        lcd.print(HBCount);
        lcd.print(" ");
      }
      if((digitalRead(HBSensor) == LOW) && (HBCheck == 1))
      {
        HBCheck = 0;   
      }
      if(TimeinSec == 10)
      {
          HBperMin = HBCount * 6;
          HBStartCheck = 0;
          lcd.setCursor(14,2);
          lcd.print(HBperMin);
          lcd.print(" ");
          lcd.setCursor(0,3);
          lcd.print("Press Button again.");
          HBCount = 0;
          TimeinSec = 0;      
      }
  }
}

void timerIsr()
{
  if(HBStartCheck == 1)
  {
      TimeinSec = TimeinSec + 1;
      lcd.setCursor(14,1);
      lcd.print(TimeinSec);
      lcd.print(" ");
  }
}
  • In this code, I have used a TimerOne Library which creates an interrupt after every 1sec.
  • On each interrupt, it executes timerIsr() function, in which I have placed a check that whenever this interrupt will call we will increment TimeinSec variable.
  • So, when TimeinSec will become equal to 10 then I am simply multiplying it with 6 and updating it on the LCD.
  • So, use the above code and get your Hex File from Arduino Software and update it in your Proteus Simulation.

Simulating Heart Rate Monitor

  • Now run your Proteus Simulation and you will get something as shown in the below figure:
  • Now click this HB button and it will start counting the HB as well as will count the Time in seconds.
  • After ten seconds it will multiply the current heart rate with six and will give the Heart Beat Per Minute.
  • Here's a final image of the result:
  • You can change the value of Heart Beat from the variable resistor connected with Heart Beat Sensor.
  • Let's change the value of variable resistance connected to Heart Beat sensor, and have a look at the results.
  • You have to press the button again in order to get the value.
  • Here's the screenshot of the results obtained:
  • So, now the heart is beating a little faster and we have got 108 bpm.
  • If you run this simulation then you will notice that the second is quite slow which I think is because of Proteus.
  • I have tested this code on hardware and it worked perfectly fine, although you need to change heart beat sensor's values in coding.
  • Here's the video in which I have explained the working of this Heart Rate Monitor Simulation in detail.
So, that was all about Heart Beat Monitor using Arduino in Proteus ISIS. I hope you have enjoyed it and will get something out of it. Have a good day. :)
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