李波 屈原
摘要
本文提出了將Arduino工程的可視化設(shè)計(jì)應(yīng)用在設(shè)計(jì)數(shù)控路燈上,首先給出了數(shù)控自適應(yīng)路燈的設(shè)計(jì)任務(wù),然后和學(xué)生一起對(duì)該任務(wù)進(jìn)行分析,確定設(shè)計(jì)方案,按照設(shè)計(jì)方案進(jìn)行軟件和硬件的設(shè)計(jì),最后通過(guò)仿真論證了設(shè)計(jì)的正確性和可行性。
【關(guān)鍵詞】Arduino 可視化設(shè)計(jì) 數(shù)控自適應(yīng)路燈
Arduino是一個(gè)基于開(kāi)放原始碼的軟硬件平臺(tái),用戶(hù)可以在此平臺(tái)上設(shè)計(jì)和制作一些基于微控制器的數(shù)字裝置和交互式系統(tǒng)。
1 數(shù)控自適應(yīng)路燈的設(shè)計(jì)任務(wù)
設(shè)計(jì)一種基于可視化設(shè)計(jì)的數(shù)控自適應(yīng)路燈,當(dāng)夜晚時(shí),光照強(qiáng)度小于300且有人通過(guò)路燈,距離小于20厘米時(shí)路燈亮,其他情況下路燈滅。
2 對(duì)數(shù)控自適應(yīng)路燈任務(wù)的分析
根據(jù)以上設(shè)計(jì)任務(wù),我們確定主控芯片選擇Atmeg328型單片機(jī),自適應(yīng)路燈需要三個(gè)模塊是:GROVE亮度傳感器模塊、LED模塊和紅外測(cè)距傳感器模塊組成。當(dāng)夜晚光照強(qiáng)度小于300且人距離路燈20厘米時(shí)路燈亮,人距離路燈大于20厘米時(shí)路燈仍然不亮,白天光照強(qiáng)度大于300,不管是否有人通過(guò)路過(guò)路燈都是熄滅。我們需要滿足兩個(gè)判斷條件:一是光照強(qiáng)度,二是人與路燈的距離,在設(shè)計(jì)時(shí)GROVE亮度傳感器模塊、LED模塊和紅外測(cè)距傳感器模塊的ID不能重復(fù)。
3 數(shù)控自適應(yīng)路燈的設(shè)計(jì)方案
可視化流程圖編程時(shí),需要學(xué)生知道Atmeg328型單片機(jī)有14路數(shù)字I/O口,6路模擬輸入端口,不需要深入了解其內(nèi)部繁雜的工作原理。
3.1 硬件設(shè)計(jì)
和我們一般的教學(xué)平臺(tái)一樣,我們首先建立工程,在Arduino Uno板的原理圖中添加GROVE亮度傳感器模塊、LED模塊和紅外測(cè)距傳感器模塊,然后切換到原理圖捕獲標(biāo)簽頁(yè)上,就會(huì)發(fā)現(xiàn)外設(shè)硬件電路自動(dòng)連好添加到原理圖中了,如圖1所示。
3.2 軟件設(shè)計(jì)
通過(guò)任務(wù)分析可知,軟件設(shè)計(jì)時(shí)先讀取完光照強(qiáng)度還要讀取人與路燈的距離,因此設(shè)置判定條件為“Lux<300”和“cm<20”,流程圖如圖2所示。
3.3 仿真結(jié)果與分析
完成硬件系統(tǒng)和軟件程序設(shè)計(jì)后,利用可視化設(shè)計(jì)仿真功能來(lái)調(diào)試程序,通過(guò)調(diào)節(jié)兩個(gè)傳感器的返回值,來(lái)驗(yàn)證程序邏輯的正確性。我們可以從仿真結(jié)果直觀的看到系統(tǒng)運(yùn)行效果是否和我們的設(shè)計(jì)任務(wù)相符。
(1)調(diào)節(jié)亮度傳感器的“+”鍵,使得云層不遮陽(yáng)光,模擬白天的光線強(qiáng)度,紅外傳感器的距離為為19,可以看到LED燈熄滅,如圖3所示,可知天亮即使有人走過(guò)路燈不會(huì)亮。
(2)調(diào)節(jié)亮度傳感器的“-”鍵,使得云層遮住陽(yáng)光,模擬夜晚的光線強(qiáng)度。調(diào)節(jié)紅外測(cè)距傳感器的“+”鍵,使得距離返回值大于20即可,模擬夜晚沒(méi)人路過(guò)的情況,如圖4所示,可知夜晚沒(méi)人路過(guò)時(shí)路燈也不會(huì)亮。
(3)保持亮度傳感器的返回值不變,調(diào)節(jié)紅外測(cè)距傳感器的返回值小于20,來(lái)模擬夜晚有人經(jīng)過(guò)的情況,如圖5,可知夜晚有人經(jīng)過(guò)路燈會(huì)亮。
4 結(jié)論
本文主要介紹自適應(yīng)路燈在可視化設(shè)計(jì)平臺(tái)上的實(shí)現(xiàn)方法,使用Arduino平臺(tái)學(xué)生可以很容易的完成教學(xué)任務(wù),從設(shè)計(jì)任務(wù)、任務(wù)分析、設(shè)計(jì)方案和仿真結(jié)果分析可以得出可視化設(shè)計(jì)不僅簡(jiǎn)單易上手而且準(zhǔn)確性很高的結(jié)論,仿真結(jié)果與我們的任務(wù)要求完全一致,學(xué)生學(xué)習(xí)起來(lái)興趣越來(lái)越濃厚,教學(xué)效果較好。
參考文獻(xiàn)
[1]Anonymous.Arduino brings Intelinto its open source community[J].Electronics Weekly,2013,2563.
[2]楊楠.基于Arduino的數(shù)控產(chǎn)品原型設(shè)計(jì)研究[D].江南大學(xué),2014.
[3]Alessandro DAnsilio.Arduino:A low-cost multipurpose tabequipment[J].Behavior ResearchMethods,2012,442.