Trang chủ / Bài viết

Hướng dẫn sử dụng Module cảm biến siêu âm HY-SRF05

Ứng dụng : dùng đo khoảng cách, đo mực chất lỏng, robot dò đường,phát hiện các vết đứt gãy trong dây cáp.

 

Thông số kỹ thuật:

-Điện áp vào: 5V

-Dòng tiêu thụ : <2mA

-Tín hiệu đầu ra: xung HIGH(5V) và LOW(0V)

-Khoảng cách đo : 2cm – 450cm

-Độ chính xác : 0.5cm

-Kích thước: 20*45*15mm

-Góc cảm biến :<15 độ

Sơ đồ chân: có 5 chân

       1.VCC : 5V.

       2.Trig(T) : digital input.

       3.echo (R): digital output.

       4.OUT.

       5.GND.

Nguyên lý hoạt động:

+Ở chế độ 1: Tách biệt, kích hoạt và phản hồi

      Để đo khoảng cách, ta 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 được xung phản xạ ở chân 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 quay trở lại. Tốc độ của âm thanh trong không khí là 340 m/s tương đương với 29,412 microSeconds/cm(1000000/(340*100)). Khi đã tính được thời gian ta chia cho 29,412 để được khoảng cách cần đo.

 

+Ở chế độ 2: Dùng 1 chân cho cả kích hoạt và phản hồi

     Ta sử dụng chân OUT để nó vừa phát ra xung rồi nhận xung phản xạ về,chân chế độ thì nối đất.Tín hiệu hồi tiếp sẽ suất hiện trên cùng 1 chân với tín hiệu kích hoạt.SR05 sẽ không tăng dòng phản hồi cho đến 700uS sau khi kết thúc các tín hiệu kích hoạt và bạn đã có thời gian để kích hoạt pin xoay quanh và làm cho nó trở thành 1 đầu vào.

 

 

Ứng dụng minh họa: Thiết bị đo khoảng cách và hiển thị kết quả lên LCD.

Chuẩn bị phần cứng

-1 Arduino Uno R3.

-1Module cảm biến siêu âm HY-SRF05.

-1 LCD 1206 Keypad Shield.

-Dây nối.

Bạn có thể xem  hình dưới đây:

 

 

Cắm dây USB 5V vào Arduino. Như vậy ta đã chuẩn bị xong phần cứng

 

Phần lập trình , các bạn mở Arduino IDE lên và copy đoạn code dưới vào

/*********** DO KHOANG CACH***********

 *  *******************************

 */

#include<LiquidCrystal.h>          

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

 

int echoPin = 2;                                     // the SRF05's echo pin

int initPin = 3;                                        // the SRF05's init pin

unsigned long pulseTime = 0;          // variable for reading the pulse

unsigned long distance = 0;             // variable for storing the distance

 

void setup() {

  pinMode(initPin, OUTPUT);          // set ouput

  pinMode(echoPin, INPUT);          // set input

  lcd.begin(16,2);                              // lcd 16x2

  Serial.begin(115200);                   // ket noi  uart, baudrate 115200

}

void loop() {

   // Send the sensor a 10us pulse (trigger)

  digitalWrite(initPin, HIGH);             // dau ra initPin HIGH

  delayMicroseconds(10);                // delay 10mcrosecond

  digitalWrite(initPin, LOW);             // dau ra initPin HIGH

  pulseTime = pulseIn(echoPin, HIGH); 

  distance = pulseTime/58;              // tinh khoang cach cm

  Serial.print('A');

  Serial.print(distance);

  Serial.println('B');

// display result on LCD

  lcd.setCursor(0,0);

  lcd.print("KHOANG CACH");

  lcd.setCursor(3,1);

  lcd.print(distance);// hien thi khoang cach

  lcd.setCursor(7,1);

  lcd.print("cm");

  delay(200);

  lcd.setCursor(3,1);

  lcd.print("    ");

}

TRA CỨU MÃ VẬN ĐƠN VÀ HÀNH TRÌNH VẬN CHUYỂN
Hotline hỗ trợ vận đơn: 0985 084 693 (Hỗ trợ tra mã vận đơn chuyển phát)
Danh Mục

Đang xử lý...