找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2247|回復: 1
打印 上一主題 下一主題
收起左側

賽元單片機帶有語音播報的倒車雷達模型

[復制鏈接]
跳轉到指定樓層
樓主
ID:562614 發(fā)表于 2019-7-17 17:32 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 beijinglingdian 于 2019-7-17 17:36 編輯

   超聲波測距技術是一種實用,高效的技術,在社會發(fā)展中,應用得越來越廣泛,展望未來,超聲波測距技術會是一個有著廣闊發(fā)展前景的領域。由于它能量消耗的緩慢以及可以遠距離傳播的特性,使得超聲波檢測往往比較便捷和容易控制,所以超聲波測距經(jīng)常在與距離測量相關聯(lián)的行業(yè)和領域應用。

   超聲波測距除了不受光線,顏色因素限制的優(yōu)勢外,最主要的就是他的價格低廉,產生容易。所以超聲波測距的應用特別廣泛,大型的儀器主要應用在倒車雷達,建筑工地和工業(yè)現(xiàn)場中的很多場合,其中,在當今的海戰(zhàn)中,也有超聲波的身影,比如潛艇中,就用到了超聲波測距以及其他手段來探測敵方的位置。

   本方案利用超聲波可以被接收的原理,選取超聲發(fā)射接收模塊HC-SR04設計制作超聲波發(fā)射接收系統(tǒng),利用單片機所具有的控制、計算的能力做成控制模塊,依據(jù)超聲波發(fā)射和接收的時間間隔計算出距離,并利用語音芯片模塊所具有的語音播報功能,實時完成對距離的播報。由于賽元單片機應用廣泛,穩(wěn)定性強,性價比高。所以選擇SC92F8003單片機,再結合上超聲波測距技術來設計一個帶有語音播報的倒車雷達模型,SC92F8003引腳圖如下:

                             

  單片機傳送給超聲波模塊的TRIG端口觸發(fā)信號,感應器就會自動發(fā)射超聲波,此時感應器的端口由低電平裝換成高電平,單片機中斷開啟,而超聲波返回以后,接收超聲波的ECHO變?yōu)榈碗娖剑ㄟ^高電平持續(xù)的時間,就可以知道超聲波發(fā)射到接收的時間,通過單片機的計算,將距離傳送給語音模塊進行播報。系統(tǒng)結構圖如下:



軟件一共有兩大部分,中斷程序和主程序。主程序負責初始化以及超聲波的發(fā)射和接收。中斷程序含有中斷服務子程序,負責超聲波發(fā)射時間的讀取和結果的輸出。

在單片機的初始化以后,定時器開始計時,同時P1被清0。超聲波發(fā)生子程序在上述的工作完成的同時,將會產生一個超聲波脈沖。

工作的過程可以表示如圖所示。


                            主程序流程圖
接收數(shù)據(jù)處理子程序如下:

       c_send = 1;                     //10us的高電平觸發(fā)

       delay();

       c_send = 0;   

       TH0 = 0;                        //給定時器0清零

       TL0 = 0;

       TR0 = 0;                              //關定時器0定時

       flag_hc_value = 0;

       while(!c_recive);          //c_recive為零時等待

       TR0=1;

       while(c_recive)                 //c_recive1計數(shù)并等待

       {

              flag_time0 = TH0 * 256 + TL0;

              if((flag_hc_value > 1) || (flag_time0 >65000))     //當超聲波超過測量范圍時,顯示3888

              {

                     TR0 = 0;

                     flag_csb_juli = 2;

                     distance = 888;

                     flag_hc_value = 0;

                     break ;         

              }

              else

              {

                     flag_csb_juli = 1;

              }

       }

       if(flag_csb_juli == 1)

       {     

              TR0=0;                                             //關定時器0定時

              distance = TH0;                          //讀出定時器0的時間

              distance = distance * 256 + TL0;

              distance +=( flag_hc_value * 65536);//算出超聲波測距的時間    得到單位是ms

              distance *= 0.017;               // 0.017 = 340M / 2 = 170M =0.017M 算出來是米

              if(distance > 350)                            //距離 = 速度 * 時間

              {     

                     distance = 888;                         //如果大于3.8m就超出超聲波的量程

          }

}

本方案的核心其實就是單片機系統(tǒng)和超聲波發(fā)射系統(tǒng),超聲波測距和雷達的原理是一樣的,超聲波發(fā)射器向需要測距的物體發(fā)射超聲波,遇到障礙區(qū)就回返回來,而這個過程中的時間可以通過單片機記錄并計算,根據(jù)超聲波在空氣中的傳播時間就可以算出距離的多少,最后傳輸給語音芯片進行播報。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:352784 發(fā)表于 2020-1-5 13:14 | 只看該作者
沒有資料鏈接嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表