Arduino米思齐Mixly---声音+人体红外检测+亮度检测,模拟楼道灯
文章目录实验材料与环境【实验】人体红外检测灯1.软硬件连接2.图形化编程块3.代码块4.效果实验材料与环境硬件:Arduino、LED灯、人体红外检测器软件:Mixly IDE【实验】人体红外检测灯1.软硬件连接2.图形化编程块3.代码块4.效果...
·
实验材料与环境
硬件:Arduino、LED灯、人体红外检测器、光敏传感器、5V声音检测传感器模块
软件:Mixly IDE
【实验】模拟楼道灯
达到效果:当检测到白天时,任何时候不亮灯;当检测到暗度很黑,模拟夜晚情况时,检测到有人或声音大于某值时,灯亮起,过2秒后熄灭。在夜晚情况下,灯亮起的条件只需满足其中一个条件。
1.软硬件连接
人体红外感应模块:数据接D3号口;vcc接5V,GND对应GND
灯接D9号接口
声音检测模块:数据接A3号口;vcc接5V,GND对应GND
光敏传感器:数据接A5接口,+接5V,-对应GND
2.图形化编程块
人体红外:0是没人,1是检测到人。
声音探测我这里设为超过65就亮起。
我用手握住模拟黑暗状态的数据大约是600,所以我这里设为,当大于600时是黑夜环境,只需满足其中一个条件就能亮灯。
3.代码块
volatile int bright;
volatile boolean people;
volatile int voice;
void setup(){
pinMode(3, INPUT);
pinMode(9, OUTPUT);
Serial.begin(9600);
people = 0;
voice = 0;
bright = 0;
}
void loop(){
bright = analogRead(A5);
people = digitalRead(3);
voice = analogRead(A3);
if (bright > 600) {
if (people == 1 || voice > 65) {
digitalWrite(9,HIGH);
delay(2000);
} else {
digitalWrite(9,LOW);
}
} else {
digitalWrite(9,LOW);
}
Serial.print("光亮:");
Serial.println(bright);
Serial.print("声音:");
Serial.println(voice);
Serial.print("人体检测:");
Serial.println(people);
}
4.效果
效果我已上传到B站,欢迎指导与提问:https://www.bilibili.com/video/av73836598/
更多推荐
已为社区贡献10条内容
所有评论(0)