Hướng dẫn sử dụng mạch cảm biến siêu âm HC-SR04

Hc Sr04

Cảm biến siêu âm HC-SR04 là một cảm biến được sử dụng rộng rãi để đo khoảng cách đến một vật thể mà không cần tiếp xúc trực tiếp. Cảm biến hoạt động dựa trên nguyên lý của sóng siêu âm, tương tự như cách dơi và tàu ngầm sử dụng sóng âm để định vị. Nhờ chi phí thấp, tính dễ sử dụng và khả năng đo khoảng cách trong phạm vi từ 2-400cm, HC-SR04 đã trở thành một thành phần phổ biến trong nhiều dự án điện tử, từ robot đến hệ thống tự động hóa và các ứng dụng đo khoảng cách..

Cảm biến bao gồm một bộ phát và một bộ thu sóng siêu âm. Bộ phát sẽ phát ra một xung sóng siêu âm ở tần số cao 40kHz, sóng này sẽ lan truyền trong không khí. Khi gặp một vật cản trên đường đi, sóng siêu âm sẽ phản xạ trở lại. Bộ thu của cảm biến sẽ lắng nghe và nhận diện sóng phản xạ này, hay còn gọi là tiếng vọng (echo). Bằng cách đo thời gian từ khi phát xung siêu âm đến khi nhận được tiếng vọng, cảm biến có thể tính toán được khoảng cách đến vật cản dựa trên tốc độ của âm thanh trong không khí.

Linh kiện sử dụng trong bài viết

Nguyên lý hoạt động

Để bắt đầu quá trình đo khoảng cách, một tín hiệu kích hoạt (trigger) ở mức cao (high) với độ rộng ít nhất 10 micro giây cần được gửi đến chân Trig của cảm biến. Khi nhận được tín hiệu này, module sẽ tự động phát ra một chuỗi 8 xung siêu âm ở tần số 40kHz. Đồng thời, chân Echo của cảm biến sẽ chuyển sang mức cao.

Sóng siêu âm này sẽ lan truyền trong không khí với tốc độ âm thanh (khoảng 340 mét/giây ở điều kiện bình thường) . Nếu có một vật thể trên đường đi của sóng, nó sẽ phản xạ trở lại cảm biến. Khi sóng phản xạ này được bộ thu của cảm biến nhận diện, chân Echo sẽ chuyển về mức thấp. Thời gian mà chân Echo ở mức cao chính là thời gian sóng siêu âm đã di chuyển từ bộ phát đến vật cản và quay trở lại bộ thu.

Để tính toán khoảng cách đến vật thể, ta sử dụng công thức: khoảng cách = (thời gian * tốc độ âm thanh) / 2. Sở dĩ phải chia cho 2 là vì thời gian đo được là thời gian sóng đi và về, trong khi chúng ta chỉ quan tâm đến khoảng cách một chiều từ cảm biến đến vật thể.

Datasheet của HC-SR04 cũng cung cấp các công thức tương đương như: khoảng cách (cm) = thời gian (µs) / 58 hoặc khoảng cách (inch) = thời gian (µs) / 148 . Để đảm bảo phép đo chính xác và tránh sự chồng chéo giữa tín hiệu kích hoạt và tín hiệu phản hồi, nhà sản xuất thường khuyến nghị sử dụng chu kỳ đo lớn hơn 60ms .  

Đặc điểm của HC-SR04

Cảm biến siêu âm HC-SR04 sở hữu nhiều đặc điểm nổi bật, làm cho nó trở thành một lựa chọn phổ biến cho nhiều ứng dụng:

  • Đo khoảng cách không tiếp xúc: Cảm biến có khả năng đo khoảng cách mà không cần chạm vào vật thể, tránh được các vấn đề liên quan đến hao mòn hoặc làm hỏng vật thể.
  • Phạm vi đo rộng: Với khả năng đo từ 2cm đến 400cm, cảm biến này phù hợp với nhiều tình huống khác nhau.
  • Độ chính xác tương đối cao: Độ chính xác có thể đạt tới 3mm, đáp ứng yêu cầu của nhiều dự án.
  • Dễ sử dụng và kết nối: Cảm biến có giao diện đơn giản với chỉ 4 chân, dễ dàng kết nối với các vi điều khiển như Arduino và Raspberry Pi.
  • Chi phí thấp: HC-SR04 là một cảm biến có giá thành rất phải chăng, phù hợp cho cả người mới bắt đầu và các dự án có ngân sách hạn hẹp.

Sơ đồ chân của mạch cảm biến siêu âm HC-SR04

31977444 3

1 – VCC: Kết nối với nguồn điện dương, thường là 5 VDC.
2 – Trig (Trigger): Kích hoạt chân đầu vào, được sử dụng để kích hoạt cảm biến bắt đầu quá trình đo bằng cách gửi một xung điện mức cao (high) có độ rộng ít nhất 10 micro giây.
3 – Echo: Phản hồi chân đầu ra, phát ra một xung điện mức cao (high) khi sóng siêu âm phản xạ được thu về. Độ rộng của xung này tỷ lệ thuận với thời gian sóng siêu âm di chuyển (đi và về), từ đó có thể tính toán được khoảng cách.
4 – GND (Ground): Kết nối với cực âm của nguồn điện.

Hướng dẫn kết nối HC-SR04 với Arduino

Để sử dụng cảm biến siêu âm HC-SR04 với Arduino, bạn cần thực hiện các kết nối sau:  

  • Kết nối chân VCC của HC-SR04 với chân 5V trên bo mạch Arduino.
  • Kết nối chân GND của HC-SR04 với chân GND trên bo mạch Arduino.
  • Chọn một chân kỹ thuật số bất kỳ trên Arduino để làm chân Trig (ví dụ, chân số 9). Kết nối chân Trig của HC-SR04 với chân này trên Arduino.
  • Chọn một chân kỹ thuật số khác trên Arduino để làm chân Echo (ví dụ, chân số 10). Kết nối chân Echo của HC-SR04 với chân này trên Arduino.

Sau khi kết nối xong, bạn có thể sử dụng đoạn code Arduino cơ bản sau để đọc khoảng cách từ cảm biến (ví dụ sử dụng thư viện NewPing).

Newping Library Installation

Việc sử dụng thư viện NewPing giúp người mới bắt đầu dễ dàng tiếp cận và sử dụng cảm biến HC-SR04 mà không cần phải xử lý trực tiếp các vấn đề về thời gian xung.

// Include NewPing Library
#include "NewPing.h"


// Hook up HC-SR04 with Trig to Arduino Pin 9, Echo to Arduino pin 10
#define TRIGGER_PIN 9
#define ECHO_PIN 10


// Maximum distance we want to ping for (in centimeters).
#define MAX_DISTANCE 400


// NewPing setup of pins and maximum distance.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);


void setup() {
Serial.begin(9600);
}


void loop() {
Serial.print("Distance = ");
Serial.print(sonar.ping_cm());
Serial.println(" cm");
delay(500);
}

Kết quả khi bạn mở serial monitor và set baud rate thành 9600 bps

Hc Sr04 Ultrasonic Sensor Arduin

Để lại một bình luận