0% found this document useful (0 votes)
23 views27 pages

Digital Twin LAB Record

The document contains multiple exercises demonstrating the use of ESP32 simulation software for various applications, including ultrasonic distance measurement, vibration detection with MPU6050, traffic light control, temperature and humidity monitoring with DHT sensor, and motion detection with PIR sensor. Each exercise includes a code snippet and a result statement confirming successful simulation. The final exercise outlines an IoT-based health monitoring system using Blynk and DHT sensor for temperature and simulated heart rate readings.

Uploaded by

Vijay Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views27 pages

Digital Twin LAB Record

The document contains multiple exercises demonstrating the use of ESP32 simulation software for various applications, including ultrasonic distance measurement, vibration detection with MPU6050, traffic light control, temperature and humidity monitoring with DHT sensor, and motion detection with PIR sensor. Each exercise includes a code snippet and a result statement confirming successful simulation. The final exercise outlines an IoT-based health monitoring system using Blynk and DHT sensor for temperature and simulated heart rate readings.

Uploaded by

Vijay Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

CIRCUIT:

1
EX.NO:1 ULTRASONIC SENSOR FOR FINDING DISTANCE
DATE:

AIM:

Write a program for finding the distance using ultrasonic using esp32 simulation software
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(14, INPUT);
pinMode(27, OUTPUT);
}
void loop() {
digitalWrite(27,HIGH);
delay(2000);
digitalWrite(27, LOW);

int duration=pulseIn(14,HIGH);
int distance=duration*0.034/2;
Serial.println(distance);

delay(5000);
}

RESULT:
Hence the finding distance using Ultrasonic Sensor using Esp32
simulation software was stimulated and verified.

2
CIRCUIT:

3
EX.NO:2 MPU6050 SENSOR FOR VIBRATION
DATE:

AIM:

Write a program for finding the vibration using MPU6050 sensor using esp32 simulation
software

#include <Wire.h>
#include <MPU6050.h>

MPU6050 mpu;

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Wire.begin();
mpu.initialize();

if (mpu.testConnection()) {
Serial.println("MPU6050 connected successfully!");
} else {
Serial.println("MPU6050 connection failed!");
while (1); // Stops execution if connection fails
}

void loop() {
// put your main code here, to run repeatedly:
int16_t ax,ay,az;//accelerotion
int16_t gx,gy,gz;//gyroscope

mpu.getAcceleration(&ax,&ay,&az);
mpu.getRotation(&gx,&gy,&gz);

float vibration =sqrt(ax * ax + ay * ay + az * az);


Serial.printf("Vibration : %.2f m/s2 \n",vibration);
delay(15000);
}

RESULT:
Hence the finding the vibration using MPU6050 sensor using Esp32
simulation software was stimulated and verified.
4
CIRCUIT:

5
EX.NO:3 ONE WAY TRAFFIC LIGHT
DATE:

AIM:

Write a program for One Way Traffic Light using esp32 simulation software

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(14, OUTPUT);// red
pinMode(27, OUTPUT);//yellow
pinMode(26, OUTPUT);//green
}

void loop() {
digitalWrite(14,HIGH);
delay(2000);
digitalWrite(14, LOW);
delay(2000);
digitalWrite(27,HIGH);
delay(2000);
digitalWrite(27, LOW);
delay(2000);
digitalWrite(26,HIGH);
delay(2000);
digitalWrite(26, LOW);

RESULT:
Hence the One-Way Traffic Light using Esp32 simulation software
was stimulated and verified.
6
CIRCUIT:

7
EX.NO:4 TWO WAY TRAFFIC LIGHT
DATE:

AIM:

Write a program for Two Way Traffic Light using esp32 simulation software

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(14, OUTPUT);// red
pinMode(27, OUTPUT);//yellow
pinMode(26, OUTPUT);//green

// set 2
pinMode(21, OUTPUT);// red
pinMode(16, OUTPUT);//yellow
pinMode(2, OUTPUT);//green
}

