Arduino入門版使用教程_第1頁
Arduino入門版使用教程_第2頁
Arduino入門版使用教程_第3頁
Arduino入門版使用教程_第4頁
Arduino入門版使用教程_第5頁
已閱讀5頁,還剩100頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Arduino入門版使用教程i目 錄介紹篇 . 1一、Arduino 基礎(chǔ)套裝介紹 . 21、什麼是Arduino 基礎(chǔ)套裝? . 22、元件清單 . 2二、Arduino 介紹 . 41、什麼是Arduino? . 42、特色描述 . 43、性能描述 . 4三、Arduino C 語言介紹 . 61、關(guān)鍵字和符號(hào) . 62、結(jié)構(gòu) . 93、功能 . 9四、Arduino 使用介紹 . 111、準(zhǔn)備好你的Arduino 板 . 112、下載Arduino 開發(fā)環(huán)境 . 133、安裝USB 驅(qū)動(dòng) . 134、連接LED 燈電路 . 175、打開arduino 開發(fā)環(huán)境 . 186、打開已有程式

2、. 197、編譯程式 . 208、下載程式 . 23五、麵包板使用介紹 . 301、麵包板介紹 . 302、麵包板的使用 . 30 ii實(shí)驗(yàn)篇 . 34第一節(jié) 多彩led 燈實(shí)驗(yàn) . 35一、發(fā)光二極管介紹 . 35二、簡單的控制一個(gè)led 燈的閃爍實(shí)驗(yàn) . 39三、廣告燈效果實(shí)驗(yàn) . 41第二節(jié) 蜂鳴器實(shí)驗(yàn) . 48一、蜂鳴器介紹 . 48二、蜂鳴器模擬救護(hù)車警笛聲音實(shí)驗(yàn) . 50第三節(jié) 數(shù)碼管實(shí)驗(yàn) . 54一、數(shù)碼管介紹 . 54二、數(shù)碼管顯示數(shù)字的實(shí)驗(yàn) . 56第四節(jié) 按鍵實(shí)驗(yàn) . 63一、按鍵介紹 . 63二、按鍵控制led 等亮滅實(shí)驗(yàn) . 65三、擲骰子實(shí)驗(yàn) . 67第五節(jié) 傾斜開關(guān)

3、實(shí)驗(yàn) . 74一、傾斜開關(guān)介紹 . 74二、傾斜開關(guān)控制led 燈的亮滅 . 75第六節(jié) 光控聲音實(shí)驗(yàn) . 79一、光敏電阻介紹 . 79二、光控聲音實(shí)驗(yàn) . 80第七節(jié) 火焰報(bào)警實(shí)驗(yàn) . 84一、火焰?zhèn)鞲衅鹘榻B . 84二、火焰報(bào)警實(shí)驗(yàn) . 85第八節(jié) 搶答器實(shí)驗(yàn) . 90第九節(jié) 溫度報(bào)警實(shí)驗(yàn) . 98一、溫度傳感器介紹 . 98 iii二、溫度報(bào)警實(shí)驗(yàn) . 99第十節(jié) 紅外遙控 . 103一、紅外接收頭介紹 . 103二、紅外遙控實(shí)驗(yàn) . 104 介紹篇 一、Arduino 基礎(chǔ)套裝介紹1、什麼是Arduino基礎(chǔ)套裝?Arduino基礎(chǔ)套裝是精心為初學(xué)者設(shè)計(jì)的一款學(xué)習(xí)工具。它可以帶您走進(jìn)

4、豐富多彩的電子世界,讓您體驗(yàn)到電子科技無窮的樂趣。在整個(gè)實(shí)驗(yàn)過程中無須焊接,直接在麵包板上插拔元件即可,非常適合學(xué)習(xí)。另外,本品還附帶了十節(jié)實(shí)驗(yàn)課程。這十節(jié)課程的編排完全是從初學(xué)者的角度考慮,每一節(jié)實(shí)驗(yàn)都配有圖文結(jié)合的實(shí)驗(yàn)說明文檔和非常有趣的例子程式。而且每一節(jié)實(shí)驗(yàn)除了文檔上講的方法外,還有很大可供學(xué)習(xí)者發(fā)揮的空間。Arduino基礎(chǔ)套裝可以說是一款超值的學(xué)習(xí)工具,實(shí)驗(yàn)盒裡寶貝多多。2、元件清單1) Arduino 328控制板 1個(gè)2) 原形開放擴(kuò)展板 1個(gè)3) 麵包板 1個(gè)4) LED燈 (紅、黃、綠) 各2個(gè)5) 蜂鳴器 1個(gè)6) 按鍵開關(guān) 4個(gè)7) 共陽數(shù)碼管 1個(gè)8) 傾斜開關(guān) 1個(gè)

