:::

6-1 LED、按鈕接線

一、LED 接 按鈕

將UNO 上傳 Blink程式,請將pin 13 接上一顆 LED,使其閃爍。

 

試著將電路上的LED,接上按鈕,讓按鈕控制LED發亮(閃爍)

這個按鈕有甚麼問題?控制燈的明滅是用.........

 

二、按鈕訊號進入arduino pin 12

將LED改回由 pin 13 控制,按鈕訊號接進 pin 12,上拉電阻,讓pin 12收到HIGH的訊號,將pin13 訊號改成恆亮。

範例程式:

void setup() {
  Serial.begin(9600);
  pinMode(13,OUTPUT);
  pinMode(12,INPUT);
}

void loop() {
  int ButtonState = digitalRead(12);
  Serial.println(ButtonState);
  digitalWrite(13,HIGH);
//  delay(1);
}

我們利用 序列埠監控視窗,來看 pin 12 輸出的結果

若要使用,需在 void setup() 使用初始化指令

Serial.begin(9600) ;  // 9600為鮑率,之間溝通的頻率

程式裡面可以用

Serial.print( 顯示的內容 );  // 沒有換行

Serial.println( 顯示的內容 );  //有換行

亦可用序列繪圖家

 

三、用按鈕控制LED

嘗試修改程式,讓Button來控制LED明滅,需要判斷!!要用到 if 條件控制指令

指令格式:

if ( 條件式 )

{

   //敘述; 

} 

if ( 條件式 )    //條件式為真,執行敘述1

 { 

  //敘述 1;    

} 

else      //條件式為假,執行敘述2。 

{

  //敘述 2;     

} 

 

範例程式:

void setup() {
  Serial.begin(9600);
  pinMode(13,OUTPUT);
  pinMode(12,INPUT);
}

void loop() {
  int ButtonState = digitalRead(12);
  Serial.println(ButtonState);
  if (ButtonState==1)
  {
    digitalWrite(13,LOW);
  }
  else
  {
    digitalWrite(13,HIGH);
  }
//  delay(1);
}

 

四、內建上拉電阻

若使用

 或 

則啟動內建上拉電阻,可移除電路中10k歐姆的電阻。

 


搜尋