2. 沒有按鈕的電路是沒有靈魂的

使用按鈕控制控制LED燈

1. 使用按鈕控制一個LED燈的亮滅

I. 使用代碼控制

想要通過按鈕開控制燈的亮和滅有兩種思路,第一種就是直接使用代碼來控制.我特地去檢測這個按鈕是否按下,如果按下,我就給LED燈一個高電位,讓LED燈亮起;如果檢測到按鈕沒有按下,那麼久給LED燈一個低電位,這樣LED燈就會熄滅.這個和繼電器的思想有點類似.

· 原理解釋

雖然上圖很容易看出原理,但是我還是簡單的說明一下:

當檢按鈕沒有按下的時候檢測腳通過電阻和電源相連,所以呈現高電平,但是當開關按下的時候則會直接和GND相連,變為低電平.所以我們只需要去檢測GND的電位高低就能知道按鈕是否被按下.

· 電路連接

  說明:

    1. LED一定要連電阻

    電路連接圖

這個圖有點丑,希望別介意,當然,你介意也沒用. 

· 代碼展示

  說明:

    1. 我使用檢測電位的腳為13號腳

    2. 我使用控制LED燈的腳為7號腳

    3. 根據我電路的連接,當我按下按鈕的時候為低電位,沒有按下時為高電位.

 1 /*
 2 按鈕控制LED的亮滅之一:
 3 使用代碼控制
 4 */
 5 
 6 // 按鈕的狀態,按下為LOW,沒有按下為HIGH(這是因為我的電路不小心接成這樣了)
 7 int buttonState = 0;
 8 
 9 // 初始化
10 void setup() {
11   // 控制LED的引腳為輸出引腳
12   pinMode(7, OUTPUT);
13   // 監測電位的腳為輸入引腳
14   pinMode(13, INPUT);
15 
16 }
17 
18 void loop() {
19   // 讀取按鈕的狀態
20   buttonState = digitalRead(13);
21   
22   if( buttonState == HIGH ) {
23     // 按鈕沒有按下,讓LED燈熄滅
24     digitalWrite(7, LOW);
25   } else {
26     // 按鈕按下,讓LED燈亮起
27     digitalWrite(7, HIGH);
28   }
29 
30 }

· 現象觀察

                                                         按下按鈕                  沒有按下按鈕

II. 使用硬件控制

這個就十分簡單了,和小學的自然科學課差不多,你只需要一直給LED一個高電平,然後把LED接到電路當中去就好啦.由於實在是太簡單,我連代碼都不想寫,因為說白了就只有一句digitalWrite(7, HIGH),然後你需要連對電路就可以了呀.

你問我為什麼這麼簡單還要講第一種那麼複雜的方法喔?因為醉翁之意不在酒,你自己下來慢慢品味吧.

2. 使用LED燈選擇亮起的LED燈

既然你已經會使用開關了,那麼下面我們來做一個其他的,使用開關控制兩個LED的交替閃爍(把這次的內容和上一篇文章的內容結合起來,我希望你能先自己思考一下,因為實在是太簡單了,但是不要因為太簡單而不動手喔).

答案我會公佈在下一篇文章當中.

原文地址:https://www.cnblogs.com/ltozvxe/p/12230677.html