Arduino小实验-按钮切换LED
本帖最后由 friskit 于 2012-11-11 17:21 编辑刚入手了Arduino,发现这玩意真是值得一折腾哈哈
做了个小东西
左右两个按钮分别控制当前亮的灯的位置。
代码如下:
#define LED_NUMBER 5 //定义LED总数量
int Left_Switch = 12; //向左切换按键引脚编号
int Right_Switch = 11; //向右切换按键引脚编号
boolean isPressed = false;//表明按钮是否被按下
int LED={3,5,7,8,10}; //每个LED的引脚
int state=0; //表示现在点亮的等的编号
void setup(){
for(int i=0;i<LED_NUMBER;i++){
pinMode(LED,OUTPUT); //初始化LEG的工作模式,是OUTPUT
}
pinMode(Left_Switch,INPUT); //初始化左按钮的工作模式,是INPUT
pinMode(Right_Switch,INPUT); //初始化右按钮的工作模式,是INPUT
digitalWrite(LED,HIGH);//写入初始状态,(编号为state的等亮)
}
void loop(){
int Right=digitalRead(Right_Switch); //读取左按钮数值
int Left=digitalRead(Left_Switch); //读取右按钮数值
if(!isPressed&&Left==HIGH){ //如果此时不是按下状态,且左按钮被按下(isPressed是为了防止按住按钮产生连续按动)
digitalWrite(LED,LOW); //把现在的灯关掉
state=(state+1)%LED_NUMBER; //算算应该哪个灯亮
digitalWrite(LED,HIGH); //点亮这个等
isPressed = true; //把现在的状态设置成已经按下状态
}
if(!isPressed&&Right==HIGH){ //这一部分刚好跟上面相反
digitalWrite(LED,LOW);
state=(state+4)%LED_NUMBER;
digitalWrite(LED,HIGH);
isPressed = true;
}
if(Left==LOW&&Right==LOW){ //如果都是低相当于没有按钮按下
isPressed=false; //置isPressed为假
}
} e,和ardroid有什么关系~~~ 海神 发表于 2012-6-4 08:08 static/image/common/back.gif
e,和ardroid有什么关系~~~
呃写错了!arduino。。。。。安卓程序员表示android说顺嘴了。。。。 不错的程序贴啊,问一下,!isPressed这个是什么意义呢? 程序没注释啊。。。。我等小白看不懂啊。。。 迷你强 发表于 2012-11-11 09:16 static/image/common/back.gif
程序没注释啊。。。。我等小白看不懂啊。。。
加上注释了…… 请问http://image.geek-workshop.com/forum/201206/02/144945rj1yzmnwymbhbnrr.png这个图什么怎么做的呀? 小菜鸟拜服大侠
int LED={3,5,7,8,10}; //每个LED的引脚 数组定义一句就完事
if(!isPressed&&Left==HIGH){//探读取防抖一次完成
} friskit 发表于 2012-6-4 21:55 static/image/common/back.gif
呃写错了!arduino。。。。。安卓程序员表示android说顺嘴了。。。。
楼主软硬皆施,好强悍! 感谢楼主分享,标记一下
页:
[1]