亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        李娜 孟東曉

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

        關(guān)鍵詞: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ā)相關(guān)課程內(nèi)容,為創(chuàng)建適應我校發(fā)展的人工智能實訓室奠定基礎(chǔ)。作者在開發(fā)課程體系中研究發(fā)現(xiàn)Arduino UNO控制多個LED項目有待深入拓展和挖掘,以此激發(fā)學生思考,學習融會貫通,敢于創(chuàng)造創(chuàng)新。

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

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

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

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

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

        1.2? 硬件設(shè)計

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

        1.3? 軟件設(shè)計

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

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

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

        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)體內(nèi)實現(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)。在模塊一的基礎(chǔ)上再加入反向的閃爍動作即可實現(xiàn)該功能,所以程序的編寫需要再加入一個反向的循環(huán)體。引腳設(shè)置從高到底,其他內(nèi)容不變。需要增加的代碼程序為:

        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)才是滅的過程。根據(jù)要求,模塊中應包括兩個for循環(huán),第一個for循環(huán)引腳設(shè)置從2~7,逐個設(shè)置引腳為高電平,LED從右到左亮,保持常亮;第二個for循環(huán),引腳設(shè)置從2~7,逐個設(shè)置引腳為低電平,LED從右到左熄滅。

        (5)循環(huán)體模塊四:LED1、3、5先亮,2、4、6再亮;LED1、3、5先滅,2、4、6再滅。根據(jù)模塊功能要求,可以知道需要四個循環(huán)體來實現(xiàn)相關(guā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,故初始化引腳設(shè)定為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同時變亮。對引腳設(shè)置低電平即可實現(xiàn)兩邊向中間熄滅。設(shè)定引腳7和2為高電平的過程可以參考以下程序,其他引腳設(shè)置程序相同:

        int thisPin=7;

        digitalWrite(thisPin,HIGH);

        thisPin=2;

        digitalWrite(thisPin,HIGH);

        delay(timer);

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

        int thisPin=random(2,8);

        digitalWrite(thisPin,HIGH);

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

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

        digitalWrite(thisPin,LOW);

        delay(timer);

        2? 結(jié)? 論

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

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

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

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

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

        參考文獻:

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

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

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

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

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

        猜你喜歡
        模塊化
        模塊化自主水下機器人開發(fā)與應用
        基于模塊化控制系統(tǒng)在一體化教學中的應用
        模塊化住宅
        馬勒推出新型模塊化混動系統(tǒng)
        考慮模塊化和退貨率的供應鏈大規(guī)模定制模型
        ACP100模塊化小型堆研發(fā)進展
        中國核電(2017年2期)2017-08-11 08:00:56
        從模塊化中得到的二氧化碳
        模塊化VS大型工廠
        非模塊化設(shè)計四合一爐對流室的模塊化吊裝
        機械制造技術(shù)模塊化教學改革研究
        国产短视频精品区第一页| 亚洲福利视频一区二区三区| 精品综合久久88少妇激情| 国语对白免费观看123| 国产亚洲av无码av男人的天堂 | 国产黄大片在线观看| 开心婷婷五月激情综合社区| av手机在线天堂网| 国产内射一级一片内射高清视频1| 在线精品首页中文字幕亚洲| 东京道一本热中文字幕| 亚洲av无码精品色午夜| 亚洲国产一区二区三区亚瑟| 久久无码高潮喷水抽搐| 国产午夜免费一区二区三区视频 | 无码人妻av一区二区三区蜜臀| 无码国产精品一区二区vr老人 | 国产亚洲一区二区在线观看| 色一情一区二区三区四区| 久久精品国产亚洲AV成人公司| 98精品国产高清在线xxxx| 激情乱码一区二区三区| 色佬精品免费在线视频| 亚洲精品久久7777777| 明星性猛交ⅹxxx乱大交| 国产精品综合久久久久久久免费| 国产av一区二区日夜精品剧情| 麻豆亚洲av熟女国产一区二| 久久久久亚洲av无码观看| 韩国三级大全久久网站| 亚洲av日韩精品一区二区| 成人国成人国产suv| 色窝窝免费播放视频在线| 午夜视频免费观看一区二区| 久久一区二区三区久久久| 人妻丰满熟妇av无码区hd| 尤物yw无码网站进入| 久久免费精品视频老逼| 男女性行为免费视频网站| 国产一区二区三区免费观看在线 | 久久99久久99精品免视看国产成人|