• 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的交替閃爍(把這次的內容和上一篇文章的內容結合起來,我希望你能先自己思考一下,因為實在是太簡單了,但是不要因為太簡單而不動手喔).

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

  • 相关阅读:
    IP地址分类(A类 B类 C类 D类 E类)
    操作系统实六(页面置换算法之LRU)
    操作系统实验五(内存管理之动态分区分配(首次适应))
    操作系统实验四(内存管理之固定分区分配)
    CRT连接虚拟机中的linux系统(ubuntu)
    3种拨打电话的方式
    深度:ARC会导致的内存泄露
    iOS7.1Https企业证书发布方法
    iOS开发学习路线图
    iOS实例下载:使用腾讯的SDK将新浪微薄嵌入到应用中
  • 原文地址:https://www.cnblogs.com/ltozvxe/p/12230677.html
Copyright © 2020-2023  润新知