5、9) 火焰?zhèn)鞲衅?1個(gè)10) 光敏電阻 1個(gè)11) 紅外接收管 1個(gè)12) 電阻(220、1K、10K) 各10個(gè)13) LM35溫度傳感器 1個(gè)14) USB線 1條15) 多彩麵包線 10條16) 6節(jié)5號(hào)電池盒 1個(gè)17) mini遙控器 1個(gè)18) Arduino基礎(chǔ)套裝電子教程 1套19) 教程及其開放軟件光碟 1張 二、Arduino 介紹1、 什麼是Arduino?Arduino是一塊基於開放原始代碼的Simple i/o平臺(tái),並且具有開放語言和開放環(huán)境都很簡單、易理解的特點(diǎn)。讓您可以快速使用Arduino做出有趣的東西。Arduino可以配合一些電子元件使用,例如本產(chǎn)品實(shí)驗(yàn)盒中

6、的LED燈、蜂鳴器、按鍵、光敏電阻等等。Arduino開放環(huán)境界面基於開放原始代碼原則,可以讓您免費(fèi)下載使用,開發(fā)出更多令人驚奇的互動(dòng)作品。2、特色描述 開放原始碼的電路圖設(shè)計(jì),開放界面免費(fèi)下載,也可依需求自己修改! 下載程式簡單、方便。 可簡單地與傳感器、各式各樣的電子元件連接(如:LED燈、蜂鳴器、按鍵、光敏電阻等等),做出各種各樣有趣的東西。 使用高速的微處理控制器(ATMEGA328)。 開放語言和環(huán)境都非常簡單、易理解,非常適合初學(xué)者學(xué)習(xí)3、性能描述 Digital I/O 數(shù)字輸入/輸出端共 013。 Analog I/O 模擬輸入/輸出端共 05。 支持ISP下載功能。 輸入電壓

7、:接上USB時(shí)無須外部供電或外部5V9V 直流電壓輸入。 輸出電壓:5V 直流電壓輸出和3.3V 直流電壓輸出和外部電源輸入。 采用Atmel Atmega328微處理控制器。 Arduino大小尺寸:寬70mm X 高54mm。 三、Arduino C 語言介紹Arduino語言是建立在C/C+基礎(chǔ)上的,其實(shí)也就是基礎(chǔ)的C語言,Arduino語言只不過把相關(guān)的一些參數(shù)設(shè)置都函數(shù)化,不用去了解其底層,讓不了解AVR單片機(jī)(微控制器)的朋友也能輕松上手。那麼這裡就簡單的注釋一下Arduino語言。1、關(guān)鍵字和符號(hào)(1)關(guān)鍵字: if if.else for switch case while d

8、o. while break continue return goto(2)語法符號(hào): ; / /* */(3)運(yùn)算符: = + - * / % = != < > <= >= && | ! + - += -= *= /=(4)數(shù)據(jù)類型: boolean 布爾類型 char 字符類型 byte 字節(jié)類型 int 整數(shù)類型 unsigned int 無符號(hào)整型 long 長整型 unsigned long 無符號(hào)長整型 float 實(shí)數(shù)類型 double string array void(5)常量: HIGH | LOW 表示數(shù)字IO口的電平,HIGH 表

9、示高電平(1),LOW 表示低電平(0)。 INPUT | OUTPUT 表示數(shù)字IO口的方向,INPUT 表示輸入(高阻態(tài)),OUTPUT 表示輸出(AVR能提供5V電壓 40mA電流)。 true | false true 表示真(1),false表示假(0)。以上為基礎(chǔ)c語言的關(guān)鍵字和符號(hào),大家可以了解,具體使用可以結(jié)合實(shí)驗(yàn)的程式。2、結(jié)構(gòu) void setup() 初始化變量,管腳模式,調(diào)用庫函數(shù)等 void loop() 連續(xù)執(zhí)行函數(shù)內(nèi)的語句3、功能(1)數(shù)字 I/O pinMode(pin, mode) 數(shù)字IO口輸入輸出模式定義函數(shù),pin表示為013, mode表示為INPUT

