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