2013年5月2日 星期四

Arduino範例02:使用按鈕鍵輸入訊號控制LED燈

在準備開始一系列的練習前,先說這些範例都是Adunio內建有的,並且在網路上找到得說明的(http://coopermaa2nd.blogspot.tw/2010/12/arduino-lab2-led.html)。但照抄這些練習po上來實在沒有誠意,所以我會做一些小小的改變,至少程式碼的部分,我會嘗試一些小改變。

----------------------------------------------------------------------------------------------------

在開始前先說明Ardunio程式的架構,主要分成三部分: 
1. int                     //先宣告用要用參數
2. void setup() {} //用來跑第一輪初始值的開頭
                            //兩個大括弧”{“與”}”要分隔到不同兩行
3.void loop () {}  //用來跑無限迴圈的開頭
                           //除非是”{“ 或 ”}” 做結,否則每一行結束要用”;”做結

所以我們接下來寫的程式大概就是先宣告參數,然後用void setup () {}來跑初始要求,再用void loop () {}寫進我們要的動作。

----------------------------------------------本次範例----------------------------------------------
操作目的 
使用按鍵控制LED指的開關,當我斷路的時候,LED燈反而亮起來。

Video

接線 
1. 把LED正極(長腳)接到 Pin13, 陰極(短腳)接到 GND。
2. 把按鈕一支腳接5V的 Pin腳,另一支腳接10k電阻,電阻再接到GND。
3. 再拉一條線,從按鍵與電阻之間拉出來,接至 Pin2。
    此為下拉電阻式按鈕,若改為上拉電阻式,則效果相反。

Code

11 則留言:

  1. 請問一下,現在我要按按鍵,按一下馬達會開始轉,當馬達停了,LED燈就會亮了,那程式怎麼寫,因為不是學這個的,完全不懂,是因為要做教具所以需要

    回覆刪除
    回覆
    1. 您可以參考以下網址,把「接線」圖中的光敏電阻換成按鍵,pin 13的地方接LED燈就可以了。
      http://ming-shian.blogspot.tw/2013/05/arduniodc.html

      有關教具的部分,可以請問是給那一類小朋友的教具嗎?
      my email: b92502011@gmail.com

      刪除
  2. 是的~~請問一下馬達的線要怎麼接看不懂

    回覆刪除
  3. 請問有沒有辦法用Matrix Keypad 做複合鍵(Alt+1,Alt+2,......)

    回覆刪除
  4. 可以請問一下
    如果Button 不放的狀況下,限制led 燈只亮5秒
    這要如何寫呢?
    另外
    請問老師
    如何判斷3組輸入(2個光敏+1個開關) 同時成立才亮led 燈
    要如何寫這個判斷式呢?
    謝謝

    回覆刪除
  5. 老師請問我要用按鈕+ardunio+uln2003
    來控制步進馬達 按鈕的部分也是像你前面的輸入法
    控制馬達的部分可以輸入那個程式碼嗎

    回覆刪除
  6. 請問一下,現在我要按按鍵,按一下顯示霹靂燈,再按一次顯示廣告燈,那程式怎麼寫,

    回覆刪除
  7. 您好!我剛剛看著您的方式做後,還是有點不懂第三行變數的意思,之後我再修改了一下,把您第三行的變數 and bottonPin=digitalRead(bottonPin)拿掉,再將IF裡的換成digitalRead(bottonPin)還是可以做控制LED燈,請問這部分可以幫我做說明嗎? 謝謝!

    回覆刪除
  8. 如果要做兩個按鈕呢?

    回覆刪除
  9. 不好意思問一下 使用電腦鍵盤案R亮紅燈 案Y亮黃燈 案G亮綠燈的程式要怎麼寫?

    回覆刪除
  10. 我想請問這怎麼做:
    做4顆燈
    短按按鈕開關一下 第一顆亮
    短按按鈕開關兩下 第二顆亮
    長按按鈕開關一下 第三顆亮
    長按按鈕開關兩下 第四顆亮

    回覆刪除