10、或OUTPUT。 digitalWrite(pin, value) 數(shù)字IO口輸出電平定義函數(shù),pin表示為013,value表示為HIGH或LOW。比如定義HIGH可以驅(qū)動(dòng)LED。 int digitalRead(pin) 數(shù)字IO口讀輸入電平函數(shù),pin表示為013,value表示為HIGH或LOW。比如可以讀數(shù)字傳感器。(2)模擬 I/O int analogRead(pin) 模擬IO口讀函數(shù),pin表示為05(Arduino Diecimila為05,Arduino nano為07)。比如可以讀模擬傳感器(10位AD,05V表示為01023)。 analogWrite(pin, va

11、lue) - PWM 數(shù)字IO口PWM輸出函數(shù),Arduino數(shù)字IO口標(biāo)注了PWM的IO口可使用該函數(shù),pin表示3, 5, 6, 9, 10, 11,value表示為0255。比如可用於電機(jī)PWM調(diào)速或音樂播放。(3)時(shí)間函數(shù) delay(ms) 延時(shí)函數(shù)(單位ms)。 delayMicroseconds(us) 延時(shí)函數(shù)(單位us)。(4)數(shù)學(xué)函數(shù) min(x, y) 求最小值。 max(x, y) 求最大值。 abs(x) 計(jì)算絕對(duì)值。 constrain(x, a, b) 約束函數(shù),下限a,上限b,x必須在ab之間才能返回。 map(value, fromLow, fromHigh,

12、 toLow,toHigh) 約束函數(shù),value必須在fromLow與toLow之間和fromHigh與toHigh之間。 pow(base, exponent) 開方函數(shù),base的exponent次方。 sq(x) 平方。 sqrt(x) 開根號(hào)。 四、Arduino 使用介紹有了以上作為基礎(chǔ),下面我們就要開始實(shí)際操作了。下面將分步驟介紹:1、準(zhǔn)備好你的Arduino板首先從實(shí)驗(yàn)盒中拿出Prototype shield 擴(kuò)展板如圖:接著從實(shí)驗(yàn)盒拿出麵包板如圖: 將麵包板反過來大家可以看到,麵包板的後面帶有雙面膠,將雙面膠的白色部分揭下來,然後把麵包板粘貼到Prototype shield

13、擴(kuò)展板上,如下圖:然後從實(shí)驗(yàn)盒中拿出 Arduino 328控制板如圖:把貼有麵包板的Prototype shield擴(kuò)展板插在Arduino 328控制板上如圖:這樣板子就連接好了。2、下載Arduino開發(fā)環(huán)境由於本產(chǎn)品光碟中已經(jīng)帶有Arduino0022軟件壓縮包,所以就不用下載了。在光碟中可以找到Arduino0022軟件壓縮包,解壓即可。3、安裝USB驅(qū)動(dòng)首先連接下載程式用的下載線。首先從實(shí)驗(yàn)盒中拿出下載線,將數(shù)據(jù)線的圓口一端插在Arduino328板子上如圖:將數(shù)據(jù)線的扁口一端插在電腦的USB接口上,如下圖所示:插好後,Arduino328控制板上的電源指示燈會(huì)被點(diǎn)亮,電腦上會(huì)出現(xiàn)

14、一個(gè)對(duì)話框如圖:選擇 ”從列表或指定位置安裝 ”,點(diǎn)擊下一步,出現(xiàn)如下圖: 然後點(diǎn)擊 “瀏覽”,在光碟下找到arduino 1.01文件夾,點(diǎn)擊打開,會(huì)看見有drivers文件夾, 接著點(diǎn)擊下一步,會(huì)出現(xiàn):這時(shí)我們只要等待即可,稍後會(huì)出現(xiàn)如下圖對(duì)話框:點(diǎn)選 “繼續(xù)安裝” 點(diǎn)擊完成,這樣驅(qū)動(dòng)就安裝好了,下次再將數(shù)據(jù)線插到電腦就不會(huì)出現(xiàn)安裝驅(qū)動(dòng)對(duì)話框了,插上數(shù)據(jù)線就可以下載程式了。提示:主控板 Arduino Duemilanove 2009 驅(qū)動(dòng)目錄指定到.arduino-0023driversFTDI USB Drivers主控板UNO、MEGA,驅(qū)動(dòng)目錄指定到:.arduino-1.01dr

15、ivers4、連接LED燈電路從實(shí)驗(yàn)盒中取出一個(gè)220的電阻,將它的一端插在數(shù)字8口上,電阻的另一端插在麵包板上。再從實(shí)驗(yàn)盒中去取出一個(gè)發(fā)光二極管如下圖: 將發(fā)光二極管插在麵包板上,插法如圖:接著按照?qǐng)D上說明插上一根導(dǎo)線,這樣電路就連接好了。5、打開arduino開發(fā)環(huán)境打開arduino0022文件夾,裡面有一個(gè)標(biāo)有arduino.exe圖標(biāo),雙擊打開會(huì)出現(xiàn)如下界面: Arduino 0022開發(fā)編譯環(huán)境很簡潔,各個(gè)功能鍵功能描述如下:打開軟件後,我們就可以在窗口的空白處編寫程式了。這裡就不講解怎麼編程了,因?yàn)閷?shí)驗(yàn)裡會(huì)具體的介紹。6、打開已有程式 點(diǎn)擊叉關(guān)閉軟件。我們直接打開led燈實(shí)驗(yàn)程式

