Thứ Sáu, Tháng Chín 25, 2020
Trang chủ DIY IoT with Blynk – Bài 3 : Đọc dữ liệu DHT11

IoT with Blynk – Bài 3 : Đọc dữ liệu DHT11

Giới Thiệu

Chào các bạn! Ở bài viết trước mình đã hướng dẫn các bạn cách điều khiển một đèn led thông qua nút nhấn và App Blynk. Ở bài viết này mình sẽ hướng dẫn các bạn cách đọc cảm biến DHT11 với NodeMCU và hiển thị lên Blynk Server

Nếu bạn chưa biết Blynk là gì thì hãy tham khảo bài viết: IoT with Blynk – Hướng Dẫn Cài Đặt để hiểu về cài đặt thư viện cho Arduino, Blynk App và cách tạo tài khoản phù hợp với hướng dẫn của mình!

Chúng ta cùng bắt đầu nào !

Chuẩn Bị

1. Phần cứng

2. Phần mềm

Hướng Dẫn

1. Phần cứng 

Các bạn kết nối NodeMCU với DHT11 như sau:

Kit WiFi ESP8266 NodeMCU Lua CP2102 Cảm Biến Độ Ẩm, Nhiệt Độ DHT11 
VCC +
GND
D6 OUT

 

2. Phần mềm

📱  Blynk App

Chúng ta sẽ tạo vẫn sử dụng project cũ  và giữ nguyên mã AuthTokens . Nếu bạn là người mới hãy tham khảo bài viết:
IoT with Blynk – Hướng Dẫn Cài Đặt trước khi thực hiện tiếp các bước sau.

Đầu tiên mình sẽ thêm Value Display(V5) và Labeled Value(V6)IoT with Blynk – Bài 3  Đọc dữ liệu DHT11

Các bạn có thể thêm  Display Gauge cho đẹp!

IoT with Blynk – Bài 3  Đọc dữ liệu DHT11

Ngoài ra các bạn có thể cấu hình thêm dạng đồ thị để nhìn cho sinh động hơn

Vậy là chúng ta đã cấu hình trên App xong rồi !

💻 Arduino

Nếu bạn là người mới hãy tham khảo trước bài viết:
IoT with Blynk – Hướng Dẫn Cài Đặt để biết cách cài đặt Arduino cho phù hợp với bài học này !

Trước tiên các bạn hãy add Thư viện Adafruit_Sensor DHT-sensor-library vào Arduino Library!

Source Code

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>

char auth[] = "YourAuthToken"; // Nhập AuthToken
char ssid[] = "YourNetworkName"; // Nhập tên WiFi
char pass[] = "YourPassword";   // Nhập password WiFi

#define DHTPIN D2
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;

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;
  }
  Blynk.virtualWrite(V5, h);
  Blynk.virtualWrite(V6, t);
  Serial.print("Nhiet do: " +String(t));
  Serial.println("  Do am: " +String(h));
}

void setup()
{
  Serial.begin(115200);
  Blynk.begin(auth, ssid, pass, "makerblynk.ddns.net", 8080);
  dht.begin();
  timer.setInterval(1000L, sendSensor);
}

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

Sau khi đã thêm thư viện thành công các bạn cần chỉnh sửa thêm một số phần trong Source Code 

char auth[] = “YourAuthToken”; // Nhập AuthToken của bạn
char ssid[] = “YourNetworkName”; // Nhập tên WiFi
char pass[] = “YourPassword”; // Nhập password WiFi

Ở trong hướng dẫn này mình sử dụng BlynkTimer timer;

BlynkTimer timer;

Timer này sẽ giúp gửi dữ liệu từ cảm biến lên Server 1s – 1 lần, bạn có thể thấy ở trong vòng setup

timer.setInterval(1000L, sendSensor);

Ngoài ra chúng ta cũng sẽ có 1 funtion để đọc giá trị cảm biến

void sendSensor()

Nếu bạn làm các bước như trên thành công thì chúng ta sẽ được giao diện hiển thị như thế này! Rất đẹp và sinh động đúng không nào ^^

IoT with Blynk – Bài 3  Đọc dữ liệu DHT11

Tổng Kết 

Trong bài này chúng ta đã học được

  • Đọc cảm biến DHT11
  • Hiển thị nhiệt độ độ ẩm lên Blynk App

Vậy mình đã hướng dẫn các bạn cách đọc dữ liệu từ DHT11 lên Blynk. Chúc các bạn thành công với dự án của mình !

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Most Popular

Hướng dẫn sử dụng Mạch đóng ngắt tải không tiếp xúc chế tạo Thiết bị vệ sinh tự động

Từ ngày 03/08/2020 mạch chuyển sang phiên bản mới tuy nhiên kích thước, vị trí linh kiện và chức năng của mạch giống và...

Lưu trữ nhật ký dữ liệu Online với ESP32 và Google Spreadsheets

Giới Thiệu Chào các bạn, trong các dự án IoT nhỏ gọn thì việc lưu trữ  và kiểm soát dữ liệu trên đám mây cũng...

Đọc Cảm Biến DHT11/DHT21/DHT22 không bị DELAY chương trình

Giới Thiệu Chào các bạn, hôm nay mình giới thiệu và hướng dẫn cách đọc cảm biến các dòng DHT11/DHT21/DHT22 ở bài này mình sử...

Gỡ lỗi ESP8266/ESP32 với thư viện ArduinoTrace

Giới Thiệu Chào các bạn, thông thường khi các bạn debug chương trình các bạn thường sử dùng hàm Serial.print() tuy nhiên, hôm nay mình sẽ...

Recent Comments

0
Would love your thoughts, please comment.x
()
x