本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页
最热资讯


亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」
该项目是关于计算进出公共休息室的人数。这个项目的最大容量是5人。如果“可以安全进入”,它将在液晶显示屏上显示公共休息室的人数和绿色LED灯。如果房间已满,它会在液晶显示屏上显示“请稍候”,并亮起红色LED灯。如果忽略或看不到最大容量,它将通过蜂鸣器报警。当你体温大于等于38时,也会通过蜂鸣器报警。
显示发光二极管,并在技术超过容量时报警:
MLX温度传感器上升达到38°时蜂鸣器报警:
硬件组件:
原理图:
代码:
#include <LiquidCrystal.h>
#include <Wire.h>
#include <Adafruit_MLX90614.h>
int in = 15;// 传感器模拟引脚A1信号
int inpr = 16;// 传感器模拟引脚A2信号
int out = 14;//传感器模拟引脚A0信号
int outpr = 17;//传感器模拟引脚A3信号
int ppl = 0;//声明ppl false
int buzzer = 9;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
bool pplin = 0;// 假
bool pplout = 0;// 假
int temp = 0;// 温度起点
const float alert_temp = 38.0;// 报警设定点
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600);
Serial.println("B00123587 Project"); /// 串行监视器上的显示
pinMode(15, INPUT);// 传感器模拟引脚A1信号
pinMode(14, INPUT);// 传感器模拟引脚A0信号
pinMode(16, OUTPUT);// 传感器模拟引脚A2信号
pinMode(17, OUTPUT);// 传感器模拟引脚A3信号
pinMode(6, OUTPUT);//LED入口
pinMode(7, OUTPUT);//LED禁止进入
lcd.begin(16, 2);
mlx.begin();
}
void loop() {
digitalWrite(outpr, HIGH);// 模拟引脚A2传感器电源高
digitalWrite(inpr, HIGH);// 模拟引脚A3传感器电源高
pplin = digitalRead(in); //人进
pplout = digitalRead(out);//人出
if (pplin == 1){ // pplin true
ppl--;//更改值
delay(500);
}
else if (pplout == 1){//pplout true
ppl++ ;//更改值
delay(500);
}
ppl = constrain(ppl, 0, 50);//传感器范围
lcd.setCursor(0, 0);//液晶显示器要做什么
lcd.print("People In:");
lcd.setCursor(11, 0);//液晶显示器要做什么
lcd.print(ppl);
if (ppl >= 5){//入口分界点
lcd.setCursor(0, 1);//液晶显示器要做什么
lcd.print("PLEASE WAIT");
digitalWrite(6, LOW);//绿灯关
digitalWrite(7, HIGH);//红色LED亮起
}
if (ppl >=6){//pplout true
tone(buzzer,450);///HZ
delay(500);
noTone(buzzer);
delay(500);
}
if (ppl <= 4){// 进入时小于4 ok
lcd.setCursor(0, 1);// 液晶显示器要做什么
lcd.print("Safe to enter");
digitalWrite(7, LOW);//绿色led亮
digitalWrite(6, HIGH);// 红色LED熄灭
noTone(buzzer); ////
delay(500);
}
lcd.setCursor(14,0);// 温度显示部分
Serial.print(mlx.readObjectTempC());//读取传感器
Serial.println("*C");// 以摄氏度为单位打印
lcd.print(mlx.readObjectTempC());//屏幕打印温度
Serial.println();
delay(500);
temp = (mlx.readObjectTempC());
if (temp >= alert_temp){/// 蜂鸣器报警,如果大于38度
tone(buzzer,450);///HZ
delay(500);
noTone(buzzer);
delay(2000);
}
}
开启“人工智能”——贝尔金WeMo智能插座套装拆解
2014-05-23
iPhone 6 plus最专业传感器深入解析
2014-10-22
智能手机里面都装着哪些传感器?它们都记录了你的什么?
2016-04-11
NXP开发板不知道选什么,看这里就对了!
2016-07-28
盘点全球知名传感器芯片巨头Top10
2015-08-21
这套工业物联网解决方案把乐高变成了一座智慧城市
2019-06-24
[项目实录]全流程LoRaWAN开发
2019-07-22
【视频秀】用STM32和光传感器控制电机马达开关窗户
2019-06-12
一款小尺寸、高性能的智能家居设备
2019-06-21
无线传感器网络——传感器原理与应用系列课程
2019-07-24
讨论