-->

    Giám sát nhiệt độ, độ ẩm bằng App Blynk sử dụng NodeMCU ESP8266


    Việc giám sát nhiệt độ, độ ẩm trên điện thoại di động. Giờ đây không còn khó khăn nữa?
    Việc App Blynk ra đời với một nền tản mạnh mẽ giúp mọi người có thể tạo ra nhiều dự án hay ho.
    Mà không cần phải lập trình bằng những đoạn code phức tạp.
    Trong bài viết hôm nay mình sẽ hướng dẫn các bạn cách để hiển thị các thông số của cảm biến DHT11 lên Blynk.
    Và cách lấy dữ liệu đọc được từ cảm biến nhé.
     

    Truyền dữ liệu từ phần cứng lên App Blynk.

    Cấu hình các thông số cảm biến DHT11 trên App Blynk

    Để hiển thị các dữ liệu đo chúng ta vào Widget Box (+) > Click vào GAUGE để lấy các thang đo dữ liệu ra.
    Nếu bạn chưa biết cách làm sao để tải App và tạo một Project trên Blynk các bạn xem bài viết bên dưới nhé.

     

    Cài đặt các thông số chi tiết nhiệt độ, độ ẩm

    Để tiến hành cài đặt các thông số cho cảm biến ta thực hiện các bước sau:
    Click vào GAUGE để tiến hành cài đặt thông số.

    Cài đặt thông số nhiệt độ

    • Ở mục GAUGE 1: Đặt tên cho thang đo nhiệt độ (temperature).
    • INPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V6 (0~1023) đổi lại (0~50).
    • LABELS: e.g: Temp:/pin/độ c.
    • REFRESH INTERVAL: Vào Push chọn tốc độ đọc cảm biến nhiệt độ (sec).

    Cài đặt thông số độ ẩm

    • Ở mục GAUGE 2 : Đặt tên cho thang đo độ ẩm (humidity).
    • INPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V5  (0~1023) đổi lại (0~100).
    • LABELS: e.g: Temp:/pin/% (Độ ẩm đơn vị là %).
    • REFRESH INTERVAL: Vào Push chọn tốc độ đọc cảm biến độ ẩm (sec).

         

    Biểu đồ nhiệt độ, độ ẩm DHT11

    Tiếp tục vào Widget Box (+) > Click vào SUPPERCHART để biểu đồ hiển thị nhiệt độ, độ ẩm ra.
    Ở mục SuperChart : Đặt tên biểu đồ.
    DATASTREAMS: Đặt tên cho từng biểu đồ Nhiệt độ và Độ Ẩm.
    Virtual là các chân dùng để trao đổi dữ liệu giữa phần cứng với App Blynk ở đây mình chọn (V6 cho Nhiệt Độ), (V5 cho Độ Ẩm).

           
        
    Để hiển thị vectơ các mức giá trị đo trên biểu đồ.
    Ta vào mục Y-AXIS VALUES chuyển về nút SHOW (hiển thị) cho cả Nhiệt Độ và Độ Ẩm.
    Để hiển thị thời gian cập nhật vào mục X-AXIS VALUES chuyển về nút SHOW.

      

    Như vậy là đã xong phần cài đặt, bước tiếp theo ta tiến hành upload chương trình và xem kết quả nhé.

    Sơ đồ đấu nối

    NodeMCU ESP8266
    Cảm biến nhiệt độ, độ ẩm DHT11
    3V3
    VCC (5V)
    GND
    GND
    D4
    OUT


    Nguyên lý NodeMCU ESP8266 với DHT11.

    Các linh kiện cần thiết cho dự án


    Tên linh kiện
    Arduino KIT
    Shoppe
    NodeMCU ESP8266
    Xem sản phẩm tại đây
    Cảm biến nhiệt độ, độ ẩm DHT11
    Xem sản phẩm tại đây

    Code


    #define BLYNK_PRINT Serial
    #include <ESP8266WiFi.h>
    #include <BlynkSimpleEsp8266.h>
    #include "DHT.h"       
    #include <SimpleTimer.h>
    #define DHTTYPE DHT11

    #define dht_dpin 2
    DHT dht(dht_dpin, DHTTYPE);
    SimpleTimer timer;
    char auth[] = "49d330c27974424a8d4e897eec57dfd1";
    char ssid[] = "Nha Tro 4";
    char pass[] = "nguyennam";
    float t;
    float h;

    void setup()
    {
        Serial.begin(9600);
        Blynk.begin(auth, ssid, pass);
        dht.begin();
        timer.setInterval(2000, sendUptime);
    }

    void sendUptime()
    {
      float h = dht.readHumidity();
      float t = dht.readTemperature();
      Serial.println("Humidity and temperature\n\n");
      Serial.print("Current humidity = ");
      Serial.print(h);
      Serial.print("%  ");
      Serial.print("temperature = ");
      Serial.print(t);
      Blynk.virtualWrite(V6, t);
      Blynk.virtualWrite(V5, h);

    }

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

    Thư viện

    • Download thư viện "DHT.h" : Tải ngay
    • Download thư viện "SimpleTimer.h"Tải ngay
    • Download thư viện "BlynkSimpleEsp8266.h": Tải ngay

    Giải thích code

    Bước đầu tiên chúng ta đi vào khai báo chân đọc cảm biến nhiệt độ, độ ẩm.
    Ở đây mình chọn chân GPIO2 tức là chân D4 trên board NodeMCU ESP8266.

    #define dht_dpin 2
    
    
    Tiếp theo ta tiến hành cấu hình các thông số như Token, tên Wifi và mật khẩu Wifi.

    char auth[] = "49d330c27974424a8d4e897eec57dfd1";
    char ssid[] = "Nha Tro 4";
    char pass[] = "nguyennam";
    
    
    Khai báo biến và đọc giá trị nhiệt độ, độ ẩm DHT11.
    • Đọc nhiệt độ, độ ẩm (DHT11) sử dụng Arduino Uno: Xem ngay
    float h = dht.readHumidity();
    float t = dht.readTemperature();

    Chúc các bạn thành công.
    Trân trọng.

    ( Nguyên lý + Code chuẩn) Link Mediafire

    ------------------------------------------------------------------------------------
    DV1 - Nhận vẽ mạch thuê ONLINE Altium Designer/ Orcad 9.2/ Protues nhanh trong ngày



    -----------------------------------------------------------------------------------

    DV2 - Mua linh kiện về làm mạch nhanh - Miễn phí Ship




    DV3 - Kênh youtube chia sẻ kiến thức điện tử thực hành ngay


    DV4 - Kênh cộng đồng Facebook Điện Tử ChipKool




    eChipKool - Chia sẻ kiến thức Kết Nối đam mê điện tử

    Latest posts