|
大家好,今天為大家分享一個設(shè)計叫51單片機(jī)小車倒車警報系統(tǒng)。顧名思義,開過車的朋友都知道,在倒車的過程中要是車尾有障礙且小于一定距離,車子就會發(fā)出警報,告訴你不要再繼續(xù)倒車了。
我第一次方案采用的是紅外傳感器,原理呢是紅外光發(fā)出是否有反射回來從而判斷有無障礙,但是做出來的效果不佳
IMG_0177.JPG (1.81 MB, 下載次數(shù): 29)
下載附件
2019-4-4 15:02 上傳
所以本設(shè)計采用的是超聲波模塊HC-SR04配合蜂鳴器發(fā)出警報。HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能, 測距精度可達(dá)高到3mm;模塊包括超聲波發(fā)射器、接收器與控制電路。基本工作原理:(1)采用IO口 TRIG觸發(fā)測距,給至少10us的高電平信號;(2)模塊自動發(fā) 送8個40khz的方波,自動檢測是否有信號返回;(3)有信號返回,通過 IO 口 ECHO輸出一個高電平,高電平持續(xù)的時間就是超聲發(fā)射到返回的時間。
計算公式:測試距離=(高電平時間t * 340m/S)/2 簡化 L=340*t/2(計算出來單位是米,如果是厘米再除以100)
img.png (51.13 KB, 下載次數(shù): 32)
下載附件
2019-4-4 14:52 上傳
IMG_0176.JPG (2.12 MB, 下載次數(shù): 34)
下載附件
2019-4-4 14:56 上傳
(直接在車尾固定好該模塊)
void main(void)
{
TMOD=0X11;
TH1=(65536-100)/256; //100US定時
TL1=(65536-100)%256;
TH0=0;
TL0=0;
TR1= 1;
ET1= 1;
ET0= 1;
EA = 1;
while(1) //無限循環(huán)
{
if(timer>=1000) //80MS檢測啟動檢測一次 800
{
timer=0;
StartModule(); //啟動檢測
Conut(); //計算距離
if(S<20) //后邊檢測到紅外信號
{
stoprun(); //調(diào)用小車停止函數(shù)
fmq(); //調(diào)用蜂鳴器警報函數(shù)
delay(40);
}
else
{
if(S>20)
{
backrun(); //調(diào)用小車后退函數(shù)
FM=1;
delay(40);
}
}
}
}
附上main函數(shù),這個小設(shè)計大概花半小時就能完成了,是不是很有意思呢
附件有完整代碼和演示視頻。
0.png (38.33 KB, 下載次數(shù): 28)
下載附件
2019-4-5 04:13 上傳
全部資料51hei下載地址:
倒車警報.zip
(6.61 MB, 下載次數(shù): 27)
2019-4-4 15:11 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|