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 55: | Dòng 55: | ||
|<syntaxhighlight lang="cpp"> | |<syntaxhighlight lang="cpp"> | ||
− | const int trig = 8; // chân trig của HC- | + | const int trig = 8; // chân trig của HC-SR04 |
− | const int echo = 7; // chân echo của HC- | + | const int echo = 7; // chân echo của HC-SR04 |
void setup() | void setup() | ||
Dòng 67: | Dòng 67: | ||
void loop() | void loop() | ||
{ | { | ||
− | unsigned long | + | unsigned long thoigian; // biến đo thời gian |
− | int | + | int khoangcach; // biến lưu khoảng cách |
/* Phát xung từ chân trig */ | /* Phát xung từ chân trig */ | ||
Dòng 79: | Dòng 79: | ||
/* Tính toán thời gian */ | /* Tính toán thời gian */ | ||
// Đo độ rộng xung HIGH ở chân echo. | // Đo độ rộng xung HIGH ở chân echo. | ||
− | + | thoigian = pulseIn(echo,HIGH); | |
// Tính khoảng cách đến vật. | // Tính khoảng cách đến vật. | ||
− | + | khoangcach = int(duration/2/29.412); | |
/* In kết quả ra Serial Monitor */ | /* In kết quả ra Serial Monitor */ | ||
− | Serial.print( | + | Serial.print(khoangcach); |
Serial.println("cm"); | Serial.println("cm"); | ||
− | delay( | + | delay(800); |
} | } | ||
Phiên bản lúc 15:37, 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
Source code mẫu:
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 thoigian; // biến đo thời gian
int khoangcach; // 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.
thoigian = pulseIn(echo,HIGH);
// Tính khoảng cách đến vật.
khoangcach = int(duration/2/29.412);
/* In kết quả ra Serial Monitor */
Serial.print(khoangcach);
Serial.println("cm");
delay(800);
} |