16、如圖:7、編譯程式點(diǎn)擊編譯按鈕,這時(shí)編譯按鈕會(huì)發(fā)成黃色,下面出現(xiàn)英文compiling.,這表示軟件正在對(duì)你所寫的程式進(jìn)行編譯,如下圖所示:等待一會(huì),會(huì)看到編譯按鈕恢復(fù)原來的狀態(tài),下面出現(xiàn)Donecompiling,最下面一段文字說明編寫的程式共有896字節(jié)數(shù)。這表明,程式編譯成功,並且沒有語法上的錯(cuò)誤。如下圖所示: 下面看看程式有語法錯(cuò)誤時(shí)會(huì)出現(xiàn)什麼狀態(tài),將程式中pinMode(ledPin,OUTPUT)後面的分號(hào)去掉,點(diǎn)擊編譯按鈕,編譯完成後會(huì)出現(xiàn)如下圖所示狀態(tài): 1處告訴我們是因?yàn)樵凇啊备浇鄙俜痔?hào)而出現(xiàn)的錯(cuò)誤。2處用文字告訴我們錯(cuò)誤是出現(xiàn)在void setup()的一個(gè)“”附近。3處

17、用黃顏色將“”覆蓋,表示錯(cuò)誤就在這附近。從程式中看到錯(cuò)誤確實(shí)在大括號(hào)附近,將分號(hào)添上後就會(huì)編譯成功。以後編寫程式出現(xiàn)錯(cuò)誤時(shí),就可以通過看下面信息欄裡的提示調(diào)試程式。8、下載程式下載程式前先將板子型號(hào)和com口選好。點(diǎn)擊Tools->Board選擇開發(fā)板型號(hào),如圖: 這裡我們使用的是Arduino 328 控制板,所以點(diǎn)擊第一個(gè)即可。接下來選擇串口,首先看一下我們的串口是COM幾,右鍵點(diǎn)擊我的電腦的圖標(biāo),選擇屬性,會(huì)出現(xiàn)如下對(duì)話框:點(diǎn)擊硬件,出現(xiàn)如圖對(duì)話框:點(diǎn)擊設(shè)備管理器,出現(xiàn)下圖:雙擊端口,出現(xiàn)下圖:會(huì)看到有一個(gè)寫著USB Serial Port(COM3),COM3這個(gè)就是我們的串口號(hào)

18、。把這個(gè)號(hào)記住,關(guān)閉窗口,回到arduino軟件窗口,點(diǎn)擊Serial Port,選擇剛才記住的COM口號(hào)COM3,如圖:這樣板子型號(hào)和COM口就選好了。接下來點(diǎn)擊arduino軟件上的下載按鈕,如圖:點(diǎn)擊之後下載按鈕發(fā)成橙色,軟件下方出現(xiàn)Uploading to I/OBoard,同時(shí)板子上標(biāo)有TX和RX的燈會(huì)亮,如圖所示: 序下載完畢後,下載按鈕恢復(fù)原來的顏色,下面出現(xiàn)DoneUploading,如圖:如果沒有顯示Done Uploading,而是出現(xiàn)了紅色的字,表示下載失敗,可以檢查一下USB線是否連接好、電源開關(guān)是否打開、COM口是否選對(duì)等等。如果出現(xiàn)上圖,表示程式下載成功了,如果你看

19、到麵包板上的led燈亮1s、滅1s的在閃爍,恭喜你,你的Arduino板開始工作啦! 五、麵包板使用介紹1、麵包板介紹套件中包含的麵包板具有170個(gè)插孔,此麵包板可以配合Arduino各種型號(hào)的ProtoShield(原型擴(kuò)展板),自帶雙面粘膠,可以粘貼到各種開發(fā)板、擴(kuò)展板上,也可粘貼到各種輪式機(jī)器人或履帶式機(jī)器人基板上實(shí)現(xiàn)個(gè)性化功能調(diào)試,體積小巧,僅有45mm×35mm(1.8"x1.4")大小,是Arduino互動(dòng)媒體愛好者、機(jī)器人發(fā)燒友、電子愛好者和電子工程師必備用品。2、麵包板的使用麵包板(集成電路實(shí)驗(yàn)板)是電路實(shí)驗(yàn)中一種常用的具有多孔插座的插件板,在進(jìn)行

