社交距离提醒 – 冠状病毒
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
应用和在线服务
|
关于这个项目
是什么?
合理地,减缓冠状病毒传播的最可靠方法是远离他人;预防胜于治疗。然而,每三十秒转身看看是否有人靠近你会很烦人。如果有一种装置可以警告他人远离您,那将会很有帮助。这就是该项目背后的目的:提醒他人与您保持 2 米的距离。它是二合一的,因为热敏电阻不仅用于增加距离测量的准确性(声速随温度变化),而且还意味着 – 通过使用按钮或触摸传感器在模式——它可以有两种模式:在有人靠近你时发出警报(模式 1)和测量温度和距离(模式 2)。测量模式在LCD上显示温度和距离。
它是如何工作的?
- Arduino 测量温度。
- 温度用于更准确地计算距离。
如果 Arduino 处于模式 1:
- 如果距离在 2m 到 1m 之间,LCD 背光灯会亮起,并且 LCD 会显示“请远离”以及此人的距离。
- 如果距离为 1m - 50cm,则 LCD 背光闪烁且 LCD 显示“远离”
- 如果距离小于 50 厘米,背光会每秒关闭和打开两次,并且 LCD 显示“远离!”
如果Arduino处于模式2,则LCD在屏幕顶部显示距离,在屏幕底部显示温度。
为了保护组件免受雨淋,我附上了半个塑料瓶,下雨时可以向上推。
它可以连接(使用两根绳子)并可以轻松地从背包底部取出。
图> 图> 图> 图> 图>触摸传感器用于在模式之间切换。
我如何构建它?
根据下面的电路图连接组件。
完成后,在名为“代码”的部分下导入库——您可以通过(假设您已打开 Arduino IDE)转到“草图”->“包含库”->“添加 .ZIP 库”来执行此操作。 ..' 并选择库(应该是 .zip 文件)。代码运行需要这两个库。
图>完成所有这些后,您可以上传下面的代码。
代码
- 代码
代码Arduino
上传到Arduino。#include#include #define trigPin 7#define echoPin 6#define buzzer 9#define背光10LiquidCrystal lcd(12, 11, 5, 4, 3 , 8);UltraSonicDistanceSensor distanceSensor(trigPin, echoPin);int tempReading;double tempK;float tempC;int rounded;int temp_round;volatile boolean patterns =0;double distance;void setup() { lcd.begin(16, 2); attachInterrupt(0, changeMode, FALLING); pinMode(2, 输入); pinMode(蜂鸣器,输出); pinMode(背光,输出);数字写入(背光,高); backlightOn();}void loop() { tempReading =analogRead(A0); tempK =log(10000.0 * ((1024.0 / tempReading - 1))); tempK =1 / (0.001129148 + (0.000234125 + (0.0000000876741 * tempK * tempK )) * tempK ); tempC =tempK - 273.15;距离 =distanceSensor.measureDistanceCm(tempC); temp_round =round(tempC);如果(模式 ==1){ 背光灯();如果(距离>=300 || 距离<=0){四舍五入=0;液晶显示器(); lcd.print("超出范围"); lcd.setCursor(0, 1); lcd.print("温度:" + String(temp_round) + " C"); } else { rounded =round(distance);液晶显示器(); lcd.print("距离:"); lcd.print(四舍五入); lcd.print("cm"); lcd.setCursor(0, 1); lcd.print("温度:" + String(temp_round) + " C"); } } else { if (distance>=300 || distance <=0) { rounded =0;液晶显示器();背光关闭(); } else { rounded =round(distance);如果(距离> =200){背光关闭();液晶显示器(); } else if (distance <=200 &&distance> 100) { backlightOn();液晶显示器(); lcd.print("请远离"); lcd.setCursor(0, 1); lcd.print("距离:"); lcd.print(四舍五入); lcd.print("cm"); } else if (distance <=100 &&distance> 50) { backlightOn();液晶显示器(); lcd.print("远离"); lcd.setCursor(0, 1); lcd.print("距离:"); lcd.print(四舍五入); lcd.print("cm");延迟(200);嗡嗡声();背光关闭();延迟(100);取消嗡嗡声();背光灯();延迟(100); } else if (distance <=50) {backlightOn();液晶显示器(); lcd.print("远离!"); lcd.setCursor(0, 1); lcd.print("距离:"); lcd.print(四舍五入); lcd.print("cm");延迟(200);嗡嗡声();背光关闭();延迟(200);取消嗡嗡声();背光灯();延迟(200);嗡嗡声();背光关闭();延迟(200);取消嗡嗡声();背光灯(); } } } delay(700);}void changeMode() { mode =!modes;}void backlightOn() { digitalWrite(backlight, HIGH);}void backlightOff() { digitalWrite(backlight, LOW);}void buzz() { digitalWrite(buzzer, HIGH);}void unbuzz() { digitalWrite(buzzer, LOW);}
arduino-lib-hc-sr04-master.zip
https://github.com/Martinsos/arduino-lib-hc-sr04LiquidCrystal.zip
https://github.com/arduino-libraries/LiquidCrystal示意图
冠状病毒_距离_WQxTcxgmYm.fzz制造工艺
- Squid Games Doll 使用 Arduino UNO
- 带有伊斯兰祈祷时间的 Arduino 时钟
- 使用 Arduino Uno 的人体检测机器人系统
- WebServerBlink 使用 Arduino Uno WiFi
- 简单的 UNO 计算器
- 使用 Arduino UNO 在 LCD TFT 屏幕上显示图像!
- 视觉的坚持
- 抗击冠状病毒:简单的洗手计时器
- 使用 Arduino Uno 控制 LED 矩阵
- 4x4x4 LED 立方体,带有 Arduino Uno 和 1sheeld
- Wi-Servo:Wi-Fi 浏览器控制的伺服电机
- 25 kHz 4 Pin PWM 风扇控制与 Arduino Uno