EDUcentrum
Published © CC BY-NC-SA

Snap Circuits and IoT

Fun activity for kids - let's learn how IoT can contribute to energy efficiency of a house!

IntermediateFull instructions provided262
Snap Circuits and IoT

Things used in this project

Hardware components

ESP32 board
×1
USB-A to Mini-USB Cable
USB-A to Mini-USB Cable
×1
Crocodile cables
×1
DHT11 Temperature & Humidity Sensor (4 pins)
DHT11 Temperature & Humidity Sensor (4 pins)
×1
LDR sensor
×1
Resistor 10k ohm
Resistor 10k ohm
×1
Breadboard (generic)
Breadboard (generic)
×1
Jumper wires (generic)
Jumper wires (generic)
×1
Snap circuits
×1
Miniature house
×1

Software apps and online services

Blynk
Blynk
Arduino IDE
Arduino IDE

Story

Read more

Code

Blynk - Arduino IDE

C/C++
#define BLYNK_PRINT Serial

#include #include #include #include

// You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "726e035ec85946ad82c3a2bb03015e5f";

// Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "TISCALI-301DC1"; char pass[] = "ewkvt+dGc1Mx";

const int analogPin = 34; // Analog input pin 0 (GPIO 36) int sensorValue = 0; // Value read from the ADC

#define DHTPIN 4 // What digital pin we're connected to

// Uncomment whatever type you're using! #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321 //#define DHTTYPE DHT21 // DHT 21, AM2301

DHT dht(DHTPIN, DHTTYPE); BlynkTimer timer;

// This function sends Arduino's up time every second to Virtual Pin (5). // In the app, Widget's reading frequency should be set to PUSH. This means // that you define how often to send data to Blynk App. void sendSensor() { float h = dht.readHumidity(); float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit

if (isnan(h) || isnan(t)) { Serial.println("Failed to read from DHT sensor!"); return; } // You can send any value at any time. // Please don't send more that 10 values per second. Blynk.virtualWrite(V5, h); Blynk.virtualWrite(V6, t); }

void setup() { // Debug console Serial.begin(9600);

Blynk.begin(auth, ssid, pass); // You can also specify server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

dht.begin();

// Setup a function to be called every second timer.setInterval(1000L, sendSensor); timer.setInterval(250L, AnalogPinRead); // Run sensor scan 4 times a second

}

void AnalogPinRead() { sensorValue = analogRead(analogPin); // Read the analog in value: Serial.print("sensor = "); // Print the results... Serial.println(sensorValue); // ...to the serial monitor: Blynk.virtualWrite(V0, sensorValue); // Send the results to Gauge Widget }

void loop() { Blynk.run(); timer.run(); }

Credits

EDUcentrum

EDUcentrum

0 projects • 4 followers

Comments