超声波测距仪编程_Arduino轻松学Mixly编程第9课 超声波测距仪
輕松學Lesson9超聲波測距儀
1.課程簡介
本節課以超聲波測距儀為例,為大家講解超聲波測距的原理及基于IIC通訊協議的LCD液晶屏的使用。
本節課所需硬件:Arduino UNO、IO擴展板、LCD顯示器、超聲波測距模塊
Lesson-9.png (143.02 KB, 下載次數: 12)
2019-4-29 17:12 上傳
2.本節知識點
設備初始化
LCD液晶顯示器使用
*脈沖寬度檢測
3. Mixly模塊
初始化
3.1 初始化.png (10.21 KB, 下載次數: 7)
2019-4-29 17:12 上傳
模塊位置:“控制”欄
模塊功能:初始化設備及變量。
該模塊對應的Arduino程序的setup()函數,該函數內的命令在設備通電啟動后僅執行一次,所以通常在此函數內進行設備初始化、串口通訊頻率、端口模式等設定操作。
變量聲明雖然可以放到該模塊內,但在實際的Arduino代碼,變量聲明語句并不在setup()函數內。具體內容會在慕課最后一節中講解。
LCD初始化
3.2 LCD初始化.png (34.53 KB, 下載次數: 7)
2019-4-29 17:12 上傳
模塊位置:“顯示器”欄
模塊功能:設定顯示器類型,初始化LCD,建立IIC通訊。
1602:課程套件中所用的顯示器類型,兩行顯示,每行16個字符。除此之外還有2004型,即4行顯示,每行20字符。
ArduinoUNO板的時鐘總線為A5端口,數據總線為A4端口,不可更改。
0x20為課程所用套件的LCD液晶屏IIC地址,第三方的IIC協議LCD液晶屏地址默認為0x27,可以通過短接屏幕背面接口板上的A0、A1、A2接口調整IIC地址。
液晶顯示屏功能設置
3.3 液晶屏設置.png (7.83 KB, 下載次數: 6)
2019-4-29 17:12 上傳
模塊位置:“顯示器”欄
模塊功能:設置液晶顯示屏的功能,如屏幕開、關、光標顯示、背光閃爍、清屏等操作。
液晶屏內容顯示
3.4 內容顯示.png (15.31 KB, 下載次數: 7)
2019-4-29 17:11 上傳
模塊位置:“顯示器”欄
模塊作用:設定顯示的內容及內容首字母的行、列位置。行數自下而上數,列數為自左向右數。
超聲波測距
3.5 超聲波測距.png (14.75 KB, 下載次數: 8)
2019-4-29 17:11 上傳
模塊位置:“傳感器”欄
模塊功能:測量超聲波測距模塊返回的脈沖長度信號并換算成對應距離。
文本連字符
3.6 文本連接.png (5.21 KB, 下載次數: 33)
2017-4-13 18:53 上傳
模塊位置:“文本”欄
模塊功能:將左右兩側的字符串連接成一個字符串。
Distance為浮點型(Mixly中描述為小數類型)變量,轉變為字符串,轉換后的結果無法直接進行數字運算。即數字5≠字符5,符號相同,意義不同。
*脈沖寬度檢測
3.7 脈沖寬度檢測.png (2.89 KB, 下載次數: 37)
2017-4-13 18:53 上傳
所處位置:“輸入輸出”欄
模塊作用:檢測對應管腳返回高電平的持續時間。
4.程序及流程圖
程序圖
4. 程序圖.png (192.82 KB, 下載次數: 79)
2017-4-13 18:53 上傳
流程圖
4.1 流程圖.jpg (21.01 KB, 下載次數: 10)
2019-4-29 17:11 上傳
5.關聯知識講解
IIC協議
IIC是飛利浦公司研發的一種總線通訊協議,每條IIC總線上有一臺主機,7位尋址IIC總線的最多可以同時接入127臺從機,設備各自對應獨立的地址信息。
主機與從機通過時鐘總線和數據總線通信。Arduino UNO板的時鐘總線為A5端口,數據總線為A4端口,不可更改。
超聲波測距原理
套件中所使用的HC-SR04超聲波測距模塊可提供2cm-400cm的距離感測,測距精度可達3mm。測量過程首先向Trig端口輸入持續時間10μs的高電平信號,隨后拉低電平信號,測距模塊會發出1組8個40KHz的脈沖信號,脈沖信號遇到障礙物后反彈,測距模塊一旦接受到返回的信號,則會在Echo端口輸出長度與所測距離成正比的脈沖信號,我們通過脈沖長度檢測獲取到信號長度,乘以聲速再除以2,即可得到距離數值。
5. 測距原理.png (116.15 KB, 下載次數: 6)
2019-4-29 17:10 上傳
distance=time×340m/s÷2
*脈沖寬度檢測
按照上述的測距流程,程序中的距離測量也可用右側的程序實現。兩者等效。
5.2 脈沖寬度檢測.png (83.58 KB, 下載次數: 9)
2019-4-29 17:10 上傳
6.課堂練習
結合紙模,制作一個測距儀。
7.作業及挑戰
由于顯示頻率,課程中的案例閃爍過快,如何實現如下穩定顯示效果?
完成程序并上傳程序截圖及效果視頻。
課程簡介
《Arduino輕松學》是科技學堂制作的在線系列創客教學視頻之一?!遁p松學》是一套Arduino開發的基礎入門課程,適合還沒有過硬件開發和編程經驗的人群做入門學習使用。本課程中,每節課帶你制作一個趣味小項目,在學到技術的同時,也開動想象發揮創造。課程案例
《輕松學》課程中使用非常適合初學者的DFRobot的米思齊(Mixly)編程積木入門套裝,軟件選用圖形化編程的Mixly。課程以視頻+圖文的呈現形式,深入淺出。既有操作演示,又方便學習者自主觀看查詢,輕松完成Arduino的入門學習。
總結
以上是生活随笔為你收集整理的超声波测距仪编程_Arduino轻松学Mixly编程第9课 超声波测距仪的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于51单片机的超声波测距仪
- 下一篇: 人族机器人叉兵_星际争霸:人虫两族都有回