Giới thiệu
-
SRF05 là cảm biến siêu âm dùng để đo khoảng cách với vật cản, được ứng dụng nhiều trong robot dò đường, công nghiệp oto.
-
Khoảng cách đo: 3cm-500cm.
-
SRF05 sử dụng nguyên lý phản xạ của sóng đề đo khoảng cách. Khi muốn đo khoảng cách SRF05 sẽ phát ra một 8 xung với tốc độ 40Khz. Sau đó nó sẽ chờ đợi xung phản xạ về. Từ thời gian giữa xung đi và xung về ta có thể dễ dàng tính được khoảng cách từ SRF05 tới vật cản.
-
Khi phát ra xung, và chờ xung phản xạ về, chân ECHO của SRF05 sẽ được kéo lên cao. khi có xung phản xạ về chân ECHO sẽ được kéo xuống thấp, hoặc sau 30ms nếu không có xung phản xạ về.
-
Sơ đồ nối dây với arduino uno r3 (SRF05 và SRF04 giống nhau về nguyên lý và code lập trình, chỉ khác nhau về khoảng cách thấy vật cản)
Code mẫu
const int trig = 7; // chân trigger của SRF05
const int echo = 8; // chân echo của SRF05
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 khoảng cách */
duration = pulseIn(echo,HIGH); // Đo độ rộng xung HIGH ở chân echo.
distance = int(duration/2/29.412);// Tính khoảng cách đến vật.
/* In kết quả ra Serial Monitor */
Serial.print(distance);
Serial.println("cm");
delay(200);
}