2014年上半年曾經試過做超聲波測距儀,后來失敗告終,還搞到買現成的慚愧啊。
2015年2月份上網剽竊人家的代碼,終于成功測距。
剽竊人家的代碼
while(!ECHO); //等待高電平 TR1 = 1; //打開計時器 while(ECHO); //等待低電平 TR1 = 0; //關閉計時器 time = TH1 * 256.0 + TL1; //計算時間 L = 0.18446*time;
配合我的簡陋操作系統, 實現液晶LCD1602顯示距離(三次的平均距離),
HC-SR04發射超聲波在空氣傳播過程中碰到物體立即就返回, HC-SR04接收到反射波單片機就停止計時 根據超聲波在空氣(25℃)中的傳播速度為 v=346m/s
,單片機計時器記錄的時間t,就可以計算出發射點到物體的距離s,即:s=vt/2=346t/2
經過單片機計算距離,LCD1602把距離顯示出來。
原理圖:
51distancer.png
實際:
dist1.png