亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

背包报警

组件和用品

Arduino UNO
× 1
Adafruit 三轴加速度计+磁力计(罗盘)板 - LSM303
× 1
SparkFun 大型压电报警器 - 3kHz
× 1
9V 电池(通用)
× 1
6.35mm 母音频插孔(已切换)
可选
× 1
6.35mm 音频插头
可选
× 1
公/母跳线
× 1
9V to Barrel Jack Connector
× 1

应用和在线服务

Arduino IDE

关于这个项目

你有没有觉得需要一个背包报警器?您是否曾经背着背包坐在公共区域,害怕有人偷走它?如果是这样,这就是适合您的项目!

使用 LSM303 指南针/加速度计,该项目在背包移动时发出警报。它使用罗盘来监控方向,当有超过10度的移动时,它会发出警报。

第 1 步:连接 Arduino

像这样将 LSM303 分线板连接到 Arduino:

  • SDA - SDA
  • SDL - SDL
  • VIN - 5v
  • GND - GND

有关更多详细信息,请查看 Adafruit 的指南。

像这样将压电蜂鸣器连接到 Arduino:

  • + 到 Pin 13
  • - 接地

第 2 步:安装库

将 Adafruit_LSM303DLHC 库和 Adafruit_Sensor 库下载为 zip 文件。

打开 Arduino IDE。如果您没有,请在此处下载。

转到 Sketch> Include Library> Add.ZIP Library...

然后,找到并选择您之前下载的 .ZIP 文件。

第 3 步:对 Arduino 进行编程

打开 Arduino IDE 并创建一个新文件。删除已经存在的所有内容并粘贴以下代码。

// 包含库 #include #include #include #include // 调整灵敏度 const int sens =10;/ / 同时为该传感器分配唯一 ID Adafruit_LSM303_Mag_Unified mag =Adafruit_LSM303_Mag_Unified(12345);void setup(void) { //Just for Debugging //Serial.begin(9600); //Serial.println("开始..."); // 设置引脚 13 pinMode(13, OUTPUT); // 初始化传感器 if(!mag.begin()) { // 检测 LSM303 时出现问题 ... 检查您的连接 digitalWrite(13, HIGH);延迟(500);数字写入(13,低);延迟(500);数字写入(13,高);延迟(500);数字写入(13,低);延迟(500);同时(1); } // 等待 5 秒 delay(5000); // 启动时发出警报 digitalWrite(13, HIGH);延迟(500); digitalWrite(13, LOW);}// 获取传感器值的函数 int getDeg(void){ // 获取新的传感器事件sensors_event_t event; mag.getEvent(&event);浮动圆周率 =3.14159; // 计算向量 y,x 的角度 float Heading =int((atan2(event.magnetic.y,event.magnetic.x) * 180) / Pi); // 标准化为 0-360 if (heading <0) { Heading =360 + Heading; } return Heading;}void loop(void) { // 获取传感器值 int oldDeg =getDeg();延迟(1000); int newDeg =getDeg(); if (newDeg <(oldDeg-sens) &&oldDeg !=0 &&newDeg !=0) { // 发出警报 digitalWrite(13, HIGH); // 仅用于调试 //Serial.println("Triggered"); //Serial.println(""); }else if (newDeg> (oldDeg+sens) &&oldDeg!=0 &&newDeg !=0) { // 发出警报 digitalWrite(13, HIGH); // 仅用于调试 //Serial.println("Triggered"); //Serial.println(""); } // 仅用于调试 //Serial.print("New:"); //Serial.println(newDeg); //Serial.print("旧:"); //Serial.println(oldDeg); //Serial.println("");} 

插入您的 Arduino,然后编译并上传代码。

第 4 步:测试它!

如果你做的一切都正确,按下你的 Arduino 上的重置按钮后,你应该会听到一些哔哔声,3 秒的静音,然后是更长的哔哔声。如果您旋转 LSM303 突破口,您应该会听到警报响起。如果传感器太敏感,只需增加顶部附近代码中的“sens”变量。如果您想要更高的灵敏度,请减小“sens”变量。

如果您在 3 秒延迟之前收到 2 声长哔声,则您的接线有问题。检查所有连接。

如果它似乎不起作用,那么可能是库的名称不正确。在代码中,删除开头的“#include”语句。然后转到 Sketch> Include Library 并选择“Wire”、“Adafruit LSM303DLHC”和“Adafruit Unified Sensor”库。如果在这一切之后它仍然不起作用,请确保您附近没有任何强磁场。去另一个房间,或外面。另外,确保分线板在一定程度上与地面平行。

