学习总结——按下按键灯亮,再次按下按键,灯灭

来源:互联网 发布:小班美工区域观察记录 编辑:程序博客网 时间:2024/05/19 08:24

按键控制灯的亮灭

1 主要实现按键控制灯的亮灭,按键按下,灯亮,再次按下,灯灭,主要对实现的逻辑进行控制,逻辑清晰,很简单,实现的方法有两种,方法1:将按键按下的值赋值给一个变量,变量除以2的值的是基数或者偶数来确定灯亮还是灯灭,程序中设置的是变量的值除以2为0时,灯亮;变量的值除以2为1时,灯灭;程序如下:

int keypin=0;int ledpin=4;int val;int i;void setup(){  pinMode(keypin,INPUT);  pinMode(ledpin,OUTPUT);}void loop(){ val=analogRead(keypin); if(val==LOW) {   delay(1000);   if(val==LOW)   {     i++;     if(i%2==0)     {       digitalWrite(ledpin,HIGH);       delay(1000);     }     if(i%2==1)     {       digitalWrite(ledpin,LOW);       delay(1000);     }   }}}

方法2:赋初值0给i;读取按键的值,并且赋值给变量val,只要按键按下就将i的值加1,当i的值大于等于2时,将i的值强制设置为1,这样i的值只有0和1两种情况,当i为0时,灯亮;i为1时,灯灭;程序如下:

int keypin=0;
int ledpin=3;
int val;
int i=0;

void setup()
{
pinMode(ledpin,OUTPUT);
pinMode(keypin,INPUT);
}

void loop()
{
val=analogRead(keypin);
if(val==LOW)
{
i++;
if(i>=2)
{
i=0;
}
if(i=0)
{
digitalWrite(ledpin,HIGH);
delay(200);
}
if(i=1)
{
digitalWrite(ledpin,LOW);
delay(200);
}
}
}
以上两种方法就是这几天摸索的方法,希望对学习者有所帮助。