标题:
编一个Arduino程序,人离开3秒后,灯自动熄灭,现在想再加一个按键开关
[打印本页]
作者:
166864646883
时间:
2018-10-29 17:17
标题:
编一个Arduino程序,人离开3秒后,灯自动熄灭,现在想再加一个按键开关
int LED = 9;
int Sensor = 6;
int BUTTON=8;
unsigned long now_time ;
void setup() {
pinMode(LED, OUTPUT);
pinMode(Sensor, INPUT);
pinMode(BUTTON,INPUT);
Serial.begin(9600);
}
void loop() {
//WIFI遥控部分
while (Serial.available() > 0)
{
char val= Serial.read();
if (val == '1') {
now_time = millis();
digitalWrite(LED, HIGH);
}
if (val == '2') {
digitalWrite(LED, LOW);
}
}
//红外感应部分
if(digitalRead(Sensor) == HIGH){
now_time = millis();
}
if(millis()>(now_time+3000)){
digitalWrite(LED,LOW);
}
//开关部分
}
上面是用WIFI和红外感应控制LED灯的程序,可通过手机发送1或2控制LED灯开关,人离开3秒后,灯自动熄灭,现在想再加一个按键开关,同时也能用按键控制LED灯的开关,应该怎么加
作者:
phang
时间:
2018-10-30 13:01
好奇怪的问题
按键的话,可以扫描电平,或者通过外部中断来实现控制LED。
不会是直接问代码怎么写吧??这样伸手不好的。
作者:
wenzedong
时间:
2018-10-30 16:26
放在loop函数中,与while (Serial.available() > 0)和if(digitalRead(Sensor) == HIGH) 并列,int state = digitalRead(button); if(state == LOW){digitalWrite(LED,HIGH);}
这样应该就可以了,你试试。
我没写过arduino程序,但是看着语句功能很直观,我手头也有资料,翻了一下
按键另一端接地,当按键按下,灯亮,松开,灯灭
作者:
a1596321
时间:
2018-10-30 21:33
这个问题有点古怪,不是不帮你,是感觉没有实际意义
作者:
jj449
时间:
2018-11-1 08:46
按键按一次开,再按一次关
loop() {
..................
if (digitalRead(BUTTON) == HIGH) {
if (digitalRead(LED)==HIGH) {
}
}
作者:
jj449
时间:
2018-11-1 08:51
按一次开,再按一次关 :
bool led_on = false;
void loop() {
...............
if (digitalRead(BUTTON)==HIGH) {
if(led_on==false)
digitalWrite(LED,HIGH) ;
led_on = true ;
} else {
digitalWrite(LED,LOW) ;
led_on = false ;
}
}
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1