新手,请大神指点,不胜感激!
本帖最后由 laoxutou 于 2020-7-10 06:17 编辑const int PIRSensor = 12;
const int ledPin1 =2;
const int ledPin2 =3;
const int ledPin3 =4;
const int ledPin4 =5;
int sensorValue = 0;
void setup() {
pinMode(PIRSensor, INPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
}
void loop(){
sensorValue = digitalRead(PIRSensor);
if (sensorValue == HIGH) {
digitalWrite(ledPin1, HIGH);
delay(8000);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
delay(8000);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
delay(8000);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, HIGH);
delay(8000);
digitalWrite(ledPin4, LOW);
}
}
本想用sr501触发,4个led灯依次点亮。即红灯先亮持续8秒熄灭,然后绿灯亮8秒熄灭,蓝灯接着亮8秒熄灭,最后白灯亮8秒熄灭,等待下一次触发。
结果上电后,四个灯循环亮,不停。请大神看看程序多多指点,谢谢了。在线等,再次感谢。 顶一下,别沉了。等大神指点。 你的程序关键SR501是开关,可以检查下32秒后SR501是否已经关闭。用println(sensorValue)是否没有变“low“,应该对SR501的使用方法了解下。有可能输出有延迟作用,有可能输出需要接一个电阻。 谢谢林先生。能否详细赐教,不胜感激。 看看看看 这个算是程序调试, 可以多处加 sensorValue 值串口输出, 或输出到OLED等设备
页:
[1]