-->

    Xác định khoảng cách khi đỗ xe bằng cảm biến HC-SRF04 sử dụng ESP8266 và App Blynk

    Nội dung bài viết hôm nay mình sẽ sử dụng cảm biến đo khoảng cách (HC - SRF04) để làm một hệ thống xác định khoảng cách trong bãi khi đỗ xe.
    Hệ thống sẽ hiển thị khoảng cách về điện thoại khi cảm biến phát hiện vật cản. Bằng cách sử dụng NodeMCU ESP8266 với App Blynk.


    Để hiểu hơn về cấu tạo và cách hoạt động của cảm biến (HC - SRF04) các bạn có thể tìm đọc bài viết về Arduino miễn phí dành cho người mới nhập môn.
    • Xem ngay: Đo khoảng cách bằng cảm biến siêu âm HC-SRF04

    Cấu hình thông số đo khoảng cách trên App Blynk

    Để hiển thị Khoảng cách chúng ta vào Widget Box (+) > Click vào Gauge.
    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 thêm: Hướng dẫn cài đặt ESP8266 và kết nối với Blynk  

    Cài đặt thông số cảm biến đo khoảng cách (HC - SRF04)

    • Ở mục "Gauge": Đặt tên cho dự án ở đây mình đặt là "Khoảng Cách"
    • 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~260).
    • LABELS: e.g: Temp:/pin/cm.
    • REFRESH INTERVAL: Vào Push chọn tốc độ đọc cảm biến nhiệt độ (sec).

       

    Tiếp tục vào Widget Box (+) > Click vào nút LED để hiển thị sự thay đổi khoảng cách.


    Ở mục LED Settings: Đặt tên là LED 0.
    INPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V0 và nhấn OK.
    Tương tự ta cài đặt thông số cho LED:
    • LED 1 PIN cần kết nối,chọn Virtual > V1.
    • LED 2 PIN cần kết nối,chọn Virtual > V2.
    • LED 3 PIN cần kết nối,chọn Virtual > V3.
    • LED 4 PIN cần kết nối,chọn Virtual > V4.

      

    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 HC - SRF04
    3V3
    VCC (5V)
    D1
    TRIGGER
    D2
    ECHO
    GND
    GND

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

    Tên linh kiệnSố lượng
    NodeMCU ESP82661
    Cảm biến khoảng cách HC - SRF041

    Code


    #define TRIGGER D1
    #define ECHO    D2

    // NodeMCU Pin D1 > TRIGGER | Pin D2 > ECHO

    #define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
    #include <ESP8266WiFi.h>
    #include <BlynkSimpleEsp8266.h>

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

    // Your WiFi credentials.
    // Set password to "" for open networks.
    char ssid[] = "Nha Tro 4";
    char pass[] = "nguyennam";
    void setup() {

      Serial.begin (9600);
      Blynk.begin(auth, ssid, pass);
      pinMode(TRIGGER, OUTPUT);
      pinMode(ECHO, INPUT);
      pinMode(BUILTIN_LED, OUTPUT);
    }

    void loop() {

      long duration, distance;
      digitalWrite(TRIGGER, LOW);
      delayMicroseconds(2);

      digitalWrite(TRIGGER, HIGH);
      delayMicroseconds(10);

      digitalWrite(TRIGGER, LOW);
      duration = pulseIn(ECHO, HIGH);
      distance = (duration/2) / 29.1;

       if (distance <= 150) {
        Blynk.virtualWrite(V0, 255);
    }
      else {
        Blynk.virtualWrite(V0, 0);
      }

     if (distance <= 100) {
        Blynk.virtualWrite(V1, 255);
    }
      else {
        Blynk.virtualWrite(V1, 0);
      }

       if (distance <= 80) {
        Blynk.virtualWrite(V2, 255);
    }
      else {
        Blynk.virtualWrite(V2, 0);
      }

       if (distance <= 40) {
        Blynk.virtualWrite(V3, 255);
    }
      else {
        Blynk.virtualWrite(V3, 0);
      }

       if (distance <= 20) {
        Blynk.virtualWrite(V4, 255);
    }
      else {
        Blynk.virtualWrite(V4, 0);
      }

      Serial.print(distance);
      Serial.println("Centimeter:");
      Blynk.virtualWrite(V5, distance);
      delay(200);
      Blynk.run();
    }

    Thư viện

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

    Lời kết

    Thật thú vị phải không các bạn, một ứng dụng thật đơn giản nhưng qua đó các bạn có thể sáng tạo riêng cho mình một dự án hay ho hơn, ví dụ có thể dùng cảm biến đo khoảng cách HC - SRF04 làm một mạch chống trộm. 
    Trong quá trình chế tạo mọi thắc mắc các bạn để lại Comment bên dưới bài viết mình sẽ trả lời trong thời gian sớm nhất.

    ( 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