第 5 步:添加密钥

您现在应该有一个工作项目,只需将 9v 电池插入 Arduino 上的桶形插孔,将其安装在背包中,您就可以开始使用了。但是,每次想要布防/撤防闹钟时拔下并重新插入电池有点烦人。这就是 6.35 毫米音频插孔发挥作用的地方。与大多数人在耳机上使用的 3.5 毫米插孔不同,使用 6.35 毫米插孔可以提高安全性。但是,如果您有一个键控开关或其他想要使用的开关,请随意使用。

无论如何,要添加钥匙,请将开关/钥匙连接在电池和 DC 桶形插孔之间。

如果您有其中之一,只需剪断其中一根电线,必要时添加延长线,然后添加开关。就我而言,我有一个接线端子桶形插孔并使用它进行接线。由于我不太关心安全性,我的钥匙只是一个简单的拨动开关,但您可以发挥创意。使用簧片开关和磁铁、RFID,甚至是智能手机应用程序!

第 6 步:安装它!

恭喜!您现在有一个功能齐全的带钥匙的警报器。你现在要做的就是把它装在你的背包里。在一侧为蜂鸣器切一个孔,在钥匙孔上切一个孔。我使用了扎带,但可以使用更持久的解决方案。确保传感器的安装与地面稍微平行,并且蜂鸣器上的孔没有被阻塞。

走得更远

该警报不仅限于背包。将它添加到门、饼干罐、冰箱或任何您想要保护的地方。可能性是无止境!

代码

  • 代码
代码Arduino
Arduino 代码
// Include Libraries #include #include #include #include // 调整灵敏度 const int sens =10;//同时为这个传感器分配一个唯一的ID Adafruit_LSM303_Mag_Unified mag =Adafruit_LSM303_Mag_Unified(12345);void setup(void) { //Just for Debugging //Serial.begin(9600); //Serial.println("开始..."); // 设置引脚 13 pinMode(13, OUTPUT); // 初始化传感器 if(!mag.begin()) { // 检测 LSM303 时出现问题 ... 检查您的连接 digitalWrite(13, HIGH);延迟(500);数字写入(13,低);延迟(500);数字写入(13,高);延迟(500);数字写入(13,低);延迟(500);同时(1); } // 等待 5 秒 delay(5000); // 启动时发出警报 digitalWrite(13, HIGH);延迟(500); digitalWrite(13, LOW);}// 获取传感器值的函数 int getDeg(void){ // 获取新的传感器事件sensors_event_t event; mag.getEvent(&event);浮动圆周率 =3.14159; // 计算向量 y,x 的角度 float Heading =int((atan2(event.magnetic.y,event.magnetic.x) * 180) / Pi); // 标准化为 0-360 if (heading <0) { Heading =360 + Heading; } return Heading;}void loop(void) { // 获取传感器值 int oldDeg =getDeg();延迟(1000); int newDeg =getDeg(); if (newDeg <(oldDeg-sens) &&oldDeg !=0 &&newDeg !=0) { // 发出警报 digitalWrite(13, HIGH); //仅用于调试 //Serial.println("Triggered"); //Serial.println(""); }else if (newDeg> (oldDeg+sens) &&oldDeg!=0 &&newDeg !=0) { // 发出警报 digitalWrite(13, HIGH); //仅用于调试 //Serial.println("Triggered"); //Serial.println(""); } //仅用于调试 //Serial.print("New:"); //Serial.println(newDeg); //Serial.print("旧:"); //Serial.println(oldDeg); //Serial.println("");}

示意图

指南针:
蓝色 - SDA
黄色 - SDL
黑色 - GND
红色 - VIN

制造工艺

  1. 故障安全设计
  2. 树莓派上的 HA 中的运动传感器、警报、视频录制
  3. 带有 t cobbler plus 的 Raspberry pi 2 水报警器
  4. 移动侦测报警系统
  5. 滚动报警机器人
  6. 干渴警报植物警报
  7. Arduino 报警系统:SERENA
  8. 报警系统安全性测试
  9. 带警报、LCD 和温度的超声波传感器
  10. 带 DS1302 RTC 的简单闹钟
  11. Arduino安全和警报系统项目
  12. Haas 报警代码