20、電路實(shí)驗(yàn)時(shí),可以根據(jù)電路連接要求,在相應(yīng)孔內(nèi)插入電子元器件的引腳以及導(dǎo)線等,使其與孔內(nèi)彈性接觸簧片接觸,由此連接成所需的實(shí)驗(yàn)電路。下圖為本迷你麵包板的示意圖。 它一共具有170個(gè)插孔,10行17列。以中間的長槽為界分成上、下兩部分,每一部分都是5行17列。從圖中可以看到在每一部分中的每一列有5個(gè)插孔,這5個(gè)插孔的底部是一個(gè)金屬簧片,因此插入這5個(gè)孔內(nèi)的導(dǎo)線就被金屬簧片連接在一起。例如下圖: 電阻和紅色發(fā)光二極管是連通的,因?yàn)閷?dǎo)線1的一端插在了電阻所在的列,這列的5個(gè)孔是連通的,所以導(dǎo)線和電阻是通的,導(dǎo)線的另一端插在了發(fā)光二級(jí)管正極所在的列,所以最終電阻和發(fā)光二極管是連通的。將電源正負(fù)極接好後發(fā)

21、光二極管就會(huì)被點(diǎn)亮。每一部分的每一列的五個(gè)插孔都是通過金屬簧片相連的,而每一行的17個(gè)孔是不通的,所以橫排上的器件要連通的話,需用導(dǎo)線連接。注意:插入麵包板上孔內(nèi)引腳或?qū)Ь€銅芯直徑為0.40.6mm,即比大頭針的直徑略微細(xì)一點(diǎn)。元器件引腳或?qū)Ь€頭要沿麵包板的板面垂直方向插入方孔,應(yīng)能感覺到有輕微、均勻的摩擦阻力,在麵包板倒置時(shí),元器件應(yīng)能被簧片夾住而不脫落。麵包板應(yīng)該在通風(fēng)、干燥處存放,特別要避免被電池漏出的電解液所腐蝕。要保持麵包板清潔,焊接過的元器件不要插在麵包板上。 實(shí)驗(yàn)篇 第一節(jié) 多彩led 燈實(shí)驗(yàn)一、發(fā)光二極管介紹1、什麼是發(fā)光二極管發(fā)光二極管簡稱為LED。由鎵(Ga)與砷(AS)、

22、磷(P)的化合物制成的二極管,當(dāng)電子與空穴復(fù)合時(shí)能輻射出可見光,因而可以用來制成發(fā)光二極管,在電路及儀器中作為指示燈,或者組成文字或數(shù)字顯示。磷砷化鎵二極管發(fā)紅光,磷化鎵二極管發(fā)綠光,碳化硅二極管發(fā)黃光。它是半導(dǎo)體二極管的一種,可以把電能轉(zhuǎn)化成光能;常簡寫為LED。發(fā)光二極管與普通二極管一樣是由一個(gè)PN結(jié)組成,也具有單向?qū)щ娦?。?dāng)給發(fā)光二極管加上正向電壓後,從P區(qū)注入到N區(qū)的空穴和由N區(qū)注入到P區(qū)的電子,在PN結(jié)附近數(shù)微米內(nèi)分別與N區(qū)的電子和P區(qū)的空穴復(fù)合,產(chǎn)生自發(fā)輻射的熒光。不同的半導(dǎo)體材料中電子和空穴所處的能量狀態(tài)不同。當(dāng)電子和空穴復(fù)合時(shí)釋放出的能量多少不同,釋放出的能量越多,則發(fā)出的光的

23、波長越短。常用的是發(fā)紅光、綠光或黃光的二極管。2、工作原理發(fā)光二極管的反向擊穿電壓約5伏。它的正向伏安特性曲線很陡,使用時(shí)必須串聯(lián)限流電阻以控制通過管子的電流。限流電阻R可用下式計(jì)算:R(EVF)I ;式中E為電源電壓,VF為LED的正向壓降,I為LED的一般工作電流。發(fā)光二極管的工作電壓一般為1.52.0V,其工作電流一般為1020mA。所以在5v的數(shù)字邏輯電路中,可使用220的電阻作為限流電阻。3、Led燈的內(nèi)部結(jié)構(gòu)與連線發(fā)光二極管的兩根引線中較長的一根為正極,應(yīng)連接電源正極。有的發(fā)光二極管的兩根引線一樣長,但管殼上有一凸起的小舌,靠近小舌的引線是正極。如下圖所示: Led燈有兩種連線方法