void loop() {
digitalWrite(14,HIGH);
digitalWrite(2, HIGH);
delay(2000);
digitalWrite(14, LOW);
digitalWrite(2, LOW);

delay(2000);
digitalWrite(27,HIGH);
digitalWrite(16,HIGH);
delay(2000);
digitalWrite(27, LOW);
digitalWrite(16, LOW);
delay(2000);
digitalWrite(26,HIGH);
digitalWrite(21,HIGH);
delay(2000);
digitalWrite(26, LOW);
digitalWrite(21, LOW);

void setup() {
// put your setup code here, to run once:

8
Serial.begin(115200);
pinMode(14, OUTPUT);// red
pinMode(27, OUTPUT);//yellow
pinMode(26, OUTPUT);//green

// set 2
pinMode(21, OUTPUT);// red
pinMode(16, OUTPUT);//yellow
pinMode(2, OUTPUT);//green
}

void loop() {
digitalWrite(14,HIGH);
digitalWrite(2, HIGH);
delay(2000);
digitalWrite(14, LOW);
digitalWrite(2, LOW);

delay(2000);
digitalWrite(27,HIGH);
digitalWrite(16,HIGH);
delay(2000);
digitalWrite(27, LOW);
digitalWrite(16, LOW);
delay(2000);
digitalWrite(26,HIGH);
digitalWrite(21,HIGH);
delay(2000);
digitalWrite(26, LOW);
digitalWrite(21, LOW);

RESULT:
Hence the Two-Way Traffic Light using Esp32 simulation software
was stimulated and verified.

9
CIRCUIT:

10
EX.NO:5 DHT SENSOR FOR FINDING TEMPERATURE AND HUMIDITY
DATE: WITH THINGSPEAK

AIM:

Write a program for DHT Sensor For Finding Temperature and Humidity using esp32
simulation software with Thingspeak

#include <DHTesp.h>
DHTesp dht;
TempAndHumidity data;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
dht.setup(12, DHTesp::DHT22);
}
void loop() {
// put your main code here, to run repeatedly:
data=dht.getTempAndHumidity();

Serial.print("Temperature : ");
Serial.println(data.temperature);

Serial.print("Humidity : ");
Serial.println(data.humidity);

Serial.println("<------------------------------>");
delay(10000); // this speeds up the simulation
}

DHT SENSOR FOR FINDING TEMPERATURE AND HUMIDITY WITH THINGSPEAK


#include <DHTesp.h>
#include <WiFi.h>
#include<ThingSpeak.h>

DHTesp dht;
TempAndHumidity data;
WiFiClient client;

char ssid[]="Wokwi-GUEST";
char pass[]="";

unsigned long myChannelNumber=2878639;


const char * myWriteAPIKey="RY0K02F2BWAOAQNZ";
int statusCode;

11
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
dht.setup(16,DHTesp::DHT22);
}
void loop() {
if(WiFi.status()!= WL_CONNECTED){
Serial.println("Trying to Connecting");

while(WiFi.status() != WL_CONNECTED){
WiFi.begin(ssid,pass);
Serial.println(".");
delay(5000);
}
Serial.println("\nConnected.");
}

data=dht.getTempAndHumidity();

Serial.println("The Temperature :"+String(data.temperature));


Serial.println("The Humidity : "+String(data.humidity));
delay(1000);

ThingSpeak.setField(1,data.temperature);
ThingSpeak.setField(2,data.humidity);

statusCode=ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if(statusCode==200){
Serial.println("Connected successfully");
}else{
Serial.println("ERROR not Connected");
}
delay(15000);
}

RESULT:
Hence the DHT Sensor for finding Temperature and Humidity using
esp32 simulation software with Thingspeak was stimulated and verified.
12
CIRCUIT:

13
EX.NO:6 4 WAY TRAFFIC CONTROL
DATE:

AIM:

Write a program for 4-way Traffic Control using esp32 simulation software

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
//left

