今天入手了HC-SR04超聲波模塊、飛思卡爾三軸加速器、人體紅外熱釋傳感器。
先來介紹HC-SR04超聲波模塊:
1、本模塊性能穩(wěn)定,測度距離精確:
能和國外的SRF05,SRF02等超聲波測距模塊相媲美。模塊高精度,盲區(qū)(2cm)超近,穩(wěn)定的測距是此產(chǎn)品成功走向市場的有力根據(jù)!
2、主要技術(shù)參數(shù):
1)使用電壓:DC5V
2)靜態(tài)電流:小于2mA
3)電平輸出:高5V
4)電平輸出:底0V
5)感應(yīng)角度:不大于15度
6)探測距離:2cm-450cm
7)高精度:可達(dá)0.3cm
3.接線方式:
VCC、trig(控制端)、 echo(接收端)、 GND
4.使用方法:
一個控制口發(fā)一個10US以上的高電平,就可以在接收口等待高電平輸出.一有輸出就可以開定時(shí)器計(jì)時(shí),當(dāng)此口變?yōu)榈碗娖綍r(shí)就可以讀定時(shí)器的值,此時(shí)就為此次測距的時(shí)間,方可算出距離.如此不斷的周期測,就可以達(dá)到你移動測量的值了~~
5.模塊工作原理:
(1)采用IO觸發(fā)測距,給至少10us的高電平信號;
(2)模塊自動發(fā)送8個40khz的方波,自動檢測是否有信號返回;
(3)有信號返回,通過IO輸出一高電平,高電平持續(xù)的時(shí)間就是
超聲波從發(fā)射到返回的時(shí)間.測試距離=(高電平時(shí)間*聲速(340M/S))/2;
Arduino代碼:
// Trig接Arduino板的Digital 5口,觸發(fā)測距;Echo接Digital 4口,接收距離信號。
int inputPin=4; // 定義超聲波信號接收接口
int outputPin=5; // 定義超聲波信號發(fā)出接口
int ledpin=13;
void setup()
{
Serial.begin(9600);
pinMode(ledpin,OUTPUT);
pinMode(inputPin, INPUT);
pinMode(outputPin, OUTPUT);
}
void loop()
{
digitalWrite(outputPin, LOW); // 使發(fā)出發(fā)出超聲波信號接口低電平2μs
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // 使發(fā)出發(fā)出超聲波信號接口高電平10μs,這里是至少10μs
delayMicroseconds(10);
digitalWrite(outputPin, LOW); // 保持發(fā)出超聲波信號接口低電平
int distance = pulseIn(inputPin, HIGH); // 讀出脈沖時(shí)間
distance= distance/58; // 將脈沖時(shí)間轉(zhuǎn)化為距離(單位:厘米)
Serial.println(distance); //輸出距離值
delay(50);
if (distance >=50)
{//如果距離大于50厘米小燈亮起
digitalWrite(ledpin,HIGH);
}//如果距離小于50厘米小燈熄滅
else
digitalWrite(ledpin,LOW);
}