Cảm biến nhiệt độ ẩm DHT11 với ESP8266 và ứng dụng BLYNK
1. Chuẩn bị:
+ NodeMcu ESP8266
+ DHT11 Temperature Sensor
+ BreadBoard
+ Jumpers
+ DHT11 Temperature Sensor
+ BreadBoard
+ Jumpers
2. Kết nối:
3. Code Blynk:
//www.youtube.com/c/nnchau
//Cảm biến nhiệt, độ ẩm DHT11
/**************************************************************
* App project setup:
* Value Display widget attached to V5
* Value Display widget attached to V6
*
**************************************************************/
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <DHT.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = ""; //Enter the Auth code which was send by Blink
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = ""; //Enter your WIFI Name
char pass[] = ""; //Enter your WIFI Password
#define DHTPIN 2 // Digital pin 4
// 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);
SimpleTimer 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); //V5 is for Humidity
Blynk.virtualWrite(V6, t); //V6 is for Temperature
}
void setup()
{
Serial.begin(9600); // See the connection status in Serial Monitor
Blynk.begin(auth, ssid, pass);
dht.begin();
// Setup a function to be called every second
timer.setInterval(1000L, sendSensor);
}
void loop()
{
Blynk.run(); // Initiates Blynk
timer.run(); // Initiates SimpleTimer
}
rất hữu ích, xin cảm ơn!
ReplyDelete