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

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

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

李娜 孟東曉

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

關鍵詞:Arduino UNO;LED;項目實例化;模塊化

中圖分類號:TP211;TN873? ? ? 文獻標識碼:A 文章編號: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)建“人工智能+傳感器”實訓課程體系,引入Arduino UNO套件,深入研究開發(fā)相關課程內容,為創(chuàng)建適應我校發(fā)展的人工智能實訓室奠定基礎。作者在開發(fā)課程體系中研究發(fā)現(xiàn)Arduino UNO控制多個LED項目有待深入拓展和挖掘,以此激發(fā)學生思考,學習融會貫通,敢于創(chuàng)造創(chuàng)新。

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

1? 總體結構設計

“人工智能+傳感器”實訓課程體系以Arduino UNO為平臺,圍繞“傳感器”元器件創(chuàng)建一系列實訓課程,其中控制多個LED項目是其中的基礎入門課程。

1.1? 結構設計

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

1.2? 硬件設計

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

1.3? 軟件設計

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

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

int timer =100;? ? ? ? ? ? ? ? ? ? ? ? ? ?//定義時間間隔為100ms,可以根據需要設置時間間隔。

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

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

{

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

}

}

(2)循環(huán)體模塊一:LED從右到左閃爍。通過for語句實現(xiàn)對引腳2~7逐個訪問,每次訪問時對引腳先輸出高電平保持100 ms后輸出低電平,實現(xiàn)該引腳對應的LED閃爍效果。把程序放在void loop循環(huán)體內實現(xiàn)對引腳的無限次循環(huán)訪問。實現(xiàn)該功能的代碼程序為:

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

{

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

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

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

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

}

}

(3)循環(huán)體模塊二:LED從右到左閃爍,再從左到右閃爍,不斷循環(huán)。在模塊一的基礎上再加入反向的閃爍動作即可實現(xiàn)該功能,所以程序的編寫需要再加入一個反向的循環(huán)體。引腳設置從高到底,其他內容不變。需要增加的代碼程序為:

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

{

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

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

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

}

(4)循環(huán)體模塊三:LED從右到左亮,再從右到左滅。模塊三和模塊二的主要為模塊三的第一次循環(huán)只有亮的過程,第二次循環(huán)才是滅的過程。根據要求,模塊中應包括兩個for循環(huán),第一個for循環(huán)引腳設置從2~7,逐個設置引腳為高電平,LED從右到左亮,保持常亮;第二個for循環(huán),引腳設置從2~7,逐個設置引腳為低電平,LED從右到左熄滅。

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

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

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

int thisPin=7;

digitalWrite(thisPin,HIGH);

thisPin=2;

digitalWrite(thisPin,HIGH);

delay(timer);

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

int thisPin=random(2,8);

digitalWrite(thisPin,HIGH);

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

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

digitalWrite(thisPin,LOW);

delay(timer);

2? 結? 論

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

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

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

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

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

參考文獻:

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

[2] 陳呂洲.Arduino程序設計基礎:第2版 [M].北京:北京航空航天大學出版社,2015.

[3] 譚浩強.C程序設計:第3版 [M].北京:清華大學出版社,2005.

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

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

猜你喜歡
模塊化
模塊化自主水下機器人開發(fā)與應用
基于模塊化控制系統(tǒng)在一體化教學中的應用
模塊化住宅
馬勒推出新型模塊化混動系統(tǒng)
考慮模塊化和退貨率的供應鏈大規(guī)模定制模型
ACP100模塊化小型堆研發(fā)進展
中國核電(2017年2期)2017-08-11 08:00:56
從模塊化中得到的二氧化碳
模塊化VS大型工廠
非模塊化設計四合一爐對流室的模塊化吊裝
機械制造技術模塊化教學改革研究
主站蜘蛛池模板: 欧美福利在线| 亚洲综合九九| 91亚洲精品国产自在现线| 国产AV无码专区亚洲A∨毛片| 国产日本欧美亚洲精品视| 青青草原国产精品啪啪视频| 日本一区二区三区精品视频| 欧美在线观看不卡| 国产欧美日韩在线在线不卡视频| 久久99蜜桃精品久久久久小说| 欧美丝袜高跟鞋一区二区| 亚洲天堂福利视频| 中国一级特黄视频| 亚洲另类色| jizz国产在线| 夜夜操国产| 亚洲天堂色色人体| 亚洲无码日韩一区| 欧美精品在线免费| 久久一级电影| 国产黄色片在线看| 欧美日韩国产在线观看一区二区三区| 亚洲国产一成久久精品国产成人综合| 欧美成人午夜在线全部免费| 国产一级裸网站| 在线无码九区| 久久国产亚洲偷自| 国产精品手机在线观看你懂的 | 久久黄色视频影| 久久国产亚洲欧美日韩精品| 久精品色妇丰满人妻| 特级精品毛片免费观看| 91av成人日本不卡三区| 欧美日韩国产综合视频在线观看| 女人一级毛片| 国产杨幂丝袜av在线播放| 无码AV动漫| 女人18一级毛片免费观看| 秘书高跟黑色丝袜国产91在线| 国产精品黑色丝袜的老师| 日本免费新一区视频| 福利姬国产精品一区在线| 香蕉综合在线视频91| 狠狠色综合久久狠狠色综合| 99热这里只有精品在线播放| 露脸一二三区国语对白| 国产精品va免费视频| 亚洲精品国偷自产在线91正片| 人妻免费无码不卡视频| 国产日韩久久久久无码精品| 在线观看亚洲天堂| 福利视频一区| 国产资源免费观看| 国产在线日本| 精品视频在线观看你懂的一区| 日韩在线播放中文字幕| 久久免费看片| 高清免费毛片| 国产精品视频导航| 中文字幕欧美日韩高清| Aⅴ无码专区在线观看| 久久国产香蕉| 成人福利在线视频免费观看| 69综合网| 日韩AV无码免费一二三区| 伊在人亚洲香蕉精品播放| 91精品啪在线观看国产91九色| jizz亚洲高清在线观看| 中文字幕调教一区二区视频| 日韩福利视频导航| 狠狠色噜噜狠狠狠狠奇米777 | 亚洲无码91视频| 精品人妻一区二区三区蜜桃AⅤ| 国产91丝袜在线播放动漫| 国产av一码二码三码无码| 久久久久人妻一区精品色奶水 | 精品亚洲国产成人AV| 国产亚洲精品自在久久不卡 | 天堂成人av| 国产成人乱无码视频| 色妺妺在线视频喷水| 91小视频版在线观看www|