按鈕控制LED
材料:
- LED二極管一個
- 麪包板一塊
- 麪包線若干
- 電阻一個
- 開關一個
- Arduino板一塊(我用的是DCcduino UNO)
電路連接及效果圖:
按鈕與電阻接在麪包板上,兩端正負極分別接電源擴展插座的3.3v和GND端口,按鈕的信號線接數字擴展插座的3號端口(此端口可任意選,但要與所寫代碼對應),LED燈正極插數字擴展插座13號端口(此端口可任意選,但要與所寫代碼對應),負極插數字擴展插座GND端口。
按一下開關則L處燈和數字擴展插座13號端口處所插二極管均亮,再按一下則L處燈和數字擴展插座13號端口處所插二極管均滅。
Arduino代碼:
#define LED 13
#define BUTTON 3
int val=0;
int old_val=0;
int state=0;
void setup() {
// put your setup code here, to run once:
pinMode(LED,OUTPUT);
pinMode(BUTTON,INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
val = digitalRead(BUTTON);
if((val==HIGH)&&(old_val==LOW)){
state=1-state;
delay(10);
}
old_val = val;
if(state==1){
digitalWrite(LED,HIGH);
}else{
digitalWrite(LED,LOW);
}
}