制作出來的實物圖如下:
在設置范圍外工作.JPG (168.13 KB, 下載次數: 51)
下載附件
2018-12-25 23:51 上傳
在設定范圍內工作.JPG (184.94 KB, 下載次數: 41)
下載附件
2018-12-25 23:51 上傳
設置范圍界面.JPG (124.76 KB, 下載次數: 51)
下載附件
2018-12-25 23:51 上傳
電路原理圖如下:
34E7C82190F30A5224184B3C2FD22EE7.png (175.49 KB, 下載次數: 46)
下載附件
原理圖
2018-12-25 23:07 上傳
一、 作品簡介
以51單片機為核心,利用超聲波傳感器對障礙物進行距離測量并將結果發送到液晶顯示屏上,并可以設定距離,當數據高于預警值時可以進行聲光報警。
二、 設計原理
超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發射后遇到障礙物反射回來的時間,根據發射和接收的時間差計算出發射點到障礙物的實際距離。
三、 功能說明
設計單片機最小系統,供電電路有上電指示功能,采用串口下載程序,USB供電,具有復位功能。采用超聲波傳感器,能夠實現對障礙物距離的測量;采用液晶顯示,能夠對測量的距離進行顯示。
有報警電路,能夠實現對預警值的設置,同時當數據高于設定預警距離的時候可以進行聲光報警(有聲音報警,并且通過紅綠的指示燈對非正常和正常情況進行報警)。
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
0.png (44.95 KB, 下載次數: 57)
下載附件
2018-12-25 23:53 上傳
0.png (53.36 KB, 下載次數: 59)
下載附件
2018-12-25 23:53 上傳
軟件:KEIL5、altium proteus
仿真內容:LCD1602顯示,超聲波測距(程序非阻塞方式,使用外部中斷,平均值濾波更精準)真機測試:正常,使用HC-SRF04超聲波測距模塊(測距范圍:4-450cm),STC89C52單片機。
//超聲波管腳定義
sbit RX=P3^3;
sbit TX=P3^2;
//超聲波初始化
void Init_ultrasonic_wave()
{
TX=0; //關閉發射
TMOD=0x01; //設T0為方式1,GATE=1;
TH0=0;
TL0=0;
ET0=1; //允許T0中斷
EA=1; //開啟總中斷
}
//啟動超聲波
void StartModule() //啟動模塊
{
TX=1; //啟動一次模塊
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
//距離計算 SD為當時的超聲速度
void Conut()
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
L_=(time*3.49)/200; //算出來是CM;
//距離大于200或者超時
if(L_>500||flags==1)
{
flags=0;
//無效顯示
flag1s=0;
L_=0;
FW=1;
Feng_Start();
}
//距離小于100
else if(L_<=500)
{
flag1s=1;
FW=1;
Feng_Stop();
}
具體內容請在附件中查看
全部資料51hei下載地址:
作品視頻及照片.rar
(145.87 KB, 下載次數: 117)
2018-12-25 23:55 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|