目 錄
超聲波是一種振動頻率超過20kHz的機械波,沿直線方向傳播,傳播方向性好,傳播距離也較遠,在介質中傳播時遇到障礙物就會產生反射波。此外,模塊本身體積小,易于在任何機器人項目中使用,并提供2厘米至400厘米(約1英寸至13英尺)之間出色的非接觸范圍檢測,精度為3mm。工作電壓為5伏。由于超聲波的以上特點,因此被廣泛地應用于物體距離的測量中。
HC-SR04一款設計有超聲波發射探頭、接收探頭、信號放大集成電路等超聲波模塊模塊共四個引腳,VCC為5V供電,Trig為觸發信號輸入,Echo為回響信號輸出,GND為電源地。
實現功能
在扔垃圾之前,用手或其他障礙物放在超聲波傳感器之前,當距離15cm時,舵機轉動,實現蓋子翻起。指示燈亮,蜂鳴器發生。在10秒后,舵機回到原位,蓋子蓋上。
| VCC | HC-SR04電源接口,接Arduino上的5V引腳 |
| Trig (Trigger) | 向外界觸發超聲波脈沖,接引腳12 |
| Echo | 回響信號輸出。當接收到反射信號時,引腳產生一個脈沖。脈沖的長度與檢測發射信號所需的時間成正比,接引腳11 |
| GND | HC-SR04接地引腳,接Arduino GND |
工作原理
Arduino給超聲波模塊Trig引腳10μs以上的脈沖觸發信號,模塊內部自動發送8個40kHz的聲音脈沖,一旦檢測到反射信號,即輸出回響信號(Echo引腳)使設備的“超聲特征”變得獨一無二,從而使接收器能夠將發射模式與環境超聲噪聲區分開,回響信號脈沖寬度與被測距離成正比。如果這些脈沖沒有被反射回來,則回波信號將在38毫秒(38毫秒)后超時并返回低電平。
電路連接
控制代碼
#include <Servo.h>
Servo myservo;
int trig=12;
int echo=11;
int led13=13;
int led3=3;
void setup(){
myservo.attach(9);
Serial.begin(9600);
pinMode(echo,INPUT);
pinMode(trig,OUTPUT);
pinMode(led13,OUTPUT);
pinMode(led3,OUTPUT);
}
void loop(){
myservo.write(0);
long val=0;
digitalWrite(trig,HIGH);
delayMicroseconds(15);
digitalWrite(trig,LOW);
val=pulseIn(echo,HIGH);
float S=val/58.00;
if(S<15){
myservo.write(100);
digitalWrite(led13,HIGH);
digitalWrite(led3,HIGH);
}
delay(10000);
S=0;
digitalWrite(led13,LOW);
digitalWrite(led3,LOW);
}


返回頂部
刷新頁面
下到頁底