如何用循环记录按下按钮的次数?
我想达到的目的是;按一次开关按钮,灯亮
再按一次开关按钮,灯灭
如此重复
用for循环如何实现?
digitalRead只能有HIGH 或者LOW
怎么用数字来表示?利用循环加一。。。
新手迷茫中
引入一个变量 存储digitalRead的状态 用if判断这个变量的状态 int 循环=1;
while (循环 == 1) //无条件循环
{
//读按键
if (按键==按下)
{
灯 = 翻转( 灯 )//
}
if (需要不循环了) {循环=0} //下次while 就不执行了
} // while 会一直循环
shihaipeng04 发表于 2014-3-12 21:20 static/image/common/back.gif
int 循环=1;
while (循环 == 1) //无条件循环
{
soga其实我想说网站教程里面有
http://www.geek-workshop.com/thread-1048-1-1.html ____消失灬 发表于 2014-3-12 21:34 static/image/common/back.gif
soga其实我想说网站教程里面有
http://www.geek-workshop.com/thread-1048-1-1.html
哥们。。。我知道这个。。。但与我想达到的明显不同。。。 ____消失灬 发表于 2014-3-12 21:34 static/image/common/back.gif
soga其实我想说网站教程里面有
http://www.geek-workshop.com/thread-1048-1-1.html
我觉得楼主完全忽视了我的回复。看来和他沟通比较困难了。
哦我忘了在 灯翻转后面加一句,计数器+0.5了 哦那个发错应该发这个的 那个得稍微改一下
http://www.geek-workshop.com/thread-1983-1-1.html 你试试这个代码吧
int pbIn = 2; // 定义输入信号引脚
int ledOut = A0; // 定义输出指示灯引脚
int state = LOW; // 定义默认输入状态
void setup()
{
// 设置输入信号引脚为输入状态、输出引脚为输出状态
pinMode(pbIn, INPUT);
pinMode(ledOut, OUTPUT);
}
void loop()
{
state = digitalRead(pbIn); //读取微动开关状态
digitalWrite(ledOut, state); //把读取的状态赋予LED指示灯
}
shihaipeng04 发表于 2014-3-13 01:46 static/image/common/back.gif
我觉得楼主完全忽视了我的回复。看来和他沟通比较困难了。
哦我忘了在 灯翻转后面加一句,计数器+0.5了 ...
嘿嘿 还是给他写出来吧 int pbIn = 2; // 定义输入信号引脚
int ledOut = A0; // 定义输出指示灯引脚
int state = LOW; // 定义默认输入状态
void setup()
{
// 设置输入信号引脚为输入状态、输出引脚为输出状态
pinMode(pbIn, INPUT);
pinMode(ledOut, OUTPUT);
}
int counter=0;//记录次数
byte m=0;//暂存状态
void loop()
{
state = digitalRead(pbIn); //读取微动开关状态
if(state==1){//按下按钮
if(m==0){
digitalWrite(ledOut, HIGH); //点亮
m=1;
}else{
digitalWrite(ledOut, LOW); //灭
m=0;
}
counter++;//记录按钮次数
delay(500);
}
} int count = 0;
void setup ()
{
pinMode(4,INPUT);
pinMode(13,OUTPUT);
}
void loop()
{
int n =digitalRead(4);
if (n==HIGH)
{
delay(1000);
digitalWrite(13,HIGH);
delay(5000);
digitalWrite(13,LOW);
count++;
} shihaipeng04 发表于 2014-3-13 01:46 static/image/common/back.gif
我觉得楼主完全忽视了我的回复。看来和他沟通比较困难了。
哦我忘了在 灯翻转后面加一句,计数器+0.5了 ...
不是...只不过似乎用循环很麻烦。。。 enzotim 发表于 2014-3-13 23:56 static/image/common/back.gif
不是...只不过似乎用循环很麻烦。。。
这也不应该用循环啊,循环的过程里不知道人什么时候会按下按钮,也许1秒,也许1年,程序怎么循环呢?这应该是事件驱动。面向对象都喊了10几年了,这才刚把goto给消灭掉。任重道远啊。 shihaipeng04 发表于 2014-3-14 10:44 static/image/common/back.gif
这也不应该用循环啊,循环的过程里不知道人什么时候会按下按钮,也许1秒,也许1年,程序怎么循环呢?这应 ...
只是太业余了,总有新手的
页:
[1]