999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Arduino UNO控制多個(gè)LED實(shí)現(xiàn)多種特效

2020-06-24 05:09:03李娜孟東曉
現(xiàn)代信息科技 2020年22期
關(guān)鍵詞:模塊化

李娜 孟東曉

摘? 要:Arduino UNO控制多個(gè)LED實(shí)驗(yàn)在硬件連接不變的情況下,通過(guò)改變程序?qū)崿F(xiàn)多種特效,展現(xiàn)不同的效果。將各項(xiàng)功能封裝成不同的模塊,初始化模塊和其他功能模塊組合可實(shí)現(xiàn)不同的功能特效。通過(guò)項(xiàng)目實(shí)例化教學(xué)手段舉一反三引導(dǎo)學(xué)生深入思考,加深理解,讓學(xué)生敢于靈活使用和改變程序,使學(xué)習(xí)過(guò)程更加生動(dòng)。通過(guò)對(duì)功能模塊設(shè)計(jì)和分析,Arduino UNO控制多個(gè)LED特效模塊,達(dá)到操作使用簡(jiǎn)單明了,特效清晰直觀的效果。

關(guān)鍵詞:Arduino UNO;LED;項(xiàng)目實(shí)例化;模塊化

中圖分類號(hào):TP211;TN873? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)22-0045-03

Arduino UNO Controls Multiple LEDs to Achieve Multiple Special Effects

LI Na1,MENG Dongxiao2

(1.Department of Mechanical and Electrical Engineering,Tianjin Hedong District Staff and Workers University,Tianjin? 300162,China;2.Coficab(Tianjin)Co.,Ltd.,Tianjin? 301726,China)

Abstract:Arduino UNO controls multiple LED experiments,under the condition that the hardware connection remains unchanged,various special effects are realized by changing the program to show different effects. The various functions are packaged into different modules,and the initialization module and other function modules are combined to achieve different function special effects. Through the teaching method of project instantiation,we can draw inferences from one instance,guide students to think deeply,deepen their understanding,let students dare to use and change the program flexibly,and make the learning process more vivid. Through the design and analysis of functional modules,Arduino UNO controls multiple LED special effect modules to achieve the effect of simple operation and clear and intuitive special effects.

Keywords:Arduino UNO;LED;project instantiation;modularization

0? 引? 言

2020年我校創(chuàng)建“人工智能+傳感器”實(shí)訓(xùn)課程體系,引入Arduino UNO套件,深入研究開(kāi)發(fā)相關(guān)課程內(nèi)容,為創(chuàng)建適應(yīng)我校發(fā)展的人工智能實(shí)訓(xùn)室奠定基礎(chǔ)。作者在開(kāi)發(fā)課程體系中研究發(fā)現(xiàn)Arduino UNO控制多個(gè)LED項(xiàng)目有待深入拓展和挖掘,以此激發(fā)學(xué)生思考,學(xué)習(xí)融會(huì)貫通,敢于創(chuàng)造創(chuàng)新。

Arduino是2005年誕生于意大利的一種可編程單片機(jī)電路板,到現(xiàn)在已經(jīng)有15年的歷史。Arduino是一個(gè)開(kāi)源平臺(tái)、采用知識(shí)共享協(xié)議,其硬件原理圖和PCB圖、軟件源碼及其他資源都可以免費(fèi)獲得、使用、修改和再發(fā)布。隨著時(shí)間的推移,Arduino開(kāi)發(fā)板的型號(hào)也在不斷豐富,從Arduino UNO、Arduino Mega2560、Arduino Pro Mini已經(jīng)進(jìn)化出多種不同的型號(hào),但是Arduino UNO開(kāi)發(fā)板是最常見(jiàn)也是使用最多的一種型號(hào)。項(xiàng)目的研究就是建立在Arduino UNO Rev3(下文簡(jiǎn)稱Arduino UNO)開(kāi)發(fā)板的基礎(chǔ)之上。Arduino UNO控制多個(gè)LED是在控制單個(gè)LED基礎(chǔ)上進(jìn)行延伸和拓展,具有硬件連接簡(jiǎn)單,實(shí)驗(yàn)特效多變,直觀明了的特點(diǎn)。

