資料介紹
描述
你有沒有覺得需要一個背包鬧鐘?您是否曾經背著背包坐在公共區域,擔心有人會偷走它?如果是這樣,這就是適合您的項目!
使用 LSM303 羅盤/加速度計,當背包被移動時,該項目會發出警報。它利用羅盤監測方位,當有超過10度的移動時,就會發出警報。
第 1 步:連接 Arduino
像這樣將 LSM303 分線板連接到 Arduino:
- SDA-SDA
- SDL-SDL
- 車輛識別號 - 5v
- 接地 - 接地
有關詳細信息,請查看Adafruit 的指南。
像這樣將壓電蜂鳴器連接到 Arduino:
- + 到引腳 13
- - 接地
![poYBAGOSmRmABLvrAAF5k7Fbwrg778.png](https://file.elecfans.com/web2/M00/81/9B/poYBAGOSmRmABLvrAAF5k7Fbwrg778.png)
第 2 步:安裝庫
下載Adafruit_LSM303DLHC庫和Adafruit_Sensor庫作為 zip 文件。
打開 Arduino IDE。如果沒有,請在此處下載。
轉到 Sketch > Include Library > Add.ZIP Library...
![poYBAGOSmSaABbsuAAR_WSNZV2I190.png](https://file.elecfans.com/web2/M00/81/9B/poYBAGOSmSaABbsuAAR_WSNZV2I190.png)
然后,找到并選擇您之前下載的 .ZIP 文件。
![pYYBAGOSmSqAWLMdAAGgi4io9uM187.png](https://file.elecfans.com/web2/M00/82/24/pYYBAGOSmSqAWLMdAAGgi4io9uM187.png)
第 3 步:為 Arduino 編程
打開 Arduino IDE 并創建一個新文件。刪除已經存在的所有內容并粘貼以下代碼。
// Include Libraries
#include
#include
#include
#include
// Adjust the sensitivity
const int sens = 10;
// Assign a unique ID to this sensor at the same time
Adafruit_LSM303_Mag_Unified mag = Adafruit_LSM303_Mag_Unified(12345);
void setup(void)
{
//Just for Debugging
//Serial.begin(9600);
//Serial.println("Starting...");
// Setup pin 13
pinMode(13, OUTPUT);
// Initialise the sensor
if(!mag.begin())
{
// There was a problem detecting the LSM303 ... check your connections
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
while(1);
}
// Wait 5 seconds
delay(5000);
// Alert when started
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
}
// function for getting the sensor value
int getDeg(void){
// Get a new sensor event
sensors_event_t event;
mag.getEvent(&event);
float Pi = 3.14159;
// Calculate the angle of the vector y,x
float heading = int((atan2(event.magnetic.y,event.magnetic.x) * 180) / Pi);
// Normalize to 0-360
if (heading < 0)
{
heading = 360 + heading;
}
return heading;
}
void loop(void)
{
// get sensor values
int oldDeg = getDeg();
delay(1000);
int newDeg = getDeg();
if (newDeg < (oldDeg-sens) && oldDeg != 0 && newDeg != 0) {
// sound the alarm
digitalWrite(13, HIGH);
// Just for debugging
//Serial.println("Triggered");
//Serial.println("");
}else if (newDeg > (oldDeg+sens) && oldDeg!= 0 && newDeg != 0) {
// sound the alarm
digitalWrite(13, HIGH);
// Just for debugging
//Serial.println("Triggered");
//Serial.println("");
}
// Just for debugging
//Serial.print("New:");
//Serial.println(newDeg);
//Serial.print("Old:");
//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 毫米音頻插孔發揮作用的地方。使用 6.35 毫米插孔可提高安全性,而不是大多數人在耳機上使用的 3.5 毫米插孔。但是,如果您有鍵控開關或其他您想使用的開關,請隨意使用。
無論如何,要添加鑰匙,請在電池和直流桶形插孔之間連接開關/鑰匙。
![poYBAGOSmS6ALSNOAABSB2_kpSw249.jpg](https://file.elecfans.com/web2/M00/81/9B/poYBAGOSmS6ALSNOAABSB2_kpSw249.jpg)
如果您有其中之一,只需切斷其中一根電線,必要時添加延長線,然后添加開關。就我而言,我有一個接線盒筒形插孔并使用它進行接線。由于我不太關心安全性,我的鑰匙只是一個簡單的撥動開關,但你可以發揮創意。使用簧片開關和磁鐵、RFID,甚至智能手機應用程序!
第6步:安裝它!
恭喜!您現在有了一個帶鑰匙的功能齊全的鬧鐘。您現在所要做的就是將它安裝在您的背包中。在側面切一個孔用于蜂鳴器,一個用于鑰匙孔。我使用了扎帶,但可以使用更永久的解決方案。確保傳感器的安裝與地面稍微平行,并且蜂鳴器上的孔沒有被阻塞。
![poYBAGOSmWaAFT70AA8r-oXiDSY829.jpg](https://file.elecfans.com/web2/M00/81/9B/poYBAGOSmWaAFT70AA8r-oXiDSY829.jpg)
更進一步
此警報不僅限于背包。將它添加到門、餅干罐、冰箱或任何您想保護的東西上。可能性是無止境!
- 電子羅盤磁場傳感器模塊資料(含產品說明書、示例程序) 17次下載
- 三軸電子羅盤芯片AK8963數據手冊 21次下載
- 電子鬧鐘源碼文件下載 11次下載
- 使用陀螺儀更新傾角測量和電子羅盤的詳細資料說明 9次下載
- 使用51單片機進行鬧鐘制作的程序免費下載
- 如何使用STM32設計四軸飛行器資料合集包括了程序,原理圖和羅盤計算 94次下載
- 背包問題的DNA計算 3次下載
- 背包問題的螞蟻優化算法 7次下載
- RTC鬧鐘喚醒實驗 19次下載
- 基于labview鬧鐘的設計 0次下載
- 電子羅盤的方位角計算公式
- 多功能鬧鐘原理圖
- 一種基于多背包的密碼算法
- 車用磁電子羅盤的研制
- 背包問題在硬幣拋擲協議上的研究
- PNI電子羅盤-TCM-XB 安裝及測試校準的簡要說明 440次閱讀
- 鬧鐘的ESD整改案例 833次閱讀
- CubeMX配置RTC實現日歷和鬧鐘實驗 1965次閱讀
- 安全管理電路提供全方位監測,確保系統的安全性 561次閱讀
- 構建一個很酷數字羅盤的教程分享 7936次閱讀
- 基于樹莓派3B實現智能鬧鐘的設計方案 3294次閱讀
- 簡單實用的便攜式太陽能背包改造方案 2279次閱讀
- 微雪電子三軸電子羅盤指南針介紹 2239次閱讀
- digilent三軸數字羅盤介紹 3060次閱讀
- digilentPmodCMPS:三軸數字羅盤簡介 2675次閱讀
- EDA實現鬧鐘鈴聲設計 2004次閱讀
- 量子羅盤引領導航二次技術革命 3293次閱讀
- STM32實現對RTC鬧鐘喚醒的設計 1.4w次閱讀
- 在智能手機地圖里能夠精確定位的電子羅盤 7661次閱讀
- 如何正確判斷無人機指向故障?讓電子羅盤遠離磁干擾 8029次閱讀
下載排行
本周
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 3PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 4dsPIC33EDV64MC205電機控制開發板用戶指南
- 5.78MB | 8次下載 | 免費
- 5STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
- 6模擬電路仿真實現
- 2.94MB | 4次下載 | 免費
- 7PCB圖繪制實例操作
- 2.92MB | 2次下載 | 免費
- 8零死角玩轉STM32F103—指南者
- 26.78 MB | 1次下載 | 1 積分
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 141次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 137次下載 | 免費
- 4A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 5PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 7PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論