极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 778|回复: 6

新手,请大神指点,不胜感激!

[复制链接]
发表于 2020-7-9 23:19:36 | 显示全部楼层 |阅读模式
本帖最后由 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秒熄灭,等待下一次触发。
结果上电后,四个灯循环亮,不停。请大神看看程序多多指点,谢谢了。在线等,再次感谢。
回复

使用道具 举报

 楼主| 发表于 2020-7-10 06:16:11 | 显示全部楼层
顶一下,别沉了。等大神指点。
回复 支持 反对

使用道具 举报

发表于 2020-7-10 09:03:24 | 显示全部楼层
你的程序关键SR501是开关,可以检查下32秒后SR501是否已经关闭。用println(sensorValue)是否没有变“low“,应该对SR501的使用方法了解下。有可能输出有延迟作用,有可能输出需要接一个电阻。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-10 09:08:36 来自手机 | 显示全部楼层
谢谢林先生。能否详细赐教,不胜感激。
回复 支持 反对

使用道具 举报

发表于 2020-7-18 22:54:38 | 显示全部楼层
这个算是程序调试, 可以多处加 sensorValue 值串口输出, 或输出到OLED等设备
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2020-9-28 00:55 , Processed in 0.082018 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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