1? 總體結(jié)構(gòu)設(shè)計(jì)

“人工智能+傳感器”實(shí)訓(xùn)課程體系以Arduino UNO為平臺(tái),圍繞“傳感器”元器件創(chuàng)建一系列實(shí)訓(xùn)課程,其中控制多個(gè)LED項(xiàng)目是其中的基礎(chǔ)入門(mén)課程。

1.1? 結(jié)構(gòu)設(shè)計(jì)

Arduino UNO控制多個(gè)LED包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分內(nèi)容,硬件設(shè)計(jì)需要根據(jù)實(shí)驗(yàn)接線圖完成接線。軟件設(shè)計(jì)是項(xiàng)目設(shè)計(jì)的主要板塊,根據(jù)目標(biāo)分析,將程序分為初始化模塊和循環(huán)體模塊,初始化模塊和不同循環(huán)體模塊組合實(shí)現(xiàn)不同的特效。

1.2? 硬件設(shè)計(jì)

Arduino UNO控制多個(gè)LED設(shè)計(jì)實(shí)驗(yàn)接線實(shí)物圖如圖1所示,接線原理圖如圖2所示,均采用Fritzing電子設(shè)計(jì)軟件制。使用Arduino UNO一塊,LED 6個(gè),電阻(220 Ω)6個(gè),面包板一塊,杜邦線若干。圖中所有LED正極通過(guò)電阻分別與Arduino UNO引腳2~7連接,LED負(fù)極通過(guò)面包板與Arduino UNO的GND引腳連接。

1.3? 軟件設(shè)計(jì)

根據(jù)硬件系統(tǒng)控制要求,采用與Arduino UNO對(duì)應(yīng)的Arduino IDE編程軟件進(jìn)行編程,程序主要分為初始化模塊和循環(huán)體模塊兩大類,各循環(huán)體模塊可與初始化模塊獨(dú)立組合,呈現(xiàn)不同的功能效果。

(1)初始化模塊。初始化模塊主要用于定義時(shí)間間隔和設(shè)置引腳為輸出模式,程序中“//”后面表示注釋內(nèi)容,下文為初始化模塊程序設(shè)計(jì):

int timer =100;? ? ? ? ? ? ? ? ? ? ? ? ? ?//定義時(shí)間間隔為100ms,可以根據(jù)需要設(shè)置時(shí)間間隔。

void setup(){? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化

for (int thisPin=2; thisPin<8; thisPin++)? ? ? ?//for語(yǔ)句,定義引腳范圍2~7

{

pinMode(thisPin,OUTPUT);? ? ? ? ? ? ? ?//定義引腳為輸出模式

}

}

(2)循環(huán)體模塊一:LED從右到左閃爍。通過(guò)for語(yǔ)句實(shí)現(xiàn)對(duì)引腳2~7逐個(gè)訪問(wèn),每次訪問(wèn)時(shí)對(duì)引腳先輸出高電平保持100 ms后輸出低電平,實(shí)現(xiàn)該引腳對(duì)應(yīng)的LED閃爍效果。把程序放在void loop循環(huán)體內(nèi)實(shí)現(xiàn)對(duì)引腳的無(wú)限次循環(huán)訪問(wèn)。實(shí)現(xiàn)該功能的代碼程序?yàn)椋?/p>

void loop()? ? ? ? ? ? ? ? ? ? ? ? ? ? //自帶循環(huán)功能

{

for (int thisPin=2; thisPin<8; thisPin++){? ?//for語(yǔ)句,指明引腳范圍2~7

digitalWrite(thisPin,HIGH);? ? ? ? ? ? //定義引腳為高電平,LED亮

delay(timer);? ? ? ? ? ? ? ? ? ? ? //延遲100ms,否則看不出閃爍的效果

digitalWrite(thisPin,LOW);? ? ? ? ? //定義引腳為低電平,LED滅

}

}

