版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Arduino編程控制與應(yīng)用能力模塊三掌握Arduino文本編程的應(yīng)用任務(wù)二完成LED閃爍的實現(xiàn)導(dǎo)入閃爍LED是Arduino自帶的經(jīng)典實例(Blink),同時也是生活場景應(yīng)用最多的效果,例如警車、消防車及救護(hù)車車頂?shù)木緹簦瑢崿F(xiàn)LED一亮一滅閃爍的效果,接下來通過本次任務(wù)實現(xiàn)LED的閃爍效果。新授Newteaching1目錄一、Arduino基本程序架構(gòu)二、閃爍LED的基本函數(shù)三、變量的使用四、運(yùn)算符的使用一、Arduino基本程序架構(gòu)
從軟件設(shè)計角度,程序框架(架構(gòu))是一個可復(fù)用的軟件架構(gòu)解決方案,規(guī)定了應(yīng)用的體系結(jié)構(gòu),闡明了軟件體系結(jié)構(gòu)中各層次間及其層次內(nèi)部各組件間的毅力關(guān)系、責(zé)任分配和控制流程,表現(xiàn)為一組接口、抽象類以及實例間協(xié)作的方法。
1如圖所示,我們可以通過菜單欄選擇“文件”→“示例”→“01.Basics”→“BareMinimum”來打開一個最簡單的Arduino程序架構(gòu)。2打開后可以看到一個最簡單的Arduino程序架構(gòu),最少包含了setup()和loop()兩個函數(shù),如圖所示。3setup()函數(shù)和loop()函數(shù)可以為空,但這兩個函數(shù)一定不能被刪除,否則會出現(xiàn)編譯錯誤,刪除loop()函數(shù)編譯結(jié)果如圖所示。多數(shù)Arduino程序架構(gòu)除了setup()和loop()兩個必備函數(shù)外,還包含聲明部分。聲明部分用于聲明變量和接口名稱、引入類庫文件等。二、閃爍LED的基本函數(shù)
函數(shù)在程序里通常是指一組執(zhí)行一個功能的語句,被包裝在一個函數(shù)名稱中。只需要一個函數(shù)名稱,就能調(diào)用這個函數(shù)?;竞瘮?shù)主要包括I/O控制函數(shù)、時間函數(shù)、中斷函數(shù)、數(shù)學(xué)函數(shù)、串口通信函數(shù)等。二、閃爍LED的基本函數(shù)
板載閃爍LED的實現(xiàn)需要用到數(shù)字I/O口13,需要用到I/O控制函數(shù)(I/O輸入輸出定義函數(shù)、I/O輸出電平定義函數(shù))和延時函數(shù)。
(一)pinMode()I/O輸入輸出定義函數(shù)pinMode通常放置在setup()函數(shù)內(nèi),它的作用是設(shè)置某個管腳的模式,13是待設(shè)置管腳的編號,OUTPUT是指該管腳類型為輸出(如果是INPUT則表示管腳類型為輸入)。(二)digitalWrite()I/O輸出電平定義函數(shù)digitalWrite函數(shù)的作用是設(shè)置某個管腳的電位狀態(tài)。(三)delay()延時函數(shù)delay是一個無返回值的函數(shù),參數(shù)是延時的時間長度,單位是ms(毫秒)。三、變量的使用
變量的聲明方法為數(shù)據(jù)類型+變量名(+變量初始化值)。變量名的寫法一般為首字母小寫。變量的數(shù)據(jù)類型除了整型int外,常用的還有布爾型、字符型等,如表所示。變量的作用范圍與該變量在哪聲明有關(guān),大致分為全局變量和局部變量。類型取值范圍說明int-32768~32767(-215~215-1)整型unsignedint0~65535(0~216-1)無符號整型booleantrue或false(1或0)布爾型char-128~128字符型,用來存放ASCⅡ字符,可以將程序種的字符轉(zhuǎn)換成對應(yīng)的數(shù)字存儲(如將字符A存儲為65)。float-3.4028235E+38~3.4028235E+38浮點(diǎn)型,相當(dāng)于數(shù)學(xué)中的實數(shù)。運(yùn)算較慢且可能有誤差,實際使用中盡量轉(zhuǎn)換為整型處理。byte0~255字節(jié)型,多被用來傳輸串行數(shù)據(jù)三、變量的使用1.全局變量
若在程序開頭的聲明區(qū)或是在沒有大括號限制的聲明區(qū),所聲明的變量作用域為整個程序。即整個程序都可以使用這個變量代表的值或范圍,不局限于某個括號范圍內(nèi)。三、變量的使用2.局部變量
若在大括號內(nèi)的聲明區(qū)所聲明的變量,其作用域?qū)⒕窒抻诖罄ㄌ杻?nèi)。若在主程序與各函數(shù)中都聲明了相同名稱的變量,當(dāng)離開主程序或函數(shù)時,該局部變量將自動消失。四、運(yùn)算符的使用
運(yùn)算符用于執(zhí)行程序代碼運(yùn)算,會針對一個以上操作數(shù)項目來進(jìn)行運(yùn)算。Arduino編程語言中使用了多種算術(shù)運(yùn)算符、比較運(yùn)算符和常見的邏輯運(yùn)算符。四、運(yùn)算符的使用1.常見的算術(shù)運(yùn)算符符號描述示例示例返回結(jié)果=賦值符號a=2a的值為2+加法符號1+23-減法符號2-11*乘法符號2*36/除法符號6/23%取模符號7%21++自加運(yùn)算i++等效于i=i+1若i的原值為2,運(yùn)行一次后結(jié)果為3--自減運(yùn)算i--等效于i=i-1若i的原值為2,運(yùn)行一次后結(jié)果為1+=復(fù)合加運(yùn)算i+=2等效于i=i+2若i的原值為2,運(yùn)行一次后結(jié)果為4-=復(fù)合減運(yùn)算i-=2等效于i=i-2若i的原值為2,運(yùn)行一次后結(jié)果為0四、運(yùn)算符的使用2.比較運(yùn)算符符號描述示例示例返回結(jié)果==等于符號a==2若a等于2則為真,否則為假!=不等于符號a!=2若a不等于2則為真,否則為假<小于符號a<2若a小于2則為真,否則為假>大于符號a>2若a大于2則為真,否則為假<=小于等于符號a<=2若a小于或等于2則為真,否則為假>=大于等于符號a>=2若a大于或等于2則為真,否則為假四、運(yùn)算符的使用3.常見的邏輯運(yùn)算符符號描述示例示例返回結(jié)果||邏輯或a>2||a<3若a大于2或a小于3則為真,否則為假&&邏輯與a>2&&a<3若a大于2且a小于3則為真,否則為假!邏輯非!a>2若a小于或等于2則為真,否則為假任務(wù)實施2TaskImplementation一、任務(wù)準(zhǔn)備(一)軟件及硬件準(zhǔn)備序號軟件及硬件名稱數(shù)量1ArduinoIDE/2聯(lián)網(wǎng)的電腦1臺/人3鍵盤1個/人4鼠標(biāo)1個/人5ArduinoUNO開發(fā)板1塊/人6USB串口線1根/人一、任務(wù)準(zhǔn)備(二)場地設(shè)備準(zhǔn)備(三)安全防護(hù)準(zhǔn)備任務(wù)實施前需要做好場地防護(hù)準(zhǔn)備以及檢查實訓(xùn)場地和設(shè)備設(shè)施是否及存在安全隱患,如不正常請匯報老師并進(jìn)行處理方可實施任務(wù)。11.注意輸出電壓,避免開發(fā)板被燒壞;22.注意電腦是否有空余且能正常工作的USB接口。
二、實施步驟(一)控制電路連接
連接線的方頭端接口連接ArduinoUNO控制板,另一端USB接口連接電腦。
二、實施步驟(二)控制程序編寫與上傳
步驟1:打開ArduinoIDE軟件,進(jìn)入界面。
二、實施步驟(二)控制程序編寫與上傳
步驟2:在工具-端口-選擇對應(yīng)的端口。若分不清端口,先把開發(fā)板連接上,查看端口,有COM1、COM3、COM4、COM5、COM6;斷開開發(fā)板連接,查看端口,有COM3、COM4、COM5、COM6;少了一個COM10端口,那么COM10就是對應(yīng)的端口。
二、實施步驟(三)LED閃爍
步驟1:新建一個文檔,//后的代號可刪除;在【代碼編寫區(qū)域】中的“voidsetup(){”下方輸入“pinMode(13,OUTPUT);在viodloop(){”,接著在“voidloop(){”下方輸入“digitalWrite(13,HIGH);”,代碼如圖3-2-9所示。提示:代碼編寫過程一定注意區(qū)分大小寫。
二、實施步驟(三)LED閃爍
步驟2:在“digitalWrite(13,HIGH);”下方輸入“delay(1000);”,再換行輸入“digitalWrite(13,LOW);”,最后換行輸入“delay(1000);”,如圖3-2-10所示。
二、實施步驟(三)LED閃爍
步驟3:點(diǎn)擊上傳,如果操作順利,將出現(xiàn)“上傳成功”的提示,板載“L”燈將以1000ms的間隔進(jìn)行閃爍。
二、實施步驟(三)LED閃爍
步驟4:控制程序解析“pinMode(13,OUTPUT)”即是把13號引腳配置為輸出模式。配置成輸出模式后,你還需要使用“digitalWrite()”讓其輸出高電平或者是低電平;“delay(1000)”為程序運(yùn)行延時1000ms即1s;因此該控制程序為13號引腳上的“L”燈點(diǎn)亮(HIGH)1s,然后熄滅(LOW)1s,以此循環(huán)達(dá)成閃爍的效果。
二、實施步驟(四)LED閃爍變量
步驟1:新建一個文檔,//后的代號可刪除;在【代碼編寫區(qū)域】輸入“intledPin=13;”;換行再輸入“intdelaTtime=1000;”,如圖3-2-14所示。
二、實施步驟(四)LED閃爍變量
步驟2:在【代碼編寫區(qū)域】中的“voidsetup(){”下方輸入“pinMode(ledPin,OUTPUT);”,在“viodloop(){”下方輸入“digitalWrite(ledPin,HIGH);”,隨后換行輸入“delay(delayTime);”,再換行輸入“digitalWrite(ledPin,LOW);”,最后換行輸入“delay(delayTime);”,代碼如圖3-2-15所示。
二、實施步驟(四)LED閃爍變量
步驟3:點(diǎn)擊上傳,如果操作順利,將出現(xiàn)“上傳成功”的提示,板載“L”燈將以delayTime(1000ms)的間隔進(jìn)行閃爍。
二、實施步驟(四)LED閃爍變量
步驟4:控制程序解析setup函數(shù)的內(nèi)容只執(zhí)行一遍,loop函數(shù)內(nèi)容無限次循環(huán)運(yùn)行。ledPin代替了13號管腳的“L”燈。變量“delayTime”在初始化中被賦值“1000”,所以運(yùn)行延時變量“delayTime”的值為“1000”,以此為循環(huán),形成閃爍的效果。這個案例中,變量ledPin和delayTime為全局變量。二、實施步驟(五)LED閃爍變量的變化
步驟1:在LED閃爍變量的代碼基礎(chǔ)上,在最后一行輸入“delayTime=delayTime+100;”,代碼如圖所示。
二、實施步驟(五)LED閃爍變量的變化
步驟2:點(diǎn)擊上傳,如果操作順利,將出現(xiàn)“上傳成功”的提示;板載“L”燈最初將以1000毫秒的間隔進(jìn)行閃爍,隨后每進(jìn)行一次循環(huán)延時的時間就會增加100ms。
二、實施步驟(五)LED閃爍變量的變化
步驟3:控制程序解析setup函數(shù)的內(nèi)容只執(zhí)行一遍,loop的內(nèi)容無限次循環(huán)運(yùn)行。ledpin代替了13號管腳的“L”燈。變量“delayTime”在初始化中被賦值“1000”,所以第一次運(yùn)行時“delayTime”的值為“1000”。第一次運(yùn)行到最后一句時,“delayTime”被重新賦值為“自身原值+100”(即1000+100)。所以loop部分語句運(yùn)行第二遍時,延時語句中的“delayTime”值為“1100”,最后一句時“del
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教育培訓(xùn)機(jī)構(gòu)學(xué)生資助及獎學(xué)金管理合同
- 案例分析及教育寫作(學(xué)生打印版)
- 二零二五年度個人消費(fèi)分期付款服務(wù)合同
- 二零二五年度排水泵站設(shè)備升級合同4篇
- 二零二五年度拍賣會安全保障合同范本
- 2025年度房產(chǎn)租賃合同糾紛調(diào)解服務(wù)協(xié)議4篇
- 2025年度摩托車行業(yè)展會主辦與參展合同
- 第四單元 和諧與夢想 (解析版)-2023-2024學(xué)年九年級道德與法治上學(xué)期期中考點(diǎn)大串講(部編版)
- 第二單元 近代化的早期探索與民族危機(jī)的加?。ㄔ戆妫? 2023-2024學(xué)年八年級歷史上學(xué)期期中考點(diǎn)大串講(部編版)
- 課題申報參考:民事訴訟法與民事實體法協(xié)同發(fā)展研究
- 2024年甘肅省武威市、嘉峪關(guān)市、臨夏州中考英語真題
- DL-T573-2021電力變壓器檢修導(dǎo)則
- 繪本《圖書館獅子》原文
- 安全使用公共WiFi網(wǎng)絡(luò)的方法
- 2023年管理學(xué)原理考試題庫附答案
- 【可行性報告】2023年電動自行車相關(guān)項目可行性研究報告
- 歐洲食品與飲料行業(yè)數(shù)據(jù)與趨勢
- 放療科室規(guī)章制度(二篇)
- 中高職貫通培養(yǎng)三二分段(中職階段)新能源汽車檢測與維修專業(yè)課程體系
- 浙江省安全員C證考試題庫及答案(推薦)
- 目視講義.的知識
評論
0/150
提交評論