標(biāo)題: 51單片機小車倒車障礙警報設(shè)計(源程序+視頻) [打印本頁]

作者: 我是你爸爸丶    時間: 2019-4-4 15:12
標(biāo)題: 51單片機小車倒車障礙警報設(shè)計(源程序+視頻)
      大家好,今天為大家分享一個設(shè)計叫51單片機小車倒車警報系統(tǒng)。顧名思義,開過車的朋友都知道,在倒車的過程中要是車尾有障礙且小于一定距離,車子就會發(fā)出警報,告訴你不要再繼續(xù)倒車了。
      我第一次方案采用的是紅外傳感器,原理呢是紅外光發(fā)出是否有反射回來從而判斷有無障礙,但是做出來的效果不佳



所以本設(shè)計采用的是超聲波模塊HC-SR04配合蜂鳴器發(fā)出警報。HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能, 測距精度可達高到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)






(直接在車尾固定好該模塊)
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è)計大概花半小時就能完成了,是不是很有意思呢
附件有完整代碼和演示視頻。


全部資料51hei下載地址:
倒車警報.zip (6.61 MB, 下載次數(shù): 27)






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1