pinMode(23,OUTPUT); //red
pinMode(22, OUTPUT);//green
pinMode(21, OUTPUT);//yellow
//bottom
pinMode(2, OUTPUT);//red
pinMode(0, OUTPUT);//green
pinMode(4, OUTPUT);//yellow
//right
pinMode(6,OUTPUT);//red
pinMode(17, OUTPUT);//green
pinMode(16, OUTPUT);//yellow
//top
pinMode(27, OUTPUT);//red
pinMode(14, OUTPUT);//green
pinMode(12, OUTPUT);//yellow
}

void loop() {

digitalWrite(2,HIGH);
digitalWrite(6, HIGH);
digitalWrite(27, HIGH);
digitalWrite(22, HIGH);
delay(2000);
digitalWrite(21, HIGH);
delay(1000);
digitalWrite(21, LOW);
digitalWrite(2,LOW);
digitalWrite(6, LOW);
digitalWrite(27, LOW);
digitalWrite(22, LOW);
delay(1000);

14
digitalWrite(14, HIGH);
digitalWrite(6, HIGH);
digitalWrite(2, HIGH);
digitalWrite(23,HIGH);
delay(2000);
digitalWrite(12,HIGH);
delay(1000);
digitalWrite(12, LOW);
digitalWrite(14, LOW);
digitalWrite(6, LOW);
digitalWrite(2, LOW);
digitalWrite(23,LOW);
delay(1000);
digitalWrite(17, HIGH);
digitalWrite(2, HIGH);
digitalWrite(23, HIGH);
digitalWrite(27, HIGH);
delay(2000);
digitalWrite(16, HIGH);
delay(1000);
digitalWrite(16, LOW);
digitalWrite(17, LOW);
digitalWrite(2, LOW);
digitalWrite(23, LOW);
digitalWrite(27, LOW);
delay(1000);
digitalWrite(0, HIGH);
digitalWrite(23, HIGH);
digitalWrite(27, HIGH);
digitalWrite(16, HIGH);
delay(2000);
digitalWrite(4, HIGH);
delay(1000);
digitalWrite(4, LOW);
digitalWrite(0, LOW);
digitalWrite(23, LOW);
digitalWrite(27, LOW);
digitalWrite(16, LOW);
}

RESULT:
Hence the 4-way Traffic Control Light using Esp32 simulation
software was stimulated and verified.
15
CIRCUIT:

16
EX.NO:7 BLINKING LED
DATE:

AIM:

Write a program for Blinking LED using esp32 simulation software

void setup() {
pinMode(LED, OUTPUT);
}

void loop() {
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}

RESULT:
Hence the Blinking LED using Esp32 simulation software was
stimulated and verified.
17
CIRCUIT:

18
EX.NO:8 10-LED Chaser
DATE:

AIM:

Write a program for 10-LED Chaser using esp32 simulation software

//initializing a variable for digital pin 2 to 13


int led1 = 15;
int led2 = 2;
int led3 = 4;
int led4 = 5;
int led5 = 18;
int led6 = 19;
int led7 = 21;
int led8 = 22;
int led9 = 23;
int led10 = 32;
int led11 = 33;
int led12 = 25;

void setup() {
// put your setup code here, to run once:

//initialize digital pin as output


pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:

digitalWrite(led1, HIGH);//it mean to give 5v(high) to pins.here ,the led will be on.
delay(30);//1000 = 1 second
digitalWrite(led2, HIGH);

19
delay(30);
digitalWrite(led3, HIGH);
delay(30);
digitalWrite(led4, HIGH);
delay(30);
digitalWrite(led5, HIGH);
delay(30);
digitalWrite(led6, HIGH);
delay(30);
digitalWrite(led7, HIGH);
delay(30);
digitalWrite(led8, HIGH);
delay(30);
digitalWrite(led9, HIGH);
delay(30);
digitalWrite(led10, HIGH);
delay(30);
digitalWrite(led11, HIGH);
delay(30);
digitalWrite(led12, HIGH);
delay(30);

digitalWrite(led1, LOW);//it mean to give 0v(low) to pin.here, led will be off


delay(30);
digitalWrite(led2, LOW);
delay(30);
digitalWrite(led3, LOW);
delay(30);
digitalWrite(led4, LOW);
delay(30);
digitalWrite(led5, LOW);
delay(30);
digitalWrite(led6, LOW);
delay(30);
digitalWrite(led7, LOW);
delay(30);
digitalWrite(led8, LOW);
delay(30);
digitalWrite(led9, LOW);
delay(30);
digitalWrite(led10, LOW);
delay(30);
digitalWrite(led11, LOW);
delay(30);

20
digitalWrite(led12, LOW);
delay(30);
}

