將UNO 上傳 Blink程式,請將pin 13 接上一顆 LED,使其閃爍。
試著將電路上的LED,接上按鈕,讓按鈕控制LED發亮(閃爍)
這個按鈕有甚麼問題?控制燈的明滅是用.........
將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( 顯示的內容 ); //有換行
亦可用序列繪圖家
嘗試修改程式,讓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歐姆的電阻。