回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

智能背包 简单

头像 DFHJpv8k0Om 2019.07.15 1863 0
project-image

       普通的书包没有安全警示功能,同时重要的物品担心被盗窃。在上学放学过程中,有时因为光线太暗,过往车辆不容易发现我们,很不安全,存在安全隐患,于是萌发了智能背包的想法。 
      智能背包可以实时监测当前的温度、环境光线强度信息,当光线暗时,它会自动打开警示灯,提醒过往车辆及行人注意安全。当我们的背包忘记关或者被打开时,它会发出报警声音,提醒我们注意安全。它具有“求救功能”,当遇到特殊情况,我们可以按下求救按键,我们的蜂鸣器会发出类似120求救信号,寻求帮助。 
      同时还具有超声波测距功能,当可以用它准确测量 2cm-400cm以内的距离。 

步骤1 硬件连接: 将按钮、蜂鸣器、环境光线传感器、LED发光模块、液晶显示屏与DFRduino UNO主板、IO传感器扩展板进行连接。

project-image

步骤2 编写代码: 参考Mixly使用教程,结合构思,选用器材,编写程序代码,实现功能。

project-image

步骤3 模型制作: 利用卡纸等剪形状。

project-image

步骤4 安装制作: 开始装修,安装传感器,主控板,将卡纸等制作成模型。

project-image

步骤5 外观装饰: 最后用卡纸进行美化。

project-image
代码
#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);

  }

}
project-image

硬件清单: 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充电宝。

评论

user-avatar