資料介紹
描述
動機:
你有沒有想過你的大學宿舍有多受歡迎?無法了解房間內有多少人?擔心違反防火規范?這些問題不斷地掠過我的腦海,讓我失眠。直到我決定創建一個能夠告訴我的設備!訪客計數器是一種方便的設備,只需在進出人數時統計房間內的人數即可!您不僅可以統計您房間內的人數,還可以查看一天甚至一周內有多少人進出您的房間。
概述:
啟動時,訪客計數器需要大約 10 秒來初始化其硬件并準備就緒,在此期間會顯示加載屏幕。設備完成初始化后,三個計數器,Inside 、Entered和Exited將出現在屏幕上,設備已準備好發出隆隆聲!建議將訪客柜臺放置在距離地面至少 3 英尺的門口。定位后打開電源,設備將開始計數。當設備檢測到人時,它會開始播放提示音,一旦該人通過,提示音就會停止。如果按下按鈕,屏幕上的計數器將重置為 0。
電子設置:
主要的電子硬件組件是Pocketbeagle 、兩個 HC - SR04 超聲波傳感器、一個 Mikroe OLED C 顯示器和一個壓電元件。
- 袖珍獵犬:
對于這個設備,我在代碼中指定了我需要的所有不同引腳。為了讓設備在啟動時啟動程序,我執行了以下步驟。
sudo crontab -e
然后我一直向下滾動到底部并添加了這行代碼。我必須確保為我的 shell 腳本輸入正確的路徑,否則代碼將無法運行。
@reboot sleep 30 && sh /var/lib/cloud9/ENGI301/python/project_1/run_guest_counter.sh > /home/debian/bin/logs/cronlog 2>&1
要檢查它是否有效:
sudo reboot
-超聲波傳感器:
HC - SR04 傳感器有 4 個連接:GND、TRIG、ECHO、VCC。VCC 是為傳感器供電的 5V 輸入。TRIG 從 pocketbeagle 獲取輸出脈沖來告訴傳感器何時發出聲音信號。ECHO 是從傳感器到 pocketbeagle 的 5V 輸出,表示信號已反彈并被傳感器接收。
我嘗試了許多不同的庫和設置超聲波傳感器的方法。一種方法是手動將 GPIO 引腳指定為輸出和輸入,并創建一個函數來發送觸發器、設置定時器并在返回距離之前接收回波。此外,網上還有其他一些過時的庫,它們根本不起作用。因此,adafruit 的這個特定庫幾乎沒有給我帶來什么問題。
adafruit HC - SR04 庫有一個稱為距離的函數,它通過連接到 TRIG 的引腳發出脈沖,并測量從連接到 ECHO 的引腳讀取電壓所需的時間。
要安裝 adafruit 庫,請在 pocketbeagle 終端中輸入以下內容:
sudo pip3 install adafruit-circuitpython-hcsr04
?
-顯示:
pocketbeagle 有兩個 Mikrobus 位置,這在技術上允許 pocketbeagle 使用兩個單獨的點擊板,只需將它們插入板上的接頭即可。對于訪客柜臺,顯示屏插入“MikroElektronika Click Board 2 Position”,如下圖所示。
為了設置顯示,我遵循了這個 hackster項目的說明,演示了如何在 pocketbeagle 上使用 Mikroe Click 板。
以下是 url 中描述的步驟的縮寫版本。
首先,我必須下載名為 PB_SPI1_OLEDC_click.dtbo 的“PocketBeagle? OLED-C Click Device Tree Overlay Binary”文件(可以位于該項目的 github 存儲庫中)并將其上傳到 pocketbeagle 上的 Cloud9 文件夾。
- 然后將文件復制到 /lib/firmware 目錄
sudo cp PB-SPI1-OLEDC-CLICK.dtbo /lib/firmware/
- 接下來我必須編輯 /boot/uEnv.txt 以在啟動時使用設備樹文件。
sudo nano /boot/uEnv.txt
- 在 nano 中進行以下更改
###Additional custom capes
uboot_overlay_addr4=/lib/firmware/PB-SPI1-OLEDC-CLICK.dtbo
#uboot_overlay_addr5=/lib/firmware/.dtbo
#uboot_overlay_addr6=/lib/firmware/.dtbo
#uboot_overlay_addr7=/lib/firmware/.dtbo
- 下次重啟
sudo reboot
Hackster 項目詳細介紹了檢查驅動程序是否正確設置的進一步步驟。
為了真正能夠在顯示器上顯示圖像,我下載了 fbi (Linux Frame Buffer Image-viewer)
sudo apt-get install fbi
顯示圖像的命令是:
sudo fbi -T 1 -a NameofImage
代碼中使用了python中的os模塊,在程序中調用上述命令來改變圖像。
使用此顯示器時出現的一個獨特問題是您只能在其上顯示圖像:您不能直接發送要顯示的文本。此外,雖然顯示器的邊框應該是 96 x 96 像素,但如果您嘗試顯示正確尺寸的圖像,它會翻轉并偏離屏幕邊緣。
為了解決這些問題,我不得不使用 python 中的pillow庫。這使我能夠在精確位置手動將文本繪制到圖像上,保存圖像,然后在將圖像發送到顯示器之前翻轉圖像。
要為 python 安裝 pillow,首先必須安裝它的依賴項。實際上只需要兩個依賴項:zlib 和 libjpeg。對于這個項目,我最終在終端中使用以下代碼安裝了所有這些。
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev tcl8.6-dev tk8.6-dev python-tk
然后實際安裝枕頭:
sudo pip install pillow
最初測試庫時,我在從庫中選擇字體時遇到問題,所以我下載了“arial.ttf”文件(可以在存儲庫中找到)并將其放在與我的代碼相同的文件夾中。
有關顯示器使用的更多信息,請參見附件中的“display.py”文件。
- 壓電元件
揚聲器連接到 pwm 引腳并接收輸入信號以產生聲音。
電子,布線:
下面是設備的燒結圖:
*注意:顯示屏未顯示在上面的熔結圖上,有關顯示屏的接線說明,請參見下面的部分。
Mikroe OLED C 顯示屏:
顯示器直接插入 Click Board 2 位置的 pocketbeagle。
HC - SR04 連接:
-左傳感器:
接地 --> 接地
回聲 --> P2_4*
觸發 --> P2_2
電壓源 --> 5V
-右傳感器:
接地 --> 接地
回聲 --> P2_8*
觸發 --> P2_6
電壓源 --> 5V
*注意:ECHO 輸出電壓為 5V,但 GPIO 引腳的最大額定電壓為 3.3V,最高可處理 3.6V。我使用分壓器將電壓降至 3.5V
我最初使用分壓器設置傳感器,將電壓從 5v 拉低至 3.3v,使用兩個串聯的 1 kOhm 電阻作為 R2 和一個 1 kOhm 電阻作為 R1。但是,我注意到超聲波傳感器返回的值有些不一致。
下面是原始設置的圖片:
新的和當前的設置將電壓降至 3.5V,并將兩個傳感器分開并使它們相距更遠。
揚聲器連接:
接地 --> 接地
脈寬調制 --> P2_1
按鈕連接:
接地 --> 接地
GPIO --> P2_3*
*注意:1k 電阻至 5V,參見熔結圖
這個怎么運作:
第 1 步:將設備放置在門口
第 2 步:打開設備
第 3 步:等待加載屏幕完成并顯示計數器
第 4 步:享受吧!
問題:
測試:
目前的原型包含許多錯誤,其中大部分源于超聲波傳感器的問題。其中一個問題是,每次屏幕更新時,它都會延遲傳感器讀取聲音的返回信號,并返回距離讀數很遠的距離。另一個錯誤來源是,超聲波傳感器需要同時獲取讀數才能檢測是否有人經過,但它們不能同時獲取讀數,否則會發生干擾。因此在代碼中,傳感器一次讀取一個讀數,這意味著該設備可能會錯過路過的人。
外殼:
外殼的 CAD 模型如下所示。它包含前面的超聲波傳感器切口、頂部的屏幕切口和按鈕,以及背面的電源線切口。CAD 文件附加到項目中。不幸的是,我沒有進行實際激光切割外殼部件的最后一步。
未來的改進:
- 激光切割模型外殼,該外殼將包含設備并保持按鈕、揚聲器的功能,并且不會妨礙傳感器。
- 放棄所有連接的無焊面包板
- 修改確定 w 人是否通過設備的算法。當前的設置涉及使用一個線程不斷地從聲納中獲取值,并使用另一個線程檢查是否有東西在聲納的視線范圍內。此外,第三個線程在后臺運行,更新設備上顯示的值。
- 使用不同的傳感器,如斷光束傳感器,它不會連續發回讀數,而是簡單地檢測其路徑是否被阻塞。此外,傳感器不需要從門口的另一邊進行通信。
?
- 關于監控房間內的溫度開源分享
- 基于Arduino UNO的房間清潔機器人Roombot 1次下載
- 一種計算進出您門的人數的設備
- 使用Helium、Grid EYE和Raspberry Pi進行人數統計
- 基于51單片機的教室人數檢測
- 基于單片機的教室人數檢測系統
- 單片機-人數統計系統
- 使用51單片機實現統計展覽會4個入口參展總人數的仿真設計實例教文件 20次下載
- 如何使用結合特征圖譜學習的方法進行人數統計詳細方法說明 3次下載
- 基于嵌入式平臺人臉檢測及實時人數統計 2次下載
- 基于MATLAB的數字圖像人數統計_張建青 9次下載
- C語言教程之統計不及格的人數問題 0次下載
- 基于單片機的太陽能人數統計系統設計 101次下載
- 室內LED智能照明節能系統的設計 178次下載
- 手持式公交車收費及信息統計裝置 97次下載
- UWB室內定位系統的優勢與好處 1968次閱讀
- 漁船人員進出如何利用rfid來控制 634次閱讀
- 油浸電力變壓器民用建筑中設置的要求 1.4w次閱讀
- firefly連鎖店客流統計簡介 1420次閱讀
- 浴室內局部等電位連接圖 1.1w次閱讀
- 毫米波雷達應用于室內人員檢測的原理解析 9537次閱讀
- 多空持倉人數比的數據思路分析 1.8w次閱讀
- 二氧化碳傳感器在房間內空氣質量中的應用 1379次閱讀
- 如何從騰訊QQ游戲高性能服務器集群架構看分布式架構設計原則 4150次閱讀
- PCB抗瞬態導電性和PCB抗電磁場輻射性 3614次閱讀
- 手持式公交車信息收集收費裝置設計 1192次閱讀
- 中央空調溫控器原理 1.4w次閱讀
- 智能垃圾桶的工作原理詳解 5.6w次閱讀
- 一篇文章帶你認識“掃地機器人” 1703次閱讀
- 智能型節能飲水機制作電路圖 7264次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多