Cảm biến khoảng cách siêu âm HC-SRF05
Từ ChipFC Wiki
Bài viết này đang được phát triển hoặc chỉnh sửa lớn. |
Giới thiệu
- Cảm biến siêu âm HY-SRF05 là cảm biến dùng để đo khoảng cách tới vật cản nhờ vào sóng siêu âm được phát ra từ cảm biến và nhận về. Khoảng cách có thể đo trong khoảng 2-300 cm với độ chính xác gần như chỉ phụ thuộc vào cách lập trình.
Sơ đồ chân ==
SRF05 có 5 chân, bao gồm: VCC, Trig(Trigger), Echo, Out, và GND.
- Chức năng của các chân:
- VCC: Chân cấp nguồn 5V.
- GND: Chân nối mass(0V).
- Trig: Chân kích phát sóng siêu âm (ở chế độ 1). Ở chế độ 2 thì chân Trig vừa là chân kích vừa là chân báo tín hiệu phản xạ của sóng siêu âm.
- Echo: Chân báo có tín hiệu phản xạ của sóng siêu âm.
- Out: Không dùng (Not Connect).
Thứ tự chân | Tên gọi | Mô tả |
---|---|---|
1 | VCC | 5v |
2 | Trig | Một chân Digital OUTPUT (phát sóng siêu âm) |
3 | Echo | Một chân Digital INPUT (thu sóng siêu âm) |
4 | OUT | không dùng (Not Connect) |
5 | GND | GND |
Sử dụng
Sơ đồ kết nối
- kết nối với Arduino
- kết nối với Arduino và LCD
Source code mẫu:
const int trig = 8; // chân trig của HC-SR05
const int echo = 7; // chân echo của HC-SR05
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);
} |