周旭華,伍懿美(通訊作者),陳文婷,曾裕丹
(河源職業(yè)技術(shù)學(xué)院,廣東河源,517000)
汽車是一款智能化程度非常高的產(chǎn)品,設(shè)計到的傳感器非常多,為了讓汽車智能化專業(yè)的學(xué)生能夠充分的掌握傳感器控制的相關(guān)知識,通常,該專業(yè)都會開始控制類傳感器和Arduino的相關(guān)課程,但是在傳統(tǒng)的教學(xué)方式上,老師往往是忽視實踐的重要性,只是在課堂上講解傳感器的工作原理和簡單的Arduino語言,并且采用多媒體通過圖片和視頻的方法來讓學(xué)生對傳感器和Arduino語言有簡單的認識,生對于傳感器跟Arduino的了解只停留在表面。本文作者通過和學(xué)生共同制作汽車自動測速系統(tǒng)示教板為例,將理論與實踐結(jié)合而展現(xiàn)出來,更好的體現(xiàn)教學(xué)需求,在一定程度上填補了條件不足的空白,成為理論與實踐的橋梁,是一種輔助教學(xué)的有效手段。
本設(shè)計是基于Arduino的控制類傳感器控制系統(tǒng)的,示教板由亞克力板和Ard uino控制系統(tǒng)組成。硬件部分主要選取了AS608指紋模塊,薄膜鍵盤(4×4),LCD1602液晶顯示屏,測速模塊和四位數(shù)碼管;通過這些硬件部分與亞克力板的焊接然后燒寫程序來完成信息采集,傳輸實現(xiàn)功能。
本設(shè)計的工作原理:用AS608指紋模塊充當(dāng)示教板的電源,當(dāng)指紋識別指紋庫里的指紋之后示教板通電;通電后薄膜鍵盤進入工作狀態(tài),可選擇一到六的數(shù)字來發(fā)射信號,因為設(shè)置了一條路線,所以當(dāng)大家手動選擇2的時候,薄膜鍵盤會查找到對應(yīng)數(shù)字2的對應(yīng)指令,對應(yīng)數(shù)字2的指令是讓顯示屏顯示下一步的指令;當(dāng)顯示屏?xí)邮盏絹碜员∧ゆI盤的信號時會顯示下一步命令,下一步命令指示是測速模塊測速;當(dāng)測速模塊接收到信號的時候測速模塊就開始工作了,測速模塊工作是先用遮擋物來測試led燈的亮與不亮先做一個判斷,然后不亮的時候測速模塊就可以開始測速,當(dāng)信號輸出一次就可以計數(shù)一次,然后換算出轉(zhuǎn)速;然后轉(zhuǎn)速傳給四位數(shù)碼管,四位數(shù)碼管接收到轉(zhuǎn)速就會顯示速度的一個過程。其系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)框圖
該示教板是由兩塊亞克力板和4根銅柱支撐起來,向大家展示示教板的作用。如圖2所示,層板是放置Ard uino uno板的,是因為Arduino的程序是燒寫進去了的,所以只需連上線有電源就可以使用了,所以放置在層板。底板放置了五個主傳感器,由于該示教板是展示傳感器的功能,所以放置在底板也是為了美觀跟展示。

圖2 汽車自動測速系統(tǒng)示教板設(shè)計圖(左為層板圖,右為底板圖)
用Altium Designer搭建的硬件電路如圖3所示,主要包括AS608指紋模塊、薄膜鍵盤(4×4)、LCD1602液晶顯示屏、Arduino uno、以及測速模塊和四位數(shù)碼管等。

圖3 整體硬件電路圖
Arduino是一種包含軟件跟硬件的開源電子原型平臺。它構(gòu)建于開放原始碼simple I/O介面版,而且它也是屬于C語言的一種,跟Java是類似的。Arduino主要有兩個部分組成,硬件是一塊Arduino uno板;軟件是Arduino IDE。其具有開源性、跨平臺、簡單清晰等特點。
本設(shè)計的軟件設(shè)計思路是這樣的,首先是以Arduino語言為開發(fā)語言,而指紋模塊是充當(dāng)整個系統(tǒng)的開關(guān),當(dāng)指紋模塊識別到指紋時,整個系統(tǒng)的電源啟動,開始工作,當(dāng)按薄膜鍵盤時,可選1-9的數(shù)字,然后摁下特定數(shù)字時,就按照取鍵值按照對應(yīng)程序,當(dāng)對應(yīng)程序是給顯示屏下一步信號的時候,顯示屏接收到信號則會顯示下一步指令,當(dāng)選擇數(shù)字2的時候,顯示屏?xí)@示下一步信號是測速時,測速模塊則會測速,隨后四位數(shù)碼管接收到信號就會顯示速度,之后結(jié)束程序運行,回到開始。設(shè)計流程如圖4所示。

圖4 軟件設(shè)計整體流程圖
AS608指紋模塊充當(dāng)示教板的電源,當(dāng)指紋識別指紋庫里的指紋之后示教板通電。流程圖如圖5所示。

圖5 指紋模塊程序設(shè)計流程圖
通電后薄膜鍵盤進入工作狀態(tài),可選擇一到六的數(shù)字來發(fā)射信號,因為設(shè)置了一條路線,所以當(dāng)大家手動選擇2的時候,薄膜鍵盤會查找到對應(yīng)數(shù)字2的對應(yīng)指令,對應(yīng)數(shù)字2的指令是讓顯示屏顯示下一步的指令。程序流程圖及部分程序如圖6所示。

圖6 薄膜鍵盤模塊程序設(shè)計流程圖
當(dāng)顯示屏?xí)邮盏絹碜员∧ゆI盤的信號時會顯示下一步命令。程序流程圖及部分程序如圖7所示。

圖7 LCD顯示屏模塊程序設(shè)計流程圖及部分程序
當(dāng)測速模塊接收到信號的時候測速模塊就開始工作了,測速模塊工作是先用遮擋物來測試led燈的亮與不亮先做一個判斷,然后不亮的時候測速模塊就可以開始測速,當(dāng)信號輸出一次就可以計數(shù)一次,然后換算出轉(zhuǎn)速。程序流程圖及部分程序如圖8所示。

圖8 測速模塊程序設(shè)計流程圖及部分程序
轉(zhuǎn)速傳給四位數(shù)碼管后,四位數(shù)碼管接收到轉(zhuǎn)速就會顯示速度。程序流程圖及部分程序如圖9所示。

圖9 速度顯示模塊程序設(shè)計流程圖及部分程序
本設(shè)計的示教板是Ard uino編程與測速傳感器結(jié)合而成的系統(tǒng)。首先實現(xiàn)了每個模塊的單獨控制,然后通過自己對Arduino進行程序的編寫并上傳,用傳感器與Arduino板連接測試,能夠用指紋成功給示教板通電,然后arduino控制薄膜鍵盤,薄膜鍵盤根據(jù)指令按下按鍵,顯示屏接收到信號立刻顯示出來下一步指令,當(dāng)下一步指令是測速模塊測速時,測速模塊工作,得出轉(zhuǎn)速,然后顯示屏接收到速度并在四位數(shù)碼管中顯示出來。