24、:當(dāng)led燈的陽極通過限流電阻與板子上的數(shù)字I/O口相連,數(shù)字口輸出高電平時(shí),led導(dǎo)通,發(fā)光二極管發(fā)出亮光;數(shù)字口輸出低電平時(shí),led截止,發(fā)光二極管熄滅。如圖:當(dāng)led燈的陰極與板子上的數(shù)字I/O口相連時(shí),數(shù)字口輸出高電平,led截止,發(fā)光二極管熄滅;數(shù)字口輸出低電平,led燈導(dǎo)通,發(fā)光二極管點(diǎn)亮。 圖1.4 發(fā)光二極管接線方法2本實(shí)驗(yàn)選擇了接線方法1連接發(fā)光二極管,將220電阻的一端插在Prototype Shield擴(kuò)展板上的第8個(gè)digital I/O口,電阻的另一端插在麵包板上,電阻和發(fā)光二極管通過導(dǎo)線相連,發(fā)光二極管的負(fù)端插在面包板上與GND相連。具體連接如圖:圖1.5 發(fā)光二極

25、管的具體接線 二、簡單的控制一個(gè)led燈的閃爍實(shí)驗(yàn)1、實(shí)驗(yàn)器件 Led燈:1個(gè) 220的電阻:1個(gè) 多彩麵包板實(shí)驗(yàn)跳線:若干2、實(shí)驗(yàn)連線按照Arduino使用介紹將控制板、Prototype Shied板子、麵包板連接好,下載線插好。最後,按照?qǐng)D1.5將發(fā)光二級(jí)管連接到數(shù)字的第8引腳。這樣我們就完成了實(shí)驗(yàn)的連線部分。2、 實(shí)驗(yàn)原理先設(shè)置數(shù)字8引腳為高電平點(diǎn)亮led燈,然後延時(shí)1s,接著設(shè)置數(shù)字8引腳為低電平熄滅led燈,再延時(shí)1s。這樣使led燈亮1s、滅1s,在規(guī)覺上就形成閃爍狀態(tài)。如果想讓led快速閃爍,可以將延時(shí)時(shí)間設(shè)置的小一些,但不能過小,過小的話人眼就識(shí)別不出來了,看上去就像led燈

26、一直在亮著;如果想讓led慢一點(diǎn)閃爍,可以將延時(shí)時(shí)間設(shè)置的大一些,但也不能過大,過大的話就沒有閃爍的效果了。4、程式代碼程式代碼在簡單led程式文件夾中,雙擊打開後有一個(gè)led1文件夾,接著雙擊打開後可以看見有一個(gè)led1.pde文件,雙擊圖標(biāo)即可打開。打開後我們可以看到這是arduino編程軟件窗口,上面有本實(shí)驗(yàn)的程式代碼。程式代碼如下:int ledPin=8; /設(shè)定控制LED的數(shù)字IO腳void setup()pinMode(ledPin,OUTPUT);/設(shè)定數(shù)字IO口的模式,OUTPUT 為輸出void loop()digitalWrite(ledPin,HIGH); /設(shè)定PIN

27、8腳為HIGH = 5V左右delay(1000); /設(shè)定延時(shí)時(shí)間,1000 = 1秒digitalWrite(ledPin,LOW); /設(shè)定PIN8腳為LOW = 0Vdelay(1000); /設(shè)定延時(shí)時(shí)間,1000 = 1秒從Arduino教程中我們可以知道,Arduino語言是以setup()開頭,loop()作為主體的一個(gè)程式極架。setup()是用來初始化變量,管腳模式,調(diào)用庫函數(shù)等等,此函數(shù)只運(yùn)行一次。本程式在setup()中用數(shù)字IO口輸入輸出模式定義函數(shù)pinMode(pin,mode),將數(shù)字的第8引腳設(shè)置為輸出模式。loop()函數(shù)是一個(gè)循環(huán)函數(shù),函數(shù)內(nèi)的語句周而復(fù)始

28、的循環(huán)執(zhí)行,本程式在loop()中先用 數(shù)字IO口輸出電平定義函數(shù)digitalWrite(pin,value),將數(shù)字8口定義為高電平,點(diǎn)亮led燈;接著調(diào)用延時(shí)函數(shù)delay(ms)(單位ms)延時(shí)1000ms,讓發(fā)光二極管亮1s;再用數(shù)字IO口輸出電平定義函數(shù)digitalWrite(pin, value),將數(shù)字8口定義為低電平,熄滅led燈;接著再調(diào)用延時(shí)函數(shù)delay(ms) (單位ms)延時(shí)1000ms,讓發(fā)光二極管熄滅1s。因?yàn)閘oop()函數(shù)是一個(gè)循環(huán)函數(shù),所以這個(gè)過程會(huì)不斷的循環(huán)。5、下載程式按照arduino教程中的程式下載方法將本程式下載到實(shí)驗(yàn)板中。6、程式功能將程式下

