quang cao hosting

Sử dụng cảm biến khoảng cách HC-SR04

Xem: 973    Tải: 0   Thảo luận: 0   Mục: Hệ thống nhúng   Lĩnh vực: none

0 điểm   ( 20 đánh giá ) File đã được kiểm thử

1. Nội dung

Bài viết này sẽ trình bày 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

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ổ biến để xác định khoảng cách vì RẺ và CHÍNH XÁC. Cảm biến sử dụng sóng siêu âm và có thể đo khoảng cách trong khoảng từ 2 -> 300 cm, với độ chính xác gần như chỉ phụ thuộc 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

Để đ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.

4. Lắp mạch

5. Lập trình


 
  1. const int trig = 8; // chân trig của HC-SR04
  2. const int echo = 7; // chân echo của HC-SR04
  3.  
  4. void setup()
  5. {
  6. ​Serial.begin(9600); // giao tiếp Serial với baudrate 960
  7. ​pinMode(trig,OUTPUT); // chân trig sẽ phát tín hiệ
  8. ​pinMode(echo,INPUT); // chân echo sẽ nhận tín hiệ
  9. }
  10.  
  11. void loop()
  12. {
  13. ​unsigned long duration; // biến đo thời gia
  14. ​int distance; // biến lưu khoảng các
  15.  
  16. ​/* Phát xung từ chân trig *
  17. ​digitalWrite(trig,0); // tắt chân tri
  18. ​delayMicroseconds(2)
  19. ​digitalWrite(trig,1); // phát xung từ chân tri
  20. ​delayMicroseconds(5); // xung có độ dài 5 microSecond
  21. ​digitalWrite(trig,0); // tắt chân tri
  22.  
  23. ​/* Tính toán thời gian *
  24. ​// Đo độ rộng xung HIGH ở chân echo.
  25. ​duration = pulseIn(echo,HIGH);
  26. ​// Tính khoảng cách đến vật
  27. ​distance = int(duration/2/29.412)
  28.  
  29. ​/* In kết quả ra Serial Monitor *
  30. ​Serial.print(distance)
  31. ​Serial.println("cm")
  32. ​delay(200)
  33. }

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 tế nhé. Chúc các bạn thành công!

Sử dụng cảm biến khoảng cách HC-SR04

Sử dụng cảm biến khoảng cách HC-SR04 Đăng ngày 10-03-2020  ảm biến khoảng cách siêu âm HC-SR04 được sử dụng rất phổ biến để xác định khoảng cách vì RẺ và CHÍNH XÁC. Cảm biến sử dụng sóng siêu âm và có thể đo khoảng cách trong khoảng từ 2 -> 300 cm, với độ chính xác gần như chỉ phụ thuộc vào cách lập trình. 5/10 973

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 
File gợi ý cho bạn
File tải nhiều nhất
Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2021. All rights reserved. Bản quyền thuộc VinaGon
Email: info@vinagon.com
Hotline: 086.924.3838