Đo Khoảng Cách Bằng Cảm Biến Siêu âm HC-SRF04 (Mới Nhất 2021)
Có thể bạn quan tâm
Cảm biến siêu âm HC-SRF04 (khoảng cách) là gì? Là một sóng siêu âm (Sonar) có sóng cao tầng mà con người không thể nghe thấy được. Tuy nhiên, ta có thể thấy được sự hiện diện của sóng siêu âm ở khắp mọi nơi trong tự nhiên. Ở các loài động vật như dơi, cá heo … dùng sóng siêu âm để liên lạc với nhau, để săn mồi hay định vị trong không gian.

Xem ngay: Hướng dẫn sử dụng cảm biến khí Gas MQ2 (Gas Sensor) với Arduino
Cảm biến siêu âm (HC – SRF04)
Cảm biến siêu âm HC-SR04 (Ultrasonic Sensor) được sử dụng rất phổ biến để xác định khoảng cách vì giá thành rẻ và khá chính xác. Cảm biến siêu âm HC-SR04 sử dụng sóng siêu âm và có thể đo khoảng cách trong khoảng từ 2 -> 300cm.

Nguyên lý hoạt động
Để đo khoảng cách, ta sẽ phát 1 xung rất ngắn (5 microSeconds) từ chân Trig. Sau đó, cảm biến siêu âm sẽ tạo ra 1 xung HIGH ở chân Echo cho đến khi nhận lại được sóng phản xạ ở pin này. Chiều rộng của xung sẽ bằng với thời gian sóng siêu âm được phát từ cảm biển và quay trở lại.
Tốc độ của âm thanh trong không khí là 340 m/s (hằng số vật lý), tương đương với 29,412 microSeconds/cm (106 / (340*100)). Khi đã tính được thời gian, ta sẽ chia cho 29,412 để nhận được khoảng cách.

