普通的书包没有安全警示功能,同时重要的物品担心被盗窃。在上学放学过程中,有时因为光线太暗,过往车辆不容易发现我们,很不安全,存在安全隐患,于是萌发了智能背包的想法。
智能背包可以实时监测当前的温度、环境光线强度信息,当光线暗时,它会自动打开警示灯,提醒过往车辆及行人注意安全。当我们的背包忘记关或者被打开时,它会发出报警声音,提醒我们注意安全。它具有“求救功能”,当遇到特殊情况,我们可以按下求救按键,我们的蜂鸣器会发出类似120求救信号,寻求帮助。
同时还具有超声波测距功能,当可以用它准确测量 2cm-400cm以内的距离。
智能背包可以实时监测当前的温度、环境光线强度信息,当光线暗时,它会自动打开警示灯,提醒过往车辆及行人注意安全。当我们的背包忘记关或者被打开时,它会发出报警声音,提醒我们注意安全。它具有“求救功能”,当遇到特殊情况,我们可以按下求救按键,我们的蜂鸣器会发出类似120求救信号,寻求帮助。
同时还具有超声波测距功能,当可以用它准确测量 2cm-400cm以内的距离。
步骤1 硬件连接: 将按钮、蜂鸣器、环境光线传感器、LED发光模块、液晶显示屏与DFRduino UNO主板、IO传感器扩展板进行连接。
步骤2 编写代码: 参考Mixly使用教程,结合构思,选用器材,编写程序代码,实现功能。
步骤3 模型制作: 利用卡纸等剪形状。
步骤4 安装制作: 开始装修,安装传感器,主控板,将卡纸等制作成模型。
步骤5 外观装饰: 最后用卡纸进行美化。
代码
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
volatile int delay2;
volatile int Distance;
volatile int wendu;
volatile int guangxian;
LiquidCrystal_I2C mylcd(0x20,16,2);
void sos() {
for (int i = 1; i <= 3; i = i + (1)) {
digitalWrite(4,HIGH);
delay(delay2);
digitalWrite(4,LOW);
delay(delay2);
}
delay((delay2 * 3));
for (int i = 1; i <= 3; i = i + (1)) {
digitalWrite(4,HIGH);
delay((delay2 * 3));
digitalWrite(4,LOW);
delay(delay2);
}
delay((delay2 * 3));
for (int i = 1; i <= 3; i = i + (1)) {
digitalWrite(4,HIGH);
delay(delay2);
digitalWrite(4,LOW);
delay(delay2);
}
delay((delay2 * 7));
}
float checkdistance_8_7() {
digitalWrite(8, LOW);
delayMicroseconds(2);
digitalWrite(8, HIGH);
delayMicroseconds(10);
digitalWrite(8, LOW);
float distance = pulseIn(7, HIGH) / 58.00;
delay(10);
return distance;
}
void baojing() {
for (int i = 1; i <= 10; i = i + (1)) {
digitalWrite(11,HIGH);
tone(9,950);
delay(500);
digitalWrite(11,LOW);
delay(50);
digitalWrite(11,HIGH);
tone(9,700);
delay(500);
noTone(9);
digitalWrite(11,LOW);
delay(50);
}
}
void setup(){
pinMode(4, OUTPUT);
delay2 = 20;
Distance = 0;
wendu = 0;
guangxian = 0;
pinMode(8, OUTPUT);
pinMode(7, INPUT);
mylcd.init();
mylcd.backlight();
pinMode(2, INPUT);
pinMode(10, INPUT);
pinMode(9, OUTPUT);
pinMode(11, OUTPUT);
}
void loop(){
guangxian = analogRead(A2);
wendu = (analogRead(A3) * 5) / 10.24;
Distance = checkdistance_8_7();
mylcd.clear();
mylcd.setCursor(1-1, 1-1);
mylcd.print(String("wendu:") + String(wendu));
mylcd.setCursor(1-1, 2-1);
mylcd.print(String("Dis:") + String(String(Distance) + String("cm")));
delay(1000);
if (digitalRead(2)) {
baojing();
}
if (guangxian < 500) {
sos();
}
if (digitalRead(10)) {
digitalWrite(9,HIGH);
sos();
} else {
digitalWrite(9,LOW);
}
}
硬件清单: 1、DFRduino UNO主板1块;
2、IO传感器扩展板1块;
3、按钮模块1块;
4、蜂鸣器模块1块;
5、超声波测距传感器1个;
6、环境光线传感器1个;
7、温度传感器1个;
8、红色LED发光模块1个;
9、蓝色LED发光模块1个;
10、LCD1602液晶显示屏;
11、干簧管传感器1个;
12、磁铁1个;
13、KT板、卡纸若干;
14、5V充电宝。
评论