Sử dụng cảm biến khoảng cách HC-SR04 | Cộng đồng Arduino Việt Nam
Xin chào, thời điểm ngày hôm nay mình sẽ trình làng về cách sử dụng cảm biến khoảng cách HC-SR04 .
1. Nội dung
Bài viết này sẽ trình diễn 2 nội dung chính là :
- Tìm hiểu nguyên lý hoạt động của HC-SR04.
- Cách sử dụng với Arduino.
2. Phần cứng
2. Phần cứng
3. Giới thiệu cảm biến đo khoảng cách HC-SR04
Cảm biến khoảng cách siêu âm HC-SR04 được sử dụng rất phổ cập để xác lập khoảng cách vì RẺ và CHÍNH XÁC. Cảm biến sử dụng sóng siêu âm và hoàn toàn có thể đo khoảng cách trong khoảng chừng từ 2 -> 300 cm, với độ đúng chuẩn gần như chỉ phụ thuộc vào vào cách lập trình .
Cảm biến HC-SR04 có 4 chân là: Vcc, Trig, Echo, GND.
Vcc | 5V |
Trig | Một chân Digital output |
Echo | Một chân Digital input |
GND | GND |
Sơ đồ nối chân giữa HC-SR04 và Arduino
Nguyên lý hoạt động giải trí
Để đ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 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.
Xem thêm: Top 16 linh kiện lâm music hay nhất 2022 – Ngày hội bia Hà Nội – https://dichvubachkhoa.vn
4. Lắp mạch
5. Lập trình
const int trig = 8; // chân trig của HC-SR04 const int echo = 7; // chân echo của HC-SR04 void setup() { Serial.begin(9600); // giao tiếp Serial với baudrate 9600 pinMode(trig,OUTPUT); // chân trig sẽ phát tín hiệu pinMode(echo,INPUT); // chân echo sẽ nhận tín hiệu } void loop() { unsigned long duration; // biến đo thời gian int distance; // biến lưu khoảng cách /* Phát xung từ chân trig */ digitalWrite(trig,0); // tắt chân trig delayMicroseconds(2); digitalWrite(trig,1); // phát xung từ chân trig delayMicroseconds(5); // xung có độ dài 5 microSeconds digitalWrite(trig,0); // tắt chân trig /* Tính toán thời gian */ // Đo độ rộng xung HIGH ở chân echo. duration = pulseIn(echo,HIGH); // Tính khoảng cách đến vật. distance = int(duration/2/29.412); /* In kết quả ra Serial Monitor */ Serial.print(distance); Serial.println("cm"); delay(200); }
Giải thích
- duration = pulseIn(echo,1);
Hàm pulseIn() được dùng để đo độ rộng của xung, các bạn có thể xem thêm tại link sau: http://arduino.vn/reference/pulsein. Duration sẽ bằng độ dài xung HIGH ở chân echo (tính theo micro giây).
- distance = int(duration/2/29.412);
Thời gian sóng truyền từ cảm biến đến vật sẽ bằng duration / 2, sau đó ta chia tiếp cho 29,412 để tính khoảng cách .
6. Lời kết
Hãy ứng dụng vào thực tiễn nhé. Chúc những bạn thành công xuất sắc !
Trên kBOT – Wifi Robot, cảm biến này đã được tác giả sử dụng để làm radar đo khoảng cách phía sau đuôi đấy. Với cảm biến siêu âm bạn cũng hoàn toàn có thể dùng để đếm mẫu sản phẩm hoặc cảm biển khoảng cách cầm tay, …
Source: https://dichvubachkhoa.vn
Category : Linh Kiện Và Vật Tư
Có thể bạn quan tâm
- 16 Dụng Cụ Trước Khi Dán Giấy Dán Tường
- Top 16 linh kiện lâm music hay nhất 2024 – Ngày hội bia Hà Nội
- Mua linh kiện điện thoại giá sỉ ở đâu Quận 7 – Phát Lộc
- Màn hình iPhone X – Zin New – Chính hãng – Giá rẻ Tín Thành
- GIỚI THIỆU VỀ LINH KIỆN ĐIỆN TỬ TUHU
- Các loại linh kiện chất lượng có trong máy hàn điện tử Pejo. –