Lưu ý: Cảm biến siêu âm càng xa thì càng bắt không chính xác, vì góc quét của cảm biến sẽ mở rộng dần theo hình nón, ngoài ra bề mặt xiên hay xù xì cũng làm giảm độ chính xác của cảm biến, thông số kỹ thuật ghi ở dưới đây là của nhà sản xuất test trong điều khiện lý tưởng, còn thực tế thì tùy theo môi trường làm việc của cảm biến.
Xem ngay: Hướng dẫn sử dụng cảm biến từ trường (Reed Switch) với Arduino
Các chân chức năng
| VCC | Cấp nguồn cho cảm biến (5V) hoặc 3.3V ở cảm biến 3V3 |
| TRIGGER | Chân phát sóng âm. Là chu kỳ của của điện cao /thấp diễn ra. |
| ECHO | Trạng thái ban dầu là 0V, khi có tín hiệu trả về sẽ là 5V và sau đó trở về 0V |
| GND | Nối cực âm của mạch |
| OUT | Không sử dụng |
Sơ đồ
Các linh kiện cần thiết
| Tên linh kiện | Số lượng | Shopee |
| Aduino Uno R3 (Chưa có cáp) | 1 | Mua ngay |
| Dây cáp nạp | 1 | Mua ngay |
| Cảm biến khoảng cách SRF04 | 1 | Mua ngay |
| Breadboard | 1 | Mua ngay |
| Dây cắm (Đực – Đực) | 1 | Mua ngay |
Bạn sẽ học được gì
- Có kiến thức cơ bản về Robotics
- Chế tạo Robot dò đường thông minh
- Đánh thức nhà khoa học bên trong bạn
- Tìm hiểu thêm về Robotics, các thuật toán Robot tự động
- Kiến thức nền tảng để chế tạo các máy móc tự động phục vụ đời sống sinh hoạt, lao động sản xuất
- Kiến thức để chế tạo sản phẩm, tham gia các cuộc thi khoa học công nghệ trong nước và quốc tế
KHÓA HỌCCHẾ TẠO ROBOT DÒ ĐƯỜNG
ĐĂNG KÝ NGAY Đã có 284 học viên đăng ký Code mẫu
#define TRIG_PIN 3 #define ECHO_PIN 2 #define TIME_OUT 5000 float GetDistance() { long duration, distanceCm; digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); duration = pulseIn(ECHO_PIN, HIGH, TIME_OUT); // convert to distance distanceCm = duration / 29.1 / 2; return distanceCm; } void setup() { Serial.begin(9600); pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); } void loop() { long distance = GetDistance(); if (distance <= 0) { Serial.println("Echo time out !!"); } else { Serial.print("Distance to nearest obstacle (cm): "); Serial.println(distance); } delay(1000); }Giải thích Code
duration = pulseIn(ECHO_PIN, HIGH, TIME_OUT);Trong chương trình chúng ta cần chú ý hàm pulseIn
Hàm pulseIn có tác dụng trả về thời gian (tính bằng milisec) kể từ khi hàm này được gọi cho đến khi có tín hiệu tại PIN chỉ định trước, hay trả về 0 nếu không nhận được tín hiệu / quá thời gian timeout.
Các tham số
ECHO_PIN: Pin chờ
HIGH: Giá trị chờ
TIME_OUT: Thời gian chờ tín hiệu, mặc định là 1s
distanceCm = duration / 29.1 / 2;Ta biết thời gian âm thanh truyền trong không khí ở 20°C là 344 m/s.Bằng quy tắc tam suất đơn giản ta có thể dễ dàng tính được sóng âm di chuyển 1 cm trong không khí sẽ mất 1000 / 344 * 100 ~= 29.1 ms. Do thời gian được tính từ lúc phát tín hiệu tới khi sóng âm phản xạ lại, vì vậy ta chia đôi sẽ ra được quãng đường mà sóng âm đã đi.
Kết luận
Vậy là bạn đã tìm hiểu cách đo khoảng cách bằng cảm biến siêu âm HC-SRF04 và board Arduino Uno. Bạn cần lưu ý các cảnh báo trên và đảm bảo rằng bạn đã kết nối các dây nối đúng cách và sử dụng nguồn điện có độ ổn định. Chúc bạn thành công!
Bài viết liên quan
- Mới học Arduino nên chọn board nào?
- GÓC DIY | Chế tạo Robot tránh vật cản – Hướng dẫn chi tiết
- Điều khiển Đèn 220V bằng Realy sử dụng Arduino
- Giao tiếp cảm biến điện áp Voltage Sensor với Arduino
- Sử dụng cảm biến nước mưa (Rain Water Sensor) với Arduino
Từ khóa » Hc-sr04 Dùng để Làm Gì
-
Ứng Dụng Cảm Biến Siêu âm HC-SR04
-
Tìm Hiểu Cảm Biến Siêu âm HC-SR04 - ĐIỆN TỬ TƯƠNG LAI
-
Sử Dụng Cảm Biến Khoảng Cách HC-SR04
-
HC-SR04: Tất Cả Về Cảm Biến Siêu âm | Phần Cứng Miễn Phí
-
Cảm Biến Siêu Âm HC-SR04 | Học Điện Tử - Mobitool
-
{HOT} Cảm Biến Siêu âm Là Gì? Ưu điểm Và Nhược điểm Ra Sao?
-
Ứng Dụng Cảm Biến Siêu âm HC-SR04 Hay Nhất - DubaiElectric
-
Cảm Biến Khoảng Cách HC-SR04 - IoTMaker
-
Tìm Hiểu Cảm Biến Siêu âm HC-SR04
-
[Kiến Thức] Cảm Biến Siêu âm Là Gì? Ứng Dụng Cảm Biến Siêu âm
-
Cảm Biến Siêu Âm HC-SR04 - Linh Kiện Thành Công
-
Sử Dụng Cảm Biến Khoảng Cách HC-SR04 - MegaCode
-
Phát Hiện Và đo Khoảng Cách Tới Vật Thể Với Raspberry Pi Và Cảm ...
-
Cảm Biến Cảm Biến Siêu Âm HC SR-04 - Đồ án Tốt Nghiệp - 123doc
