IoT (EC702) UI19EC039
IoT (EC702) UI19EC039
Bachelor of Technology
In
Submitted by
December – 2022
1
UI19EC39
Certificate
This is to certify that
Mr. Ritesh Shukla of 4th year class Electronics &
Communication Engineering Roll No.
UI19EC39 has satisfactorily completed the course
in Internet of Things (EC 702) laboratory
practice during the academic year 2021-2022.
2
UI19EC39
Index
Sr.no AIM
3
UI19EC39
EXPERIMENT 1
CODE:
// C++ code
//
void setup()
{
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(13, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(13, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
CIRCUIT:
4
UI19EC39
OUTPUT:
5
UI19EC39
EXPERIMENT 2
CODE:
void setup()
{
pinMode(2, INPUT);
pinMode(13, OUTPUT);
}
void loop()
{
if(digitalRead(2) == 1)
{
digitalWrite(13, HIGH);
}
else
{
digitalWrite(13, LOW);
}
}
void setup()
{
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
}
6
UI19EC39
void loop()
{
digitalWrite(4, HIGH); // For green LED
delay(3000); // Wait for 3 second
digitalWrite(4, LOW);
3) RGB LEDs
void setup()
{
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
}
void loop()
{
analogWrite(11, 255);
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(10, 0);
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(9, 0);
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(11, 255);
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(10, 255);
delay(1000); // Wait for 1000 millisecond(s)
analogWrite(9, 102);
delay(1000); // Wait for 1000 millisecond(s)
}
7
UI19EC39
CIRCUIT:
1)
2)
8
UI19EC39
3)
OUTPUT:
1)
2)
9
UI19EC39
3)
10
UI19EC39
EXPERIMENT 3
APPARATUS: Tinkercad, Arduino UNO R3, LDR sensor, Ultrasonic distance sensor, Smoke
sensor, Servo motor
CODE:
1) LDR sensor
// C++ code
//
int sensor = 0;
void setup()
{
pinMode(A0, INPUT);
Serial.begin(9600);
void loop()
{
sensor = analogRead(A0);
Serial.println(sensor);
delay(100); // Wait for 100 millisecond(s)
}
// C++ code
//
int US = 0;
11
UI19EC39
void setup()
{
Serial.begin(9600);
void loop()
{
US = 0.01723 * readUltrasonicDistance(11, 10);
Serial.println(US);
delay(100); // Wait for 100 millisecond(s)
}
3) Smoke sensor
// C++ code
//
int gas = 0;
void setup()
{
pinMode(A0, INPUT);
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop()
{
gas = analogRead(A0);
Serial.println(gas);
delay(100); // Wait for 100 millisecond(s)
if (gas > 400) {
digitalWrite(13, HIGH);
12
UI19EC39
}
digitalWrite(13, LOW);
}
4) Servo motor
// C++ code
//
#include <Servo.h>
int position = 0;
int i = 0;
int j = 0;
Servo servo_9;
void setup()
{
servo_9.attach(9, 500, 2500);
void loop()
{
position = 0;
for (position = 1; position <= 180; position += 1) {
servo_9.write(position);
delay(20); // Wait for 20 millisecond(s)
}
for (position = 179; position >= 0; position -= 1) {
servo_9.write(position);
delay(20); // Wait for 20 millisecond(s)
}
}
13
UI19EC39
CIRCUITS:
1)
2)
3)
14
UI19EC39
4)
15
UI19EC39
OUTPUTS:
1) LDR Sensor
3) Smoke detector
16
UI19EC39
4) Servo motor
CONCLUSION: In this experiment we interfaced different sensors with Arduino UNO R3.
We noted the values for the LDR sensor, Ultrasonic distance sensor and Gas sensor on the serial
monitor. We also implemented code to rotate the servo motor.
17
UI19EC39
EXPERIMENT 4
APPARATUS: Tinkercad, Arduino UNO R3, LDR sensor, Ultrasonic distance sensor,
temperature sensor, buzzer, etc.
CODE:
// C++ code
//
float temp, tempMV, tempC;
void setup()
{
pinMode(A0, INPUT);
pinMode(11, OUTPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop()
{
temp = analogRead(A0);
tempMV = temp*5000/1024;
tempC = (tempMV/10)+ (-50);
Serial.println(tempC);
if (tempC > 25)
{
tone(11, 5000, 100);
digitalWrite(13, HIGH);
delay(100);
}
else
{
digitalWrite(13, LOW);
delay(100);
18
UI19EC39
}
}
// C++ code
//
int dist = 0;
void setup()
{
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}
void loop()
{
dist = 0.01723 * readUltrasonicDistance(2, 2);
if (dist > 200) {
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
} else {
if (dist > 150 && dist <= 200) {
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
19
UI19EC39
digitalWrite(12, HIGH);
} else {
if (dist > 100 && dist <= 150) {
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
} else {
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
}
}
}
delay(10); // Delay a little bit to improve simulation performance
}
// C++ code
//
int lrd = 0;
void setup()
{
pinMode(A0, INPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop()
{
lrd = analogRead(A0);
Serial.println(lrd);
analogWrite(13, map(lrd, 0, 1023, 0, 255));
delay(1000); // Wait for 1000 millisecond(s)
}
20
UI19EC39
CIRCUITS:
1)
3)
21
UI19EC39
OUTPUTS:
1)
2)
22
UI19EC39
3)
23
UI19EC39
EXPERIMENT 5-6
AIM: Design a Home Automation System using Arduino which can control various electrical
equipment using IR remote control and also having any 4 below listed features:
● Security against unauthorized access
● Electrical devices can be operated using remote control
(not just LEDs)
● Scheduling of lights
● Motion detection
● Door controlled lights
● Room temperature controlling
● Gas leakage detection
● Fire detection
● Display various device’s status on LCD
APPARATUS: Tinkercad, Arduino UNO R3, IR remote, Power Supply, Relay SPDT, IR
sensor, DC motor, Hobby gearmotor, Vibration motor, push buttons, light bulb
CODE:
#include <SPI.h>
#include <Wire.h>
#include <IRremote.h>
int gas = 0;
float temp, tempMV, tempC;
int door = 0;
const int relay_1 = 12;
const int relay_2 = 11;
const int relay_3 = 10;
const int relay_4 = 9;
int RECV_PIN = 3;
IRrecv irrecv(RECV_PIN);
24
UI19EC39
decode_results results;
int toggleState_1 = 0;
int toggleState_2 = 0;
int toggleState_3 = 0;
int toggleState_4 = 0;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(relay_1, OUTPUT);
pinMode(relay_2, OUTPUT);
pinMode(relay_3, OUTPUT);
pinMode(relay_4, OUTPUT);
pinMode(A0, INPUT);
pinMode(A0, INPUT);
pinMode(2, INPUT);
pinMode(mswitch_1, INPUT_PULLUP);
pinMode(mswitch_2, INPUT_PULLUP);
pinMode(mswitch_3, INPUT_PULLUP);
pinMode(mswitch_4, INPUT_PULLUP);
}
switch(relay){
case 1:
if(toggleState_1 == 0){
digitalWrite(relay_1, HIGH); // turn on relay 1
toggleState_1 = 1;
}
else{
digitalWrite(relay_1, LOW); // turn off relay 1
toggleState_1 = 0;
}
delay(100);
break;
case 2:
if(toggleState_2 == 0){
gas = analogRead(A0);
delay(100); // Wait for 100 millisecond(s)
25
UI19EC39
digitalWrite(relay_4, HIGH);
// turn on relay 4
toggleState_4 = 1;
}
else{
digitalWrite(relay_4, LOW); // turn off relay 4
toggleState_4 = 0;
}
delay(100);
break;
default : break;
}
26
UI19EC39
void loop() {
if (digitalRead(mswitch_1) == LOW){
delay(200);
relayOnOff(1);
}
else if (digitalRead(mswitch_2) == LOW){
delay(200);
relayOnOff(2);
}
else if (digitalRead(mswitch_3) == LOW){
delay(200);
relayOnOff(3);
}
else if (digitalRead(mswitch_4) == LOW){
delay(200);
relayOnOff(4);
}
if (irrecv.decode(&results)) {
switch(results.value){
case 0xFD08F7:
relayOnOff(1);
break;
case 0xFD8877:
relayOnOff(2);
break;
case 0xFD48B7:
relayOnOff(3);
break;
case 0xFD28D7:
relayOnOff(4);
break;
default : break;
}
irrecv.resume();
}
}
27
UI19EC39
CIRCUIT:
Fig 5.1: Home Automation System with light bulb Gas detection system, temperature controller system
and motor.
OUTPUT:
28
UI19EC39
29