29、載到實(shí)驗(yàn)板後我們可以觀察到,發(fā)光二極管以1s的時(shí)間間隔不斷的閃爍。三、廣告燈效果實(shí)驗(yàn)1、實(shí)驗(yàn)器件 Led燈:6個(gè) 220的電阻:6個(gè) 多彩麵包板實(shí)驗(yàn)跳線:若干2、實(shí)驗(yàn)連線按照上述方法將板子和數(shù)據(jù)線連好。然後按照二級(jí)管的接線方法,將六個(gè)LED燈依次接到數(shù)字16引腳上。如圖: 圖1.6 廣告燈實(shí)驗(yàn)的接線3、實(shí)驗(yàn)原理在生活中我們經(jīng)常會(huì)看到一些由各種顏色的led燈組成的廣告牌,廣告牌上各個(gè)位置上的led燈不斷的亮滅發(fā)化,就形成各種不同的效果。本節(jié)實(shí)驗(yàn)就是利用led燈編程模擬廣告燈的效果。在程式中我們?cè)O(shè)置led燈亮滅的次序和時(shí)間,這樣就可以組成不同的效果。樣式一子程式:led首先從左邊的綠燈開始間隔20

30、0ms依次點(diǎn)亮六個(gè)led燈,如圖1.6,接著從右邊的綠燈開始間隔200ms依次熄滅六個(gè)led燈。燈閃爍子程式:六個(gè)led燈首先全部點(diǎn)亮,接著延時(shí)200ms,最後六個(gè)led燈全部熄滅,這個(gè)過程循環(huán)兩次就實(shí)現(xiàn)了閃爍的效果。樣式二子程式設(shè)置k和j的值讓中間的兩個(gè)黃燈亮先亮,接著讓挨著兩個(gè)黃燈兩邊的紅燈亮,最後讓兩邊的綠燈亮;執(zhí)行一遍後改發(fā)k和j的值讓讓兩邊的綠燈先熄滅,接著兩邊的紅燈熄滅,最後中間的兩個(gè)黃燈熄滅。樣式三子程式:設(shè)置k和j的值,讓兩邊的綠燈亮400ms後再熄滅,接著讓兩邊的紅燈亮400ms後再熄滅,最後讓中間的兩個(gè)黃燈亮400ms後再熄滅;執(zhí)行一遍後改發(fā)k和j的值讓兩個(gè)紅燈亮400ms

31、後熄滅,接著讓兩邊的綠燈亮400ms後熄滅。4、程式代碼程式代碼在廣告燈程式文件夾中,雙擊打開後有一個(gè)led2文件夾,接著雙擊打開後可以看見有一個(gè)led2.pde文件,雙擊圖標(biāo)即可打開。打開後我們可以看到這是arduino編程軟件窗口,上面有本實(shí)驗(yàn)的程式代碼。程式代碼如下:/設(shè)置控制Led的數(shù)字IO腳int Led1 = 1;int Led2 = 2;int Led3 = 3;int Led4 = 4;int Led5 = 5;int Led6 = 6;/led燈花樣顯示樣式1子程式void style_1(void)unsigned char j;for(j=1;j<=6;j+)/每隔

32、200ms依次點(diǎn)亮16引腳相連的led燈digitalWrite(j,HIGH);/點(diǎn)亮j引腳相連的led燈delay(200);/延時(shí)200msfor(j=6;j>=1;j-)/每隔200ms依次熄滅61引腳相連的led燈digitalWrite(j,LOW);/熄滅j引腳相連的led燈delay(200);/延時(shí)200ms/燈閃爍子程式void flash(void)unsigned char j,k;for(k=0;k<=1;k+)/閃爍兩次for(j=1;j<=6;j+)/點(diǎn)亮16引腳相連的led燈digitalWrite(j,HIGH);/點(diǎn)亮與j引腳相連的led燈

33、delay(200);/延時(shí)200msfor(j=1;j<=6;j+)/熄滅16引腳相連的led燈digitalWrite(j,LOW);/熄滅與j引腳相連的led燈delay(200);/延時(shí)200ms/led燈花樣顯示樣式2子程式void style_2(void)unsigned char j,k;k=1;/設(shè)置k的初值為1for(j=3;j>=1;j-)digitalWrite(j,HIGH);/點(diǎn)亮燈digitalWrite(j+k,HIGH);/點(diǎn)亮燈delay(400);/延時(shí)400msk +=2;/k值加2k=5;/設(shè)置k值為5for(j=1;j<=3;j+)

34、digitalWrite(j,LOW);/熄滅燈digitalWrite(j+k,LOW);/熄滅燈delay(400);/延時(shí)400msk -=2;/k值減2/led燈花樣顯示樣式3子程式void style_3(void)unsigned char j,k;/led燈花樣顯示樣式3子程式k=5;/設(shè)置k值為5for(j=1;j<=3;j+)digitalWrite(j,HIGH);/點(diǎn)亮燈digitalWrite(j+k,HIGH);/點(diǎn)亮燈delay(400);/延時(shí)400msdigitalWrite(j,LOW);/熄滅燈digitalWrite(j+k,LOW);/熄滅燈k -