RESULT:
Hence the 10-LED Chaser using Esp32 simulation software was
stimulated and verified.

21
CIRCUIT:

22
EX.NO:9 PIR MOTION SENSOR TO DETECT MOVEMENT
DATE:

AIM:

Write a program for PIR motion sensor to detect movement using esp32 simulation
software

const int led =5;

const int pir =19;

void setup(){

pinMode(led,OUTPUT);
pinMode(pir,INPUT);

Serial.begin(9600);
}

void loop(){

const int IP=digitalRead(pir);

Serial.println(IP);

delay(100);
if(IP==1){

digitalWrite(led,HIGH);

delay(1000);

else{

digitalWrite(led,LOW);

delay(1000);

RESULT:
Hence the PIR motion sensor to detect movement using Esp32
simulation software was stimulated and verified.

23
CIRCUIT:

24
EX.NO:10 IOT BASED HEALTH MONITORING SYSTEM
DATE:

AIM:

Write a program for IOT Based Health Monitoring System using esp32 simulation
software

#define BLYNK_PRINT Serial

#define BLYNK_TEMPLATE_ID "TMPL5A5IKGiWu"

#define BLYNK_TEMPLATE_NAME "IOT Based Health Monitoring System Using ESP32"

#include <WiFi.h>
#include <BlynkSimpleEsp32.h>

#include <DHT.h>

#include <LiquidCrystal_I2C.h>

// Blynk auth token and Wi-Fi credentials


char auth[] = "dPwaOMahpx1KvmMqtQQOg15ZGHRzQDhd";

char ssid[] = "Wokwi-GUEST";

char pass[] = "";

// Define DHT22 Sensor and pin

#define DHTPIN 4

#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

const int ldrPin = 34;

LiquidCrystal_I2C lcd(0x27, 16, 2); // Verified I2C address

double bodyTemperature;

25
int heartRate;

void setup() {

Serial.begin(115200);

Blynk.begin(auth, ssid, pass);

while (Blynk.connect() == false) {

Serial.print(".");

delay(100);

}
Serial.println("Connected to Wi-Fi");

dht.begin();

lcd.init(); // Initialize the LCD

lcd.backlight();

lcd.setCursor(0, 0);
lcd.print("LCD initialized");

Serial.println("LCD initialized");

void loop() {

Blynk.run();

// Read temperature as Celsius

bodyTemperature = dht.readTemperature();

if (isnan(bodyTemperature)) {

Serial.println("Failed to read from DHT sensor!");


return;

26
Serial.print("Temperature: ");

Serial.println(bodyTemperature);

// Read LDR value and map it to heart rate (simulate heart rate)

int lightLevel = analogRead(ldrPin);

heartRate = map(lightLevel, 0, 4095, 60, 100);

Serial.print("Heart rate: ");

Serial.println(heartRate);

// Send data to Blynk


Blynk.virtualWrite(V1, bodyTemperature);

Blynk.virtualWrite(V2, heartRate);

// Display data on LCD

lcd.setCursor(0, 0);

lcd.print("Temp: ");

lcd.print(bodyTemperature);
lcd.print(" C ");

lcd.setCursor(0, 1);

lcd.print("Heart: ");

lcd.print(heartRate);

lcd.print(" bpm ");

delay(2000);

RESULT:
Hence the IOT Based Health Monitoring System using Esp32
simulation software was stimulated and verified.

27

You might also like