2017年9月10日 星期日

【專題】Arduino篇:1-9 Arduino 實作「以按鈕控制LED」—異想天開

上一篇我們提到如何以序列埠控制LED,那我這篇就來教大家如何以實體按鈕來控制LED燈,你或許覺得那很簡單,直接把按鈕接在電路上就好啦,嘿嘿才沒有你想的那麼簡單勒~



簡單介紹一下基本的按鈕,你一定覺得很奇怪為什麼他有四隻接角,因為其實一開始就有些是相通的,然後按下去才跟不同的相通。

像是在沒有按下去之前,一四腳是相通的,二三腳是相通的。當按下去之後,你會發現,變成一二腳是相通的,然後三四腳是相通的。
教大家一個秘訣!!!
如果你覺得去記很麻煩,又怕弄錯,那你可以這樣做,接對角的腳位這樣,因為這樣一定不會錯!真的很實用,非常適合小編我這種懶人~
那我們這次的目的是希望透過按鈕讓Arduino來接收到不同的信號藉此控制LED燈的閃爍情況。
實作材料:
Arduino uno 一片
USB傳輸線 一條
LED燈 一顆
電阻330歐姆 一顆
按鍵開關   一個

電路圖:

因為怕電流過大,所以要接電組限流。
接著打上程式。
————————————————————————
int ledPin=13;//定義數字13接脚
int inpin=12;//定義數字12接脚
int val;//定義變量val
void setup()
{
  pinMode(ledPin,OUTPUT);//定義小燈接脚為輸出接脚
  pinMode(inpin,INPUT);//定義按鍵接脚為輸入接脚
}
void loop()
{
  val=digitalRead(inpin);//讀取數字7埠電平值賦給val
  if(val==LOW)
  {
    digitalWrite(ledPin, HIGH); //點亮LED
    delay(300);     //延時0.3            
    digitalWrite(ledPin, LOW);  //熄滅LED 
    delay(300);     // 延時0.3
    }
   else
  {
    digitalWrite(ledPin, HIGH); //點亮LED
    delay(1000);     //延時1            
    digitalWrite(ledPin, LOW);  //熄滅LED 
    delay(1000);     // 延時1
    }
}
————————————————————————
燒錄完成後,當你沒按按鈕時,LED燈會慢慢閃爍,當你按下按鈕時,LED燈將會快速地閃爍,這就代表你成功了!
多去嘗試,多去練習吧!



沒有留言:

張貼留言