(3)循環(huán)體模塊二:LED從右到左閃爍,再?gòu)淖蟮接议W爍,不斷循環(huán)。在模塊一的基礎(chǔ)上再加入反向的閃爍動(dòng)作即可實(shí)現(xiàn)該功能,所以程序的編寫(xiě)需要再加入一個(gè)反向的循環(huán)體。引腳設(shè)置從高到底,其他內(nèi)容不變。需要增加的代碼程序?yàn)椋?/p>

for (thisPin=7; thisPin>1; thisPin--)? ? ?//for語(yǔ)句,指明引腳范圍為7~2

{

digitalWrite(thisPin,HIGH);? ? ? ? ? ? //定義引腳為高電平,LED亮

delay(timer);? ? ? ? ? ? ? ? ? ? ? //延遲100ms

digitalWrite(thisPin,LOW);? ? ? ? ? //定義引腳為低電平,LED滅

}

(4)循環(huán)體模塊三:LED從右到左亮,再?gòu)挠业阶鬁纭DK三和模塊二的主要為模塊三的第一次循環(huán)只有亮的過(guò)程,第二次循環(huán)才是滅的過(guò)程。根據(jù)要求,模塊中應(yīng)包括兩個(gè)for循環(huán),第一個(gè)for循環(huán)引腳設(shè)置從2~7,逐個(gè)設(shè)置引腳為高電平,LED從右到左亮,保持常亮;第二個(gè)for循環(huán),引腳設(shè)置從2~7,逐個(gè)設(shè)置引腳為低電平,LED從右到左熄滅。

(5)循環(huán)體模塊四:LED1、3、5先亮,2、4、6再亮;LED1、3、5先滅,2、4、6再滅。根據(jù)模塊功能要求,可以知道需要四個(gè)循環(huán)體來(lái)實(shí)現(xiàn)相關(guān)功能,循環(huán)體1實(shí)現(xiàn)LED1、3、5先亮,循環(huán)體2實(shí)現(xiàn)LED2、4、6后亮,循環(huán)體3實(shí)現(xiàn)LED1、3、5先滅,循環(huán)體4實(shí)現(xiàn)LED2、4、6后滅。分析LED1、3、5對(duì)應(yīng)的引腳為7、5、3,故初始化引腳設(shè)定為7,減量應(yīng)為2。所以第一個(gè)和第三個(gè)for循環(huán)應(yīng)變更為for (intthisPin=7; thisPin>2; thisPin= thisPin-2)。LED2、4、6對(duì)應(yīng)

的引腳為6、4、2,所以第二個(gè)和第四個(gè)for循環(huán)應(yīng)變更為for ( thisPin=6; thisPin>1; thisPin= thisPin-2)。

(6)循環(huán)體模塊五:LED從兩邊向中間亮,從兩邊向中間滅。模塊五要求引腳7和2對(duì)應(yīng)的LED先亮,引腳6和3對(duì)應(yīng)的LED再亮,引腳5和4對(duì)應(yīng)的LED最后亮,熄滅過(guò)程也是如此。程序編寫(xiě)可以對(duì)引腳逐個(gè)控制,先對(duì)引腳7和2輸出高電平,延遲一定時(shí)間,再對(duì)引腳6和3輸出高電平,延遲一定時(shí)間,最后對(duì)引腳5和4輸出高電平。由于引腳7和2輸出高電平的程序,順序執(zhí)行,間隔很短,眼睛看到的效果是引腳7和引腳2對(duì)應(yīng)的LED同時(shí)變亮。對(duì)引腳設(shè)置低電平即可實(shí)現(xiàn)兩邊向中間熄滅。設(shè)定引腳7和2為高電平的過(guò)程可以參考以下程序,其他引腳設(shè)置程序相同:

int thisPin=7;

digitalWrite(thisPin,HIGH);

thisPin=2;

digitalWrite(thisPin,HIGH);

delay(timer);

