Hi,大家好!上一次我們試著讓Arduino點亮了一盞LED神燈。這一次我們更進一步,讓這盞LED神燈閃爍起來!
像之前一樣,我們首先需要在硬件和軟件方面做一些準備。
硬件方面
arduino-led.jpg (142.36 KB, 下載次數: 327)
下載附件
2015-12-19 22:05 上傳
圖片來源:Arduino-UNO-LED
具體包括如下:
- Arduino UNO電路板(1塊)
- mini面包板(1塊)
- 220歐姆電阻(1個)
- LED燈(1盞)
- 面包線(2根)
軟件方面只需要Arduino官方提供的IDE即可。
準備好上面這些之后,接下來只要連接好電路,敲幾行簡單的代碼,就可以讓我們的神燈閃爍起來!
連接電路
arduino-led-light.jpg (515.34 KB, 下載次數: 363)
下載附件
2015-12-19 22:05 上傳
圖片來源:Arduino連接LED電路示意圖
跟點亮LED神燈一樣,只需要簡單的一步,即可連接好我們的電路。唯一需要注意的是,LED的長針腳要插入13號孔,短針腳插入GND地線孔內,這一點千萬別搞反了哦!最后,需要用USB線把Arduino連接到電腦上,連好之后會看到Arduino電路板上的一個小電源燈被點亮!
添加幾行代碼好!最后我們需要添加兩行簡單的代碼,即可大功告成!
首先打開Arduino的IDE,新建一個Arduino項目窗口。
arduino-ide-new.jpg (70.98 KB, 下載次數: 353)
下載附件
2015-12-19 22:05 上傳
圖片來源:Arduino官方IDE
新建完成之后,需要向其中添加幾行代碼。
- int led = 13; // 定義針腳號,數字類型為整型
- // 對Arduino電路板或相關狀態進行初始化方法
- void setup() {
- // 設定13號針腳為輸出狀態,
- // pinMode()方法是Arduino類庫提供的系統方法,
- // 調用的時候需要傳入兩個參數。
- // 一個是針腳號,另一個是針腳號的狀態。
- pinMode(led, OUTPUT);
- }
- // 系統調用,無限循環方法
- void loop() {
- // 向13號針腳輸出值為高電壓狀態,
- // 此值可以點亮LED神燈。
- // digitalWrite()方法也是Arduino類庫提供的系統方法,
- // 調用的時候需要傳入兩個參數,
- // 一個是針腳號,另一個是針腳號的狀態。
- // 這里需要注意的是,pinMode()方法是初始化針腳狀態,
- // digitalWrite()方法是向此針腳號不斷發送狀態。
- digitalWrite(led, HIGH);
- // delay()方法是Arduino自身類庫提供的方法,
- // 功能是讓時間延遲,其中傳入的參數為毫秒單位,
- // 1000毫秒 = 1秒
- delay(1000);
- // 此處向Arduino的13針腳發送低電壓狀態,
- // 此狀態可以讓LED神燈熄滅
- digitalWrite(led, LOW);
- // 再次延遲1000毫秒,也即1秒鐘,
- delay(1000);
- // 隨后進入下一次loop循環,
- // 即調用上面的digitalWrite(led, HIGH)方法,
- // 讓LED神燈再次點亮。
- // 如此不斷循環下去。
- }
復制代碼
敲完收工!看起來代碼好長的樣子,注意千萬別被上面冗長的中文注釋所嚇住!刪除注釋,比起點亮LED神燈,其實我們只多添加了三行代碼!而且三行代碼里還有兩行是重復的!不能要求再簡單了!
新添加的三行代碼里,出現了一個新面孔,那就是delay()方法,這個方法的功能是進行時間延遲的,方法的調用需要傳入一個時間參數,參數的單位為毫秒,比如傳入1000,那么等于在這行代碼上停留1秒鐘,隨后程序才會自動繼續向下執行。
好!接下來還剩下最后一步,把代碼燒入Arduino!在點亮LED神燈那一節,我們知道這一步可以一氣呵成,只需要點擊新建項目文件上,那個指向右側箭頭圖標,即可自動完成代碼的燒入。
arduino-menu.jpg (9.87 KB, 下載次數: 313)
下載附件
2015-12-19 22:05 上傳
圖片來源:Arduino官方IDE的文件編輯菜單選項(注意此處不是指Arduino頂部工具欄)
如果在此操作中碰到了連接Arduino的失敗錯誤,可以查看點亮LED神燈那一節中,關于這部分需要注意的兩個小細節。
總結是不是很簡單?其實只需要多加一個新方法,就可以實現LED神燈的閃爍效果!這一節中,我們新認識一個延時方法,名字叫delay(),只是多添加了這一個方法,就完成了最終效果。So easy!
下期預告這一節我們只是實現了讓LED神燈點亮和熄滅,期間只有兩個狀態。那如何讓LED神燈逐步點亮和逐步熄滅呢?嗯,下一次我們將迎接一個新的挑戰,讓LED神燈逐漸變亮和逐漸熄滅!
ohcoder的系列精彩Arduino教程:
Arduino教程-初識Arduino(包含本教程目錄):http://www.zg4o1577.cn/bbs/dpj-41334-1.html
Arduino教程-開篇:http://www.zg4o1577.cn/bbs/dpj-41335-1.html
Arduino教程-點亮LED神燈:http://www.zg4o1577.cn/bbs/dpj-41336-1.html
Arduino教程-讓LED神燈閃爍:http://www.zg4o1577.cn/bbs/dpj-41337-1.html
Arduino教程-讓LED神燈亮度漸變:http://www.zg4o1577.cn/bbs/dpj-41338-1.html
Arduino教程-獲取輸入數字信號:http://www.zg4o1577.cn/bbs/dpj-41339-1.html
Arduino教程-獲取輸入模擬信號:http://www.zg4o1577.cn/bbs/dpj-41340-1.html
Arduino教程-另一種時間延遲:http://www.zg4o1577.cn/bbs/dpj-41331-1.html
Arduino教程-按鍵開關:http://www.zg4o1577.cn/bbs/dpj-41341-1.html
Arduino教程-停止抖動!:http://www.zg4o1577.cn/bbs/dpj-41333-1.html
Arduino教程-拋棄外部電阻!:http://www.zg4o1577.cn/bbs/dpj-41332-1.html
Arduino教程-用按鍵開關計數:http://www.zg4o1577.cn/bbs/dpj-41330-1.html
………后續持續更新中請打開:http://www.zg4o1577.cn/bbs/dpj-41334-1.html
|