按钮控制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);
}
}