极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 224|回复: 0

澳门永利国际

[复制链接]
发表于 7 天前 | 显示全部楼层 |阅读模式
求教:用人体热释制作感应灯实验(程序为网上下载用于学习,自己添加了时间澳门永利娱乐场赌场函数),
为何设定了无动作时的等待时间如1分钟后灯无法自动熄灭,小白一枚请高手帮忙指点谢谢!程序代码如下:


#define LED 7      //定义LED引脚为7
#define BUTTON 2   //定义按钮开关引脚2
uint32_t duration=60000;//设定时间1分钟(60000毫秒)
uint32_t time;
uint32_t nowtime;
int val=0;         //变量用来储存按钮状态      
int old_val=0;    //暂存val变量的上一个时间单位
int state=0;       //0表示LED关闭,1表示打开
void setup()
{
  pinMode(LED,OUTPUT);      //设定LED引脚为输出状态
  pinMode(BUTTON,INPUT);    //设定按钮引脚为输入状态
}
void loop()
{
  val=digitalRead(BUTTON);    //读取按钮状态并储存
  if((val==HIGH)&&(old_val==LOW))    //检查按钮的变化情况
  {
    state=1-state;
    delay(40);   //延时简单抗抖动
  }
  old_val=val;   //VAL下载已经是旧的,让我们暂存一下
  if(state==1)
  {    digitalWrite(LED,HIGH); //开启LED

   nowtime=millis();

      if(millis()-nowtime>duration)
      {

        digitalWrite(LED,LOW);
      }
  }
  else
  {
    digitalWrite(LED,LOW); //关闭LED
  }

}
回复

使用道具 举报

高级模式  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2018-6-20 22:54 , Processed in 0.036702 second(s), 6 queries , File On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表