Cảm biến khoảng cách siêu âm HC-SR04 được sử dụng rất phổ biến để xác định khoảng cách vì RẺ và CHÍNH XÁC. Cảm biến sử dụng sóng siêu âm và có thể đo khoảng cách trong khoảng từ 2 -> 300 cm, với độ chính xác gần như chỉ phụ thuộc vào cách lập trình.
Thông số kỹ thuật:
Mạch cảm biến: HC-SR04
Màu sắc: Xanh dương + Bạc
Điện áp làm việc: 5 VDC
Dòng điện tĩnh: < 2mA.
Tín hiệu đầu ra: tín hiệu tần số điện, mức cao 5V, mức thấp 0V.
Góc cảm biến: Không quá 15 độ.
Khoảng cách phát hiện: 2cm ~ 450cm.
Độ chính xác cao: Lên đến 3mm
Chế độ kết nối: VCC / trig (T) / echo (R) / GND
Nguyên tắc làm việc:
Kích hoạt cảm biến bằng cách gửi tín hiệu mức cao trong 10us.
Mô-đun tự động gửi tám xung sóng vuông 40khz và tự động phát hiện xem có nhận tín hiệu xung quay lại hay không
Nếu có tín hiệu quay trở lại cảm biến trả về tín hiệu mức cao, thông qua khoản thời gian từ lúc kích hoạt cảm biến cho tới khi có tín hiệu trả về quý khách có thể tính ra khoảng cách.
#include<LiquidCrystal.h>constinttrig=12;// chân trig của HC-SR04constintecho=11;// chân echo của HC-SR04constintout=13;// chân Relay outconstintbz=3;//LCD pin to Arduinoconstintpin_RS=8;constintpin_EN=9;constintpin_d4=4;constintpin_d5=5;constintpin_d6=6;constintpin_d7=7;//const int pin_Backlight = 10;LiquidCrystallcd(pin_RS,pin_EN,pin_d4,pin_d5,pin_d6,pin_d7);byteledPin[]={A5,A4,A3,A2,A1,A0};bytepinCount;bytemuc_nuoc=2;intmoc_tren=780;intmoc_duoi=330;boolout_status=0;// Trạng thái out: 0 là tắt, 1 là bậtvoidsetup(){Serial.begin(9600);pinMode(trig,OUTPUT);// chân trig sẽ phát tín hiệupinMode(echo,INPUT);// chân echo sẽ nhận tín hiệupinMode(out,OUTPUT);pinMode(bz,OUTPUT);lcd.begin(16,2);pinCount=sizeof(ledPin);// Lấy số lượng LEDfor(bytei=0;i<pinCount;i++){pinMode(ledPin[i],OUTPUT);//Các chân LED là OUTPUTdigitalWrite(ledPin[i],LOW);//Mặc định các chân LED sẽ tắt}pinMode(2,INPUT_PULLUP);}voidloop(){unsignedlongduration;// biến đo thời gianintdistance;// biến lưu khoảng cách/* Phát xung từ chân trig */digitalWrite(trig,0);// tắt chân trigdelayMicroseconds(2);digitalWrite(trig,1);// phát xung từ chân trigdelayMicroseconds(5);// xung có độ dài5 microSecondsdigitalWrite(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");lcd.setCursor(0,0);lcd.print("Distance: ");lcd.print(distance+1);lcd.print("cm ");delay(200);if(distance<10){Danger();}elseif(distance<20){Warning();}else{lcd.setCursor(0,1);lcd.print(" TCL_47.BLOG ");}lcd.setCursor(0,0);lcd.print(" TCL_47.BLOG ");}voidWarning(){for(inta=0;a<3;a++){lcd.setCursor(0,1);lcd.print(" WARNING! ");digitalWrite(out,1);digitalWrite(bz,1);delay(300);lcd.setCursor(0,1);lcd.print(" ");digitalWrite(out,0);digitalWrite(bz,0);delay(150);}}voidDanger(){for(inta=0;a<3;a++){lcd.setCursor(0,1);lcd.print(" DANGER! ");digitalWrite(out,1);digitalWrite(bz,1);delay(150);digitalWrite(out,0);digitalWrite(bz,0);lcd.setCursor(0,1);lcd.print(" ");delay(75);}}voidDanger1(){for(inta=0;a<3;a++){lcd.setCursor(0,1);lcd.print(" CO TROM! ");digitalWrite(out,1);digitalWrite(bz,1);}}
File:
Video
cam bien sieu am hc-sr04,hcsr04, tlc47 truong cong ly, trương công lý