35、=2;/k值減2k=3;/設(shè)置k值為3for(j=2;j>=1;j-)digitalWrite(j,HIGH);/點(diǎn)亮燈digitalWrite(j+k,HIGH);/點(diǎn)亮燈delay(400);/延時(shí)400msdigitalWrite(j,LOW);/熄滅燈digitalWrite(j+k,LOW);/熄滅燈k +=2;/k值加2 void setup()unsigned char i;for(i=1;i<=6;i+)/依次設(shè)置16個(gè)數(shù)字引腳為輸出模式pinMode(i,OUTPUT);/設(shè)置第i個(gè)引腳為輸出模式void loop()style_1();/樣式1flash();/

36、閃爍style_2();/樣式2flash();/閃爍style_3();/樣式3flash();/閃爍程式代碼中用到的:for(i=1;i<=6;i+)/依次設(shè)置16個(gè)數(shù)字引腳為輸出模式pinMode(i,OUTPUT);/設(shè)置第i個(gè)引腳為輸出模式這是一個(gè)for循環(huán)。它的一般形式為: for(<初始化> <條件表達(dá)式><增量>) 語句; 初始化總是一個(gè)賦值語句, 它用來給循環(huán)控制變量賦初值; 條件表達(dá)式是一個(gè)關(guān)系表達(dá)式, 它決定什麼時(shí)候退出循環(huán); 增量定義循環(huán)控制變量每循環(huán)一次後 按什麼方式發(fā)化。這三個(gè)部分之間用""分開。 例如:

37、 for(i=1; i<=10; i+) 語句; 上例中先給 " i " 賦初值1,判斷 " i " 是否小於等於10, 若是則執(zhí)行語句, 之後值增加1。再重新判斷, 直到條件為假, 即i>10時(shí), 結(jié)束循環(huán)。5、下載程式 按照arduino教程中的程式下載方法將本程式下載到實(shí)驗(yàn)板中。6、程式功能將程式下載到實(shí)驗(yàn)板後我們可以觀察到,六個(gè)led不斷的循環(huán)執(zhí)行樣式一子程式>閃爍子程式>樣式二子程式>閃爍子程式>樣式三子程式>閃爍子程式。在掌握了以上兩個(gè)程式後,大家可以充分發(fā)揮自己的想像,編寫出自己想要的led燈效果,

38、玩轉(zhuǎn)多彩led燈。 第二節(jié) 蜂鳴器實(shí)驗(yàn)一、蜂鳴器介紹1、認(rèn)識(shí)蜂鳴器蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用於計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。圖2.1 蜂鳴器按其驅(qū)動(dòng)方式的不同,可分為:有源蜂鳴器(內(nèi)含驅(qū)動(dòng)線路)和無源蜂鳴器(外部驅(qū)動(dòng)) 教你區(qū)分有源蜂鳴器和無源蜂鳴器,現(xiàn)在市場(chǎng)上出售的一種小型蜂鳴器因其體積小(直徑只有l(wèi)lmm)、重量輕、價(jià)格低、結(jié)構(gòu)牢靠,而廣泛地應(yīng)用在各種需要發(fā)聲的電器設(shè)備、電子制作和單片機(jī)等電路中。有源蜂鳴器和無源蜂鳴器的外觀如圖a、b所示。a)有源 b)無源。從圖a、b外觀上看,兩種蜂鳴器好

39、像一樣,但仔細(xì)看,兩者的高度略有區(qū)別,有源蜂鳴器a,高度為9mm,而無源蜂鳴器b的高度為8mm。如將兩種蜂鳴器的引腳郡朝上放置時(shí),可以看出有綠色電路板的一種是無源蜂鳴器,沒有電路板而用黑膠封閉的一種是有源蜂鳴器。進(jìn)一步判斷有源蜂鳴器和無源蜂鳴器,還可以用萬用表電阻檔Rxl檔測(cè)試:用黑表筆接蜂鳴器 "+"引腳,紅表筆在另一引腳上來回碰觸,如果觸發(fā)出哢、哢聲的且電阻只有8(或16)的是無源蜂鳴器;如果能發(fā)出持續(xù)聲音的,且電阻在幾百歐以上的,是有源蜂鳴器。 有源蜂鳴器直接接上額定電源(新的蜂鳴器在標(biāo)簽上都有注明)就可連續(xù)發(fā)聲;而無源蜂鳴器則和電磁揚(yáng)聲器一樣,需要接在音頻輸出電路中才能發(fā)聲。按構(gòu)造方式的不同,可分為:電磁式蜂鳴器和壓電式蜂鳴器;壓電式蜂鳴器 壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論