您的位置:首页 > 其它

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

2017-11-08 10:32 134 查看

按键控制灯的亮灭

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);

}

}

}

以上两种方法就是这几天摸索的方法,希望对学习者有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: