Manual Internet of Things I
Manual Internet of Things I
Manual Internet of Things I
ON
(INTERNET OF THINGS)
Controlling the Light Emitting Diode (LED) with a push button. ..... 16
Practical 2 .................................................................................................................21
Controlling the LED blink rate with the potentiometer interfacing with
Arduino ................................................................................................ 25
Practical 4 .................................................................................................................28
Practical 10 .......................................................................................... 55
Sensing
IOT devices sense something about their
environment.
Actuators
IOT devices that do something. Lock doors,
beep, turn lights on, or turn the TV on
Communications in IoT
Arduino in IoT
In IoT applications the Arduino is used to collect the data from the
sensors/devices to send it to the internet and receives data for purpose of
control of actuators.
Arduino Uno
Introduction: The Arduino Uno is an open-source microcontroller board
based on the Microchip ATmega328P microcontroller and developed by
Arduino.cc. The board is equipped with sets of digital and analog input/output
(I/O) pins that may be interfaced to various expansion boards (shields) and
other circuits. The board has 14 digital I/O pins (six capable of PWM output),
6 analog I/O pins, and is programmable with the Arduino IDE (Integrated
Development Environment), via a type B USB cable. It can be powered by the
USB cable or by an external 9-volt battery, though it accepts voltages between
7 and 20 volts. The word "uno" means "one" in Italian and was chosen to mark
the initial release of Arduino Software.
Step1: Downloading
➢ To install the Arduino software, download this page:
http://arduino.cc/en/Main/Software and proceed with the installation by
allowing the driver installation process.
A Verify
B Upload
C New
D Open
E Save
F Serial Motor
Practical 1
Controlling the Light Emitting Diode (LED)
with a push button.
Introduction: Push-button is a very simple mechanism which is used to
control electronic signal either by blocking it or allowing it to pass. This
happens when mechanical pressure is applied to connect two points of the
switch together. Push buttons or switches connect two points in a circuit when
pressed. When the push-button is released, there is no connection between the
two legs of the push-button. Here it turns on the built-in LED on pin 11 when
the button is pressed. The LED stays ON as long as the button is being pressed.
LED Specifications
Pin definition
Specifications:
Size 6 x 6 x 5mm
Hardware Required:
Arduino UNO 1
LED 1
Push Button 1
220Ω resistor 1
10KΩ resistor 1
USB Cable 1
Breadboard 1
Connection Diagram:
Steps of working
1. Insert the push button into your breadboard and connect it to the digital
pin 7(D7) which act as INPUT.
2. Insert the LED into the breadboard. Attach the positive leg (the longer
leg) to digital pin 11 of the Arduino Uno, and the negative leg via the
220-ohm resistor to GND. The pin D11 is taken as OUTPUT.
3. The 10kΩ resistor used as PULL-UP resistor and 220 Ω resistors is used
to limit the current through the LED.
4. Upload the code as given below.
5. Press the push-button to control the ON state of LED.
The Sketch
➢ This sketch works by setting pin D7 as for the push button as INPUT
and pin 11 as an OUTPUT to power the LED.
➢ The initial state of the button is set to OFF.
➢ After that the run a loop that continually reads the state from the
pushbutton and sends that value as voltage to the LED. The LED will
be ON accordingly.
Observation Table:
Precautions:
1. The pushbutton is square so it is important to set it appropriately on
breadboard.
2. While making the connections make sure to use a pull-down resistor
because directly connecting two points of a switch to the circuit will
leave the input pin in floating condition and circuit may not work
according to the program.
3. It is very important to set pinMode() as OUTPUT first before using
digitalWrite() function on that pin.
4. If you do not set the pinMode() to OUTPUT, and connect an LED to a
pin, when calling digitalWrite(HIGH), the LED may appear dim.
Practical 2
Interfacing the RGB LED with the Arduino
Introduction: There are actually two types of RGB LED’s; the common
cathode one and the common anode one. In the common cathode RGB led, the
cathode of all the LED’s is common and we give PWM signals to the anode
of LED’s while in the common anode RGB led, the anode of all the LED’s is
common and we give PWM signals to the cathode of LED’s. Inside the RGB
led, there are three more LED’s. So, by changing the brightness of these
LED’s, we can obtain many other colors. To change brightness of RGB led,
we can use the PWM pins of Arduino. The PWM pins will give signal different
duty cycles to the RGB led to obtain different colors.
Hardware Required:
Arduino UNO 1
RGB LED 1
220Ω/330Ω resistor 3
USB Cable 1
Breadboard 1
Connection Diagram:
Steps of working
1. Insert the RGB LED into your breadboard and connect its cathode pin
to the GND of the Arduino.
2. Insert the LED into the breadboard. Attach Red pin to pin 8, Green pin
to pin 9 and Blue pin to pin 10 of the Arduino via the 220-ohm resistor,
and the negative leg to GND.
3. Upload the code as given below.
4. Observe the changes in the color of the RGB LED.
The Sketch
This sketch works by setting pinsD8, D9, D10 as for the different legs of RGB
LED. After that the run a loop that continually reads the value from the pins
and sends that value as voltage to the LED. The voltage value is between 0–5
volts, and the blinking of the LED will vary accordingly.
/************RGB LED Blink*******/
void setup() {
// put your setup code here, to run once:
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite (8,HIGH);
digitalWrite (10,LOW);
delay(1000);
digitalWrite (9,HIGH);
digitalWrite (8,LOW);
delay(1000);
digitalWrite (10,HIGH);
digitalWrite (9,LOW);
delay(1000);
}
Observations:
3
Practical 3
Controlling the LED blink rate with the
potentiometer interfacing with Arduino
Introduction: A potentiometer is a variable resistor with a knob that allows
altering the resistance of the potentiometer. The potentiometer manipulates a
continuous analog signal, which represents physical measurements. The
potentiometer is used with Arduino to control the blink rate of the LED. The
potentiometer is an adjustable resistor, and its operating principle is shown in
the following figure:
Hardware Required:
Component Quantity
Arduino Uno 1
Bread board 1
10KΩ Potentiometer 1
Working Diagram:
Steps of working
1. Insert the potentiometer into your breadboard and connect its center pin
to the analog pin A2 and the remaining pin to GND on the breadboard.
2. Insert the LED into the breadboard. Attach the positive leg (the longer
leg) to pin 13 of the Arduino via the 220-ohm resistor, and the negative
leg to GND.
3. Upload the code as given below.
4. Turn the potentiometer to control the brightness of the LED and move
the position of pin 2 by rotating the knob, changing the resistance value
from pin 2 to both ends.
5. Observe the changes in the blinking rate of the LED.
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.
Observation Table:
5
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:
Arduino UNO 1
LED 1
Photo Resistor 1
10KΩ Resistor 1
220Ω Resistor 1
USB Cable 1
Breadboard 1
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:
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:
Arduino UNO 1
Lm35 1
USB Cable 1
Breadboard 1
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:
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:
Hardware Required:
Arduino UNO 1
Servo motor 1
USB Cable 1
Breadboard 1
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:
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
Hardware Required:
Arduino UNO 1
Buzzer / piezo 1
speaker
220-ohm resistors 1
USB Cable 1
Breadboard 1
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:
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:
Arduino UNO 1
5V Relay 1
USB Cable 1
Breadboard 1
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.
Observations:
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:
Arduino UNO 1
Red LED 1
Green LED 1
HC-SR04 Ultrasonic 1
Sensor
Buzzer 1
USB Cable 1
Breadboard 1
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:
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
Hardware Required:
Arduino UNO 1
DC motor 1
RGB LED 1
Push button 1
10k-ohm resistor 1
USB Cable 1
Breadboard 1
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.
Observation Table: