Practical 4
Detection of the light using photo resistor
Introduction: A photo resistor or photocell is a light-controlled variable
resistor made of a high resistance semiconductor. The resistance of a photo
resistor decreases with increasing incident light intensity. A photo resistor can
be applied in light-sensitive detector circuits, and light- and dark-activated
switching circuits. It's also called light-dependent resistor (LDR).
Hardware Required:
Component Name Quantity
Arduino UNO 1
LED 1
Photo Resistor 1
10KΩ Resistor 1
220Ω Resistor 1
USB Cable 1
Breadboard 1
Jumper wires several
Connection diagram:
Steps of working
1. Insert the photo resistor into your breadboard and connect its pin to the
analog pin A0 and the remaining pin to supply on the breadboard.
2. Insert the LED into the breadboard. Attach the positive leg (the longer
leg) to pin 9 of the Arduino via the 220-ohm resistor, and the negative
leg to GND.
3. Insert the 10K-ohm resistor
4. Upload the code
5. Turn the photo resistor to ON the LED
6. Observe the changes in the state of the LED.
The Sketch
This sketch works by setting pin A0 as for the photo sensor and pin 9 as an
OUTPUT to power the LED. After that the run a loop that continually reads
the value from the photo resistor and sends that value as voltage to the LED.
The LED will vary accordingly.
/****************Photo Resistor to LED*****/
const int sensorPin = A0; // choose the pin for the Photo resistor
const int ledPin = 9; // choose the pin for a LED
int lightCal; // variable for reading the initial state of photo sensor
int lightVal; // variable for reading the current state photo sensor
void setup()
{
pinMode(ledPin, OUTPUT); // declare LED as output
lightCal = analogRead(sensorPin);
}
void loop() {
lightVal =analogRead(sensorPin); // read input value
if(lightVal < lightCal-50) { // check if the input is less than threshold
digitalWrite(9,HIGH); // turn LED ON}
else { digitalWrite(9, LOW); // turn LED OFF
}
}
Observation Table:
Sr. no. Light detected LED state
2
Practical 5
Interfacing of temperature sensor LM35
with Arduino
Introduction: The LM35 series are precision integrated-circuit temperature
devices with an output voltage linearly proportional to the Centigrade
temperature. LM35 is three terminal linear temperature sensors from National
semiconductors. It can measure temperature from -55 degree Celsius to +150
degree Celsius. The voltage output of the LM35 increases 10mV per degree
Celsius rise in temperature. LM35 can be operated from a 5V supply and the
stand by current is less than 60uA. The pin out of LM35 is shown in the figure
below.
Hardware Required:
Component Name Quantity
Arduino UNO 1
Lm35 1
USB Cable 1
Breadboard 1
Jumper wires Several
Connection Diagram:
Steps of working
1. Insert the temperature sensor into your breadboard and connect its pin1
to the supply.
2. Connect its center pin to the analog pin A0 and the remaining pin3 to
GND on the breadboard.
3. Upload the code as given below.
4. Vary the temperature and read the voltage changes.
5. Open the Arduino IDE’s serial monitor to see the results.
The Sketch
This sketch works by setting pin A0 as for the temperature sensor. After that
the run a loop that continually reads the value from the sensor and sends that
value as voltage. The voltage value is between 0–5 volts, when temperature
will vary accordingly.
/*************File name: LM 35 Temperature Sensor.ino Description: Lit
LM35 Temperature Sensor, let Precision Temperature sensor***/
int LM35Pin=A0;
void setup()
{
Serial.begin(9600);}
void loop ()
{int val;
int data;
val = analogRead(LM35Pin);
data= (val*5)/10;
Serial.print(“Temp:”);
Serial.print(data);
Serial.println(“C”);
delay(500);
}
Observation Table:
Sr. Voltage Temperature
no.
5
Practical 6
Interfacing Servo Motor with the Arduino
Introduction:
A Servo Motor is a small device that has an output shaft. This shaft can be
positioned to specific angular positions by sending the servo a coded signal.
As long as the coded signal exists on the input line, the servo will maintain
the angular position of the shaft. If the coded signal changes, the angular
position of the shaft changes. Servo motors have three terminals – power,
ground, and signal. The power wire is typically red, and should be connected
to the 5V pin on the Arduino. The ground wire is typically black or brown as
shown in figure:
Specifications:
GND common ground for both the motor and logic.
5V positive voltage that powers the servo.
Control Input for the control system.
The control wire is used to communicate the angle. The angle is determined
by the duration of a pulse that is applied to the control wire. This is called
Pulse Coded Modulation. The servo expects to see a pulse every 20
milliseconds (.02 seconds). The length of the pulse will determine how far the
motor turns. A 1.5 millisecond pulse, for example, will make the motor turn
to the 90-degree position (often called as the neutral position). If the pulse is
shorter than 1.5 milliseconds, then the motor will turn the shaft closer to 0
degrees. If the pulse is longer than 1.5 milliseconds, the shaft turns closer to
180 degrees.
Hardware Required:
Component Name Quantity
Arduino UNO 1
Servo motor 1
USB Cable 1
Breadboard 1
Jumper wires several
Connection Diagram:
Steps of working
1. The servo motor has a female connector with three pins. The darkest or
even black one is usually the ground. Connect this to the Arduino GND.
2. Connect the power cable that in all standards should be red to 5V on
the Arduino.
3. Connect the remaining line on the servo connector to a digital pin on
the Arduino.
4. Upload the code
5. Observe the position of the shaft.
The Sketch
This sketch works by setting pin D9 as for the control of servo motor. After
that the run a loop that continually increment the value of the index of rotation
angle and sends that value as voltage to the D9. The voltage value is between
0–5 volts, and the rotation angle of the servo motor will vary accordingly.
/******** Servo Motor Rotation******/
#include<Servo.h>
Servo myservo;
int pos=0;
void setup()
{
// put your setup code here, to run once:
myservo.attach(7);}
void loop() {
// put your main code here, to run repeatedly:
for(pos=0;pos<=180;pos++)
{
myservo.write(pos);
delay (15);
}
delay (1000);
for (pos=180; pos>=0;pos--)
{
myservo.write (pos);
delay (15);
}
delay(1000);
}
Observation Table:
Sr. no. Voltage Position of Shaft
5
Practical 7
Interfacing of the Active Buzzer with
Arduino.
Introduction:
A piezo buzzer is a type of electronic device that’s used to produce beeps and
tones. The working principle of the device is piezoelectric effect. The main
component of this device is a piezo crystal, which is a special material that
changes shape when a voltage applied to it. The active buzzer will only
generate sound when it will be electrified. It generates sound at only one
frequency. This buzzer operates at an audible frequency of about 2 KHz.
Specifications:
Specification Range
VoltageRange 3.3-5V
Frequency 2KHz
Pin Name Description
Positive Identified by (+) symbol or longer terminal
lead. Can be powered by 6V DC
Negative Identified by short terminal lead. Typically
connected to the ground of the circuit
Hardware Required:
Component Name Quantity
Arduino UNO 1
Buzzer / piezo 1
speaker
220-ohm resistors 1
USB Cable 1
Breadboard 1
Jumper wires several
Connection Diagram:
Steps of working:
Connect the Supply wire (RED) of the buzzer to the Digital Pin 9 of the
Arduino through a 100-ohm resistor.
Connect the Ground wire (BLACK) of the buzzer to any Ground Pin on the
Arduino.
Upload the code
Observe the changes in the pitch and volume of the buzzer.
Sketch:
This sketch works by setting pin D9 as for the control the buzzer. After that
the run a loop that continually sends that value as voltage high or low to the
D9 using the function digitalWrite( ). The voltage value and the tone
generated from the buzzer will vary accordingly.
/****Musical buzzer****/
int buzzer = 9; //the pin of the active buzzer
void setup()
{
pinMode (buzzer,OUTPUT); //initialize the buzzer pin as an output
}
void loop(){
unsigned char i;
while(1){
//output a frequency
for(i=0;i<80;i++)
{
digitalWrite(buzzer,HIGH);
delay(1); //wait for 1ms
digitalWrite(buzzer,LOW);
delay(1); //wait for 1ms
}
//output another frequency
for(i=0;i<100;i++){
digitalWrite(buzzer,HIGH);
delay(2); //wait for 2ms
digitalWrite(buzzer,LOW);
delay(2); //wait for 2ms
}
}
}
Observation:
Sr. no. Change the value Frequency of tone
3
Practical 8
Interfacing of the Relay with Arduino.
Introduction:
Relay is an electromagnetic switch, which is controlled by small current, and
used to switch ON and OFF relatively much larger current. Means by applying
small current we can switch ON the relay which allows much larger current
to flow.
Hardware Required:
Component Name Quantity
Arduino UNO 1
5V Relay 1
USB Cable 1
Breadboard 1
Jumper wires several
Connection Diagram:
Steps of working:
1. The relay module connected with three pins. We will connect the relay
module with Arduino in the normally open state. The black one of relay
is usually the ground. Connect this to the Arduino GND.
2. Connect the red wire of relay module to 5V of the Arduino.
3. Connect the signal pin of relay module to a digital pin 6 of the Arduino.
4. Upload the code
5. Observe the clicking sound of the relay that states the ON and OFF
constantly.
Sketch:
This sketch works by setting 5V supply pin of Arduino as for the control of
relay module. After that the run a loop that continually sends that value as
voltage to the D6 with the delay given.
// Arduino Relay Control Code
Int relayPin=6;
#define interval 2000
void setup() {
pinMode(relayPin, OUTPUT);
}
void loop()
{
digitalWrite(relayPin, HIGH);
delay(interval);
digitalWrite(relayPin, LOW);
delay(interval);
}
Observations:
Sr. No. Delay Relay Status
2
Practical 9
Building Intrusion Detection System with
Arduino and Ultrasonic Sensor
Introduction:
An intrusion detection system (IDS) is a device or software application that
monitors a network or systems for malicious activity
Ultrasonic Sensors: The HC-SR04 ultrasonic sensor uses SONAR to
determine the distance of an object just like the bats do. It offers excellent
non-contact range detection with high accuracy and stable readings in an easy-
to-use package from 2 cm to 400 cm or 1” to 13 feet. It comes complete with
ultrasonic transmitter and receiver module. The ultrasonic sensor uses the
reflection of sound in obtaining the time between the wave sent and the wave
received. It usually sent a wave at the transmission terminal and receives the
reflected waves. The time taken is used together with the normal speed of
sound in air (340ms-1) to determine the distance between the sensor and the
obstacle. The Ultrasonic sensor is used here for the intruder detection. The
sound via a buzzer occurs when an object comes near to the sensor. The
distance to which the sensor will respond can be easily adjusted in the
program.
Hardware Required:
Component Name Quantity
Arduino UNO 1
Red LED 1
Green LED 1
HC-SR04 Ultrasonic 1
Sensor
Buzzer 1
USB Cable 1
Breadboard 1
Jumper wires several
Connection Diagram:
Steps of working
1. Insert the Ultrasonic sensor into your breadboard and connect its Echo
pin to the digital pin 2 and the Trigger pin to digital pin 3 of the
Arduino.
2. Insert the RED and Green LED into the breadboard. Attach the positive
leg (the longer leg) of red LED to signal pin of the Buzzer via the 220-
ohm resistor, and the negative leg to GND. The green LED is connected
to digital pin 8 of the Arduino.
3. Upload the code.
4. Observe the LEDs and take some object in front of ultrasonic sensor.
5. Observe the changes in the LED and buzzer sound.
The Sketch
This sketch works by setting pin 2 as for the ultrasonic sensors and pin 8, pin9
& pin 10 as an OUTPUT to power the LEDs and buzzer. After that the run a
loop that continually reads the value from the echo pin and sends that value
as voltage to the LEDs. The color of the LED which glows will vary
accordingly to the detection of object in the given range.
/**********Intrusion Detection******/
#define echo 2
#define trig 3
#define outA 8 // Red LED
#define outB 9 // Green LED
#define outC 10 // Buzzer
float duration; // time taken by the pulse to return back
float distance; // one way distance travelled by the pulse
const int intruderDistance = 10; // the minimum distance up to which the
sensor is able to sense any object
void setup() {
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(outA, OUTPUT);
digitalWrite(outA, LOW);
pinMode(outB, OUTPUT);
digitalWrite(outB, LOW);
pinMode(outC, OUTPUT);
digitalWrite(outC, LOW);
Serial.begin(9600);
}
void loop() {
time_Measurement();
distance = (float)duration * (0.0343) / 2;
// calculate the one way distance travelled by the pulse
Serial.println(distance);
alarm_condition();
}
void time_Measurement()
{ // function to measure the time taken by the pulse to return back
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duration = pulseIn(echo, HIGH);
}
void alarm_condition()
{ //function to execute the output commands based on the sensor
input
if(distance<=intruderDistance)
{
digitalWrite(outA,HIGH);
digitalWrite(outB,LOW);
analogWrite(outC,200);}
else
{
digitalWrite(outA,LOW);
digitalWrite (outB, HIGH);
analogWrite (outC,0);
}
}
Observation Table:
Sr no. Object Detected LED Buzzer
2
Practical 10
Directional Control of the DC motor using
Arduino
Introduction:
A DC motor (Direct Current motor) is the most common type of motor. DC
motors normally have just two leads, one positive and one negative. If you
connect these two leads directly to a battery, the motor will rotate. If you
switch the leads, the motor will rotate in the opposite direction.
Specification
Pin Description
GND common ground for both the motor and logic
5V positive voltage that powers the servo
Control Input for the control system.
The control wire is used to communicate the angle. The angle is determined
by the duration of a pulse that is applied to the control wire. This is called
Pulse Coded Modulation. The servo expects to see a pulse every 20
milliseconds (.02 seconds). The length of the pulse will determine how far the
motor turns. A 1.5 millisecond pulse, for example, will make the motor turn
to the 90-degree position (often called as the neutral position). If the pulse is
shorter than 1.5 milliseconds, then the motor will turn the shaft closer to 0
degrees. If the pulse is longer than 1.5 milliseconds, the shaft turns closer to
180 degrees.
Hardware Required:
Component Name Quantity
Arduino UNO 1
DC motor 1
RGB LED 1
Push button 1
10k-ohm resistor 1
USB Cable 1
Breadboard 1
Jumper wires several
Connection diagram:
Steps of working
1. The servo motor has a female connector with three pins. The darkest or
even black one is usually the ground. Connect this to the Arduino GND.
2. Connect the power cable that in all standards should be red to 5V on
the Arduino.
3. Connect the remaining line on the servo connector to a digital pin on
the Arduino.
4. Upload the code
5. Observe the position of the shaft.
The Sketch
This sketch works by setting pin A2 as for the potentiometer and pin 9 as an
OUTPUT to power the LED. After that the run a loop that continually reads
the value from the potentiometer and sends that value as voltage to the LED.
The voltage value is between 0–5 volts, and the brightness of the LED will
vary accordingly.
/******** DC Motor Direction control by RGB******/
const int inputPin=1;
const int blue=3;
const int red=4;
const int motorPin1=5,motorPin2=6;
int dir=LOW;
int prevState=0,currentState=0;
void setup()
{
// put your setup code here, to run once:
pinMode(inputPin,INPUT);
pinMode(motorPin1,OUTPUT);
pinMode(motorPin2,OUTPUT);
pinMode(blue,OUTPUT);
pinMode(red,OUTPUT);
}
void loop()
{
// put your main code here, to run repeatedly:
currentState=digitalRead(inputPin);
if(currentState!=prevState)
{
if(currentState==HIGH)
{ dir=!dir;
}
}
prevState=currentState;
if(dir==HIGH)
{
digitalWrite(motorPin1,HIGH);
digitalWrite(motorPin2,HIGH);
digitalWrite(blue,LOW);
digitalWrite(red,HIGH);
}
}
Observation Table:
Sr no. Voltage Position of Shaft