Khác biệt giữa các bản “Cảm biến khoảng cách siêu âm HC-SRF05”
Từ ChipFC Wiki
Dòng 7: | Dòng 7: | ||
[[Tập tin:HY-SRF05.jpg|200px|giữa]] | [[Tập tin:HY-SRF05.jpg|200px|giữa]] | ||
+ | [[Tập tin:HY-SRF05-1.jpg|200px|nhỏ|trái]] | ||
+ | |||
Sơ đồ chân == | Sơ đồ chân == | ||
Dòng 18: | Dòng 20: | ||
− | [[Tập tin:HY-SRF05-2.jpg| | + | [[Tập tin:HY-SRF05-2.jpg|300px|giữa]] |
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|+ Kết nối chân tới Arduino | |+ Kết nối chân tới Arduino |
Phiên bản lúc 15:22, ngày 17 tháng 7 năm 2017
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);
} |