标题:
求教!Arduino如何让LED灯常亮,控制高电平保持输出时间(分钟)
[打印本页]
作者:
qqboy1978
时间:
2018-6-9 12:02
标题:
求教!Arduino如何让LED灯常亮,控制高电平保持输出时间(分钟)
求教一下,小白一枚,通过人体热释模块作个实验,就是人经过时灯亮,再经过时灯灭。能否再控制灯亮达到几分钟后不管有没有动作灯都会自动灭
#define LED 7 //定义LED引脚为7
#define BUTTON 2 //定义按钮开关引脚2
unsigned long ps=0;//定义上一次当前循环时间间隔
const long interval = 60000;//定义固定时间间隔1分钟
unsigned long cm=millis();//记录程序到此运行时间
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
if (cm-ps>=interval)
{
ps=cm;
if(LED==HIGH)
{
digitalWrite(LED,LOW);
}
}
}
else
{
digitalWrite(LED,LOW); //关闭LED
}
}
复制代码
作者:
HEIZI555
时间:
2018-6-9 16:16
这个很容易吧,用到定时器设置就行啦
作者:
qqboy1978
时间:
2018-6-9 16:52
就是不知道如何用定时器设置哈,能否给个代码参考,谢谢
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1