(7)循環(huán)體模塊六:隨機(jī)一個(gè)LED閃爍,并在串口監(jiān)視器上顯示出引腳。根據(jù)題目要求,選擇使用random隨機(jī)函數(shù)。random語(yǔ)法格式random(Max)或random(Min,Max),由于引腳端口限制為2~7,所以此處選擇random(Min,Max),返回值為Min和Max之間的隨機(jī)數(shù)。隨機(jī)數(shù)包含Min不包含Max,所以確定Min=2,Max=8,定義返回值引腳為高電平,此時(shí)LED亮,若為低電平,LED熄滅。在初始化中需要使用Serial類庫(kù)函數(shù)begin()建立與串口監(jiān)視器通信,在循環(huán)體中使用Serial類庫(kù)函數(shù)println()向串口監(jiān)視器輸出需要顯示的引腳。該模塊程序編寫(xiě)參考以下內(nèi)容:

int thisPin=random(2,8);

digitalWrite(thisPin,HIGH);

Serial.println(thisPin);? ? ? ?//初始化中需要加入程序“Serial.begin (9600);”設(shè)置通信波特率

delay(timer);? ? ? ? ? ? ? ? ?//必須有一定的延遲時(shí)間

digitalWrite(thisPin,LOW);

delay(timer);

2? 結(jié)? 論

Arduino UNO控制多個(gè)LED在教學(xué)設(shè)計(jì)中采用項(xiàng)目實(shí)例化教學(xué)方法,教學(xué)過(guò)程中進(jìn)行功能模塊化設(shè)計(jì)輔助教學(xué),利用教學(xué)反思手段拓展教學(xué)內(nèi)容,培養(yǎng)學(xué)生創(chuàng)新創(chuàng)造能力,具體操作要求和注意事項(xiàng)如下所示:

(1)項(xiàng)目實(shí)例化教學(xué)即把教學(xué)內(nèi)容形象化和實(shí)體化。學(xué)習(xí)各種編程語(yǔ)言都是建立在各種命令和函數(shù)基礎(chǔ)之上,Arduino UNO也不例外。熟練掌握Arduino UNO的命令和函數(shù)是學(xué)好Arduino UNO的基礎(chǔ)。在學(xué)習(xí)過(guò)程中,學(xué)會(huì)將命令和函數(shù)應(yīng)用在實(shí)例中,通過(guò)驗(yàn)證實(shí)例深刻理解命令和函數(shù),并觀察其所實(shí)現(xiàn)的效果,有助于將抽象的命令和函數(shù)形象化、實(shí)體化。

(2)功能模塊化設(shè)計(jì),邏輯清晰,功能直觀。初始化模塊和不同循環(huán)體模塊組合將實(shí)現(xiàn)不同的功能特效,模塊化處理方法有助于加強(qiáng)對(duì)Arduino UNO控制多個(gè)LED整體認(rèn)識(shí)和理解。

(3)舉一反三,在源程序基礎(chǔ)上進(jìn)行引申和創(chuàng)新。Arduino UNO控制多個(gè)LED實(shí)現(xiàn)的特效絕不僅僅是文中提到的這些效果,采用不同的函數(shù)組合會(huì)實(shí)現(xiàn)多種不同的效果。學(xué)生在學(xué)習(xí)中善于將題目進(jìn)行進(jìn)一步的開(kāi)發(fā)和探索,并觀察實(shí)驗(yàn)效果,有助于加深對(duì)程序的理解,提升創(chuàng)新和創(chuàng)造能力。

Arduino UNO是一款能實(shí)時(shí)展現(xiàn)編程效果,將軟硬件結(jié)合得非常好的實(shí)用工具。Arduino UNO開(kāi)發(fā)板和套件組合能實(shí)現(xiàn)各種各樣的實(shí)驗(yàn),要注重在實(shí)驗(yàn)中檢驗(yàn)學(xué)習(xí)理論,思考學(xué)習(xí)內(nèi)容,總結(jié)學(xué)習(xí)方法,提升操作技能。

參考文獻(xiàn):

[1] 黃煥林,丁昊.從零開(kāi)始學(xué)Arduino電子設(shè)計(jì) [M].北京:機(jī)械工業(yè)出版社,2018.

[2] 陳呂洲.Arduino程序設(shè)計(jì)基礎(chǔ):第2版 [M].北京:北京航空航天大學(xué)出版社,2015.

[3] 譚浩強(qiáng).C程序設(shè)計(jì):第3版 [M].北京:清華大學(xué)出版社,2005.

[4] 彭秋潔,劉凱磊,康紹鵬,等.基于Arduino的多功能自動(dòng)跟隨行李箱設(shè)計(jì) [J].物聯(lián)網(wǎng)技術(shù),2020,10(8):63-65+70.

作者簡(jiǎn)介:李娜(1984—),女,漢族,山東泰安人,教師,講師,碩士研究生,研究方向:電氣自動(dòng)化;孟東曉(1980—),男,漢族,山東聊城人,維修經(jīng)理,工程師,學(xué)士學(xué)位,研究方向:電氣自動(dòng)化。

猜你喜歡
模塊化
模塊化自主水下機(jī)器人開(kāi)發(fā)與應(yīng)用
基于模塊化控制系統(tǒng)在一體化教學(xué)中的應(yīng)用
模塊化住宅
馬勒推出新型模塊化混動(dòng)系統(tǒng)
考慮模塊化和退貨率的供應(yīng)鏈大規(guī)模定制模型
ACP100模塊化小型堆研發(fā)進(jìn)展
從模塊化中得到的二氧化碳
模塊化VS大型工廠
非模塊化設(shè)計(jì)四合一爐對(duì)流室的模塊化吊裝
機(jī)械制造技術(shù)模塊化教學(xué)改革研究
主站蜘蛛池模板: 天堂成人av| 国产欧美日韩另类| 中文字幕人成乱码熟女免费| 日本精品视频一区二区| 久久国产成人精品国产成人亚洲| 九九视频在线免费观看| 亚洲第一成年人网站| 91精品视频在线播放| 无码在线激情片| 成人久久18免费网站| 亚洲一区二区视频在线观看| 2020久久国产综合精品swag| 老司机午夜精品视频你懂的| 久久毛片网| 国产爽歪歪免费视频在线观看| 2021国产乱人伦在线播放| 国产精品伦视频观看免费| 波多野结衣的av一区二区三区| 亚洲无码91视频| 欧美视频在线播放观看免费福利资源 | 2021国产在线视频| 日本免费一级视频| 一级毛片高清| 美女国内精品自产拍在线播放| 91成人在线免费视频| 国产福利一区二区在线观看| 小13箩利洗澡无码视频免费网站| 99精品久久精品| 久久久久人妻一区精品| 九色最新网址| 91在线国内在线播放老师| 欧美午夜网| 欧美在线网| 久久精品丝袜| jizz亚洲高清在线观看| 色有码无码视频| 国产后式a一视频| 成人无码区免费视频网站蜜臀| 毛片免费网址| 尤物成AV人片在线观看| 国产精品黄色片| 综合色88| 香蕉综合在线视频91| 99re热精品视频国产免费| 精品色综合| 亚洲第一天堂无码专区| 久久性视频| 亚洲综合婷婷激情| 国产91在线|中文| 国产91成人| 成人小视频在线观看免费| 99国产精品免费观看视频| 亚洲无码高清一区二区| 伊人查蕉在线观看国产精品| jizz国产在线| 亚洲人成网站观看在线观看| 亚洲不卡影院| 欧美精品在线免费| 色综合久久久久8天国| 中文字幕第1页在线播| 在线国产综合一区二区三区| 国产本道久久一区二区三区| 国产一国产一有一级毛片视频| 特级毛片8级毛片免费观看| 白丝美女办公室高潮喷水视频 | 日韩国产黄色网站| 色悠久久久| 最新亚洲av女人的天堂| 亚洲欧美一区二区三区麻豆| 亚洲天堂精品视频| 亚洲天堂视频在线免费观看| 伊人久综合| 日韩精品中文字幕一区三区| 熟妇人妻无乱码中文字幕真矢织江| 欧美一区中文字幕| 欧美人与性动交a欧美精品| 日本免费一级视频| 漂亮人妻被中出中文字幕久久| 亚洲色图另类| 国产日韩精品一区在线不卡 | 国产成人艳妇AA视频在线| 一区二区三区毛片无码|