|
Hi,大家好!今天我們正式學(xué)習(xí)一個(gè)新的元器件,它就是按鍵開關(guān)!說是正式學(xué)習(xí),其實(shí)之前我們?cè)缇鸵呀?jīng)接觸過,而且還正確的連接過它的電路呢!有印象么?在之前的獲取輸入數(shù)字信號(hào)那一節(jié)!這一次與它相遇,我們要正式學(xué)習(xí)如何使用它控制一盞神燈!
既然之前我們已經(jīng)接觸過,想必這次學(xué)起來要簡(jiǎn)單的多啦!
好!廢話不多說,先看一下這次都需要做哪些準(zhǔn)備。
硬件方面
arduino-button-parts.jpg (100.4 KB, 下載次數(shù): 319)
下載附件
2015-12-19 22:01 上傳
圖片來源:Arduino電路配件
具體包括如下:
- Arduino UNO電路板(1塊)
- 面包板(1塊)
- 10k電阻(1個(gè))
- 按鍵開關(guān)(1個(gè))
- 面包線(3根)
咦?怎么沒發(fā)現(xiàn)硬件準(zhǔn)備中的LED神燈?問的好!這次偷偷的告訴你一個(gè)小秘密,其實(shí)Arduino UNO電路板自身就帶有一盞神燈,這盞神燈對(duì)應(yīng)的針腳號(hào)為13。仔細(xì)看上圖中Arduino UNO電路板,在電路板中上方的位置,差不多正對(duì)GND標(biāo)示和數(shù)字13的正下方,有一個(gè)標(biāo)號(hào)為L(zhǎng)的白色長(zhǎng)方形,沒錯(cuò)!那就是這盞神燈。這盞神燈默認(rèn)的信號(hào)輸入針腳為數(shù)字信號(hào)13號(hào)針腳。
因?yàn)檫@次我們的學(xué)習(xí)重點(diǎn)是按鍵,所以為了簡(jiǎn)化電路的連接,我們默認(rèn)就使用Arduino UNO電路板自帶的那盞神燈啦!
好,下面是軟件的準(zhǔn)備!
軟件方面Arduino官方提供的IDE。不必多說!
連接電路
arduino-read-bottom.jpg (121.94 KB, 下載次數(shù): 320)
下載附件
2015-12-19 22:01 上傳
圖片來源:Arduino連接開關(guān)按鍵電路示意圖
電路的連接,在之前的獲取輸入數(shù)字信號(hào)那節(jié)我們已經(jīng)做過,這里除了需要注意Arduino UNO電路板自帶的那盞神燈以外,沒有新的內(nèi)容。
下面是最后一步!
添加幾行代碼最后一個(gè)環(huán)節(jié),就是讓我們添加幾行驅(qū)動(dòng)硬件的代碼。
首先,新建一個(gè)項(xiàng)目窗口。
arduino-ide-new.jpg (70.98 KB, 下載次數(shù): 301)
下載附件
2015-12-19 22:01 上傳
圖片來源:Arduino官方IDE
- // 這里的輸入和輸出是針對(duì)Arduino電路板而言
- // 定義按鍵輸入針腳號(hào)為2號(hào)針腳
- const int buttonPin = 2;
- // 定義LED輸入針腳號(hào)為13號(hào)針腳
- // 注:此處我們使用的LED神燈是Arduino UNO電路板自帶,
- // 此神燈對(duì)應(yīng)的針腳號(hào)默認(rèn)為13,此數(shù)值不得隨意更改,
- // 所以這里定義的數(shù)值13是為了和默認(rèn)值相對(duì)應(yīng)。
- const int ledPin = 13;
- // 定義按鍵狀態(tài)變量初始值為0
- int buttonState = 0;
- // 對(duì)Arduino電路板或相關(guān)狀態(tài)進(jìn)行初始化方法
- void setup() {
- // 設(shè)置ledPin端口為輸出端口
- pinMode(ledPin, OUTPUT);
- // 設(shè)置buttonPin端口為輸入端口
- pinMode(buttonPin, INPUT);
- }
- // 系統(tǒng)調(diào)用,無限循環(huán)方法
- void loop() {
- // 讀取按鍵狀態(tài)
- buttonState = digitalRead(buttonPin);
- // 檢查按鍵狀態(tài),
- // 如果為HIGH,
- // 則點(diǎn)亮LED神燈,
- // 否則熄滅LED神燈。
- if (buttonState == HIGH) {
- // 點(diǎn)亮LED神燈
- digitalWrite(ledPin, HIGH);
- } else {
- // 熄滅LED神燈
- digitalWrite(ledPin, LOW);
- }
- }
復(fù)制代碼
嗯,全部代碼就是這些!所調(diào)用的方法我們應(yīng)該全都已經(jīng)見過,這里并沒有新的面孔出現(xiàn)。可能只有一點(diǎn)是新的,那就是我們這次使用的LED神燈,是Arduino UNO電路板自帶的,此盞神燈默認(rèn)對(duì)應(yīng)的針腳號(hào)為13,是不能隨意更改的,所以我們要想控制此神燈,需要向13號(hào)針腳輸入數(shù)字信號(hào),這就是為什么上面我們定義LED針腳號(hào)的時(shí)候,數(shù)字為13的原因。也就是說,只有向13號(hào)針腳輸入信號(hào),才可以控制這盞神燈的亮和滅。
圖片來源:Arduino官方IDE的文件編輯菜單選項(xiàng)
點(diǎn)擊上圖中標(biāo)有向右指向的箭頭圖標(biāo),將代碼燒入Arduino UNO電路板。成功之后,試試看點(diǎn)擊開關(guān)按鍵,此時(shí)能否點(diǎn)亮和熄滅電路板上的那盞神燈!如果燒入失敗,請(qǐng)檢查是代碼編譯錯(cuò)誤,還是將代碼燒入電路板的過程中出現(xiàn)錯(cuò)誤?如果是代碼錯(cuò)誤,請(qǐng)認(rèn)真核對(duì)代碼,如果是燒入代碼時(shí)出現(xiàn)的錯(cuò)誤,可以點(diǎn)擊工具欄中的Tools,查看Port的選項(xiàng),是否選中的是usbmodem連接模式。
總結(jié)通過這次學(xué)習(xí),我們正式的了解如何使用按鍵進(jìn)行控制。順便還了解了一盞Arduino UNO自身就有的LED神燈,對(duì)Arduino UNO電路板又增進(jìn)了一些認(rèn)識(shí)。這次編寫的代碼中,沒有出現(xiàn)新的面孔,電路方面所涉及到的只有數(shù)字信號(hào),總而言之呢,可以看作是對(duì)我們之前所學(xué)進(jìn)行了鞏固。
下期預(yù)告雖然通過這次學(xué)習(xí),我們知道了如何用按鍵開關(guān)控制其他電器元件,比如LED神燈。由于電路的一些固有特性,美中不足,此時(shí)按鍵開關(guān)還有一些小問題。下一次,我們將修復(fù)這個(gè)問題,完善按鈕開關(guān),讓其達(dá)到完美的狀態(tài)!
ohcoder的系列精彩Arduino教程:
Arduino教程-初識(shí)Arduino(包含本教程目錄):http://www.torrancerestoration.com/bbs/dpj-41334-1.html
Arduino教程-開篇:http://www.torrancerestoration.com/bbs/dpj-41335-1.html
Arduino教程-點(diǎn)亮LED神燈:http://www.torrancerestoration.com/bbs/dpj-41336-1.html
Arduino教程-讓LED神燈閃爍:http://www.torrancerestoration.com/bbs/dpj-41337-1.html
Arduino教程-讓LED神燈亮度漸變:http://www.torrancerestoration.com/bbs/dpj-41338-1.html
Arduino教程-獲取輸入數(shù)字信號(hào):http://www.torrancerestoration.com/bbs/dpj-41339-1.html
Arduino教程-獲取輸入模擬信號(hào):http://www.torrancerestoration.com/bbs/dpj-41340-1.html
Arduino教程-另一種時(shí)間延遲:http://www.torrancerestoration.com/bbs/dpj-41331-1.html
Arduino教程-按鍵開關(guān):http://www.torrancerestoration.com/bbs/dpj-41341-1.html
Arduino教程-停止抖動(dòng)!:http://www.torrancerestoration.com/bbs/dpj-41333-1.html
Arduino教程-拋棄外部電阻!:http://www.torrancerestoration.com/bbs/dpj-41332-1.html
Arduino教程-用按鍵開關(guān)計(jì)數(shù):http://www.torrancerestoration.com/bbs/dpj-41330-1.html
………后續(xù)持續(xù)更新中請(qǐng)打開:http://www.torrancerestoration.com/bbs/dpj-41334-1.html
|
|