《“教室”人數(shù)檢測(cè)器》設(shè)計(jì)報(bào)告_第1頁(yè)
《“教室”人數(shù)檢測(cè)器》設(shè)計(jì)報(bào)告_第2頁(yè)
《“教室”人數(shù)檢測(cè)器》設(shè)計(jì)報(bào)告_第3頁(yè)
《“教室”人數(shù)檢測(cè)器》設(shè)計(jì)報(bào)告_第4頁(yè)
《“教室”人數(shù)檢測(cè)器》設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、文檔標(biāo)題華南理工大學(xué)第十二屆智能控制設(shè)計(jì)大賽初級(jí)組“教室”人數(shù)檢測(cè)器設(shè)計(jì)報(bào)告學(xué)院:自動(dòng)化隊(duì)名:隊(duì)長(zhǎng):隊(duì)員:隊(duì)員:摘要在規(guī)模較大的學(xué)校中,課室每天進(jìn)出人流量都比較大。一方面,同學(xué)們,有 查看并了解當(dāng)前課室人數(shù)、課室狀態(tài)、以及課程時(shí)間表的需要;另一方面,課室 的管理員,也需要對(duì)根據(jù)當(dāng)前人數(shù),課室狀態(tài)來(lái)對(duì)課室進(jìn)行管理。為了解決上述問(wèn)題,經(jīng)過(guò)對(duì)比分析了不同技術(shù)的多種計(jì)數(shù)方式,本文設(shè)計(jì)與 論證了基于紅外線光電傳感器、單片機(jī)最小系統(tǒng)的計(jì)數(shù)測(cè)量的基木方案,并為此 設(shè)計(jì)比較完善的判定方案,有效降低誤判導(dǎo)致人數(shù)偏差的可能。交互界面比較友 好,配置有基本按鍵,方便同學(xué)們實(shí)吋查看課室人數(shù),以及方便管理員進(jìn)行人數(shù) 管

2、理和課室狀態(tài)管理。同時(shí),在我們的工程中添加吋鐘模塊,以及通過(guò)藍(lán)牙模塊與電腦連接的上位 機(jī)系統(tǒng)。借此,實(shí)現(xiàn)單片機(jī)與上位機(jī)的通信,能夠顯示教室出入人數(shù)的統(tǒng)計(jì)情況, 方便管理員統(tǒng)計(jì)以及管理。我們同時(shí)設(shè)計(jì)了友好的上位機(jī)交互界面,方便管理員 實(shí)時(shí)查看進(jìn)出人數(shù)的統(tǒng)計(jì)情況,并可以對(duì)課程時(shí)間,課室狀態(tài)進(jìn)行管理,實(shí)現(xiàn)遠(yuǎn) 程操控課室狀態(tài),大大提高了效率。為了方便學(xué)牛們,對(duì)課室的實(shí)時(shí)情況進(jìn)行查詢,我們?cè)O(shè)計(jì)了一款基于藍(lán)牙連 接的安卓app可以實(shí)吋看到課室的進(jìn)岀情況,以及課室的人數(shù),方便同學(xué)找到自 習(xí)位置。為了增強(qiáng)工程的實(shí)用性,與可靠程度,我們額外拓展了斷電保護(hù)模塊我們隨后設(shè)計(jì)了工程測(cè)試方案,并記錄分析了測(cè)試數(shù)據(jù),得出

3、了測(cè)試結(jié)果。 經(jīng)過(guò)測(cè)試,光電計(jì)數(shù)器能夠穩(wěn)定的對(duì)課室人數(shù)較為準(zhǔn)確的計(jì)數(shù),并能能有效排除 干擾,基木不會(huì)出現(xiàn)誤判。與時(shí)鐘模塊配合能夠穩(wěn)定、精確記錄人進(jìn)出課室的統(tǒng) 計(jì)情況,與上位機(jī)、app較為穩(wěn)定。上位機(jī)界面簡(jiǎn)潔實(shí)用,方便查看、管理,實(shí) 時(shí)查看到進(jìn)出情況。該計(jì)數(shù)系統(tǒng)安裝方便,維護(hù)簡(jiǎn)單,工作穩(wěn)定,運(yùn)行可靠,對(duì)于學(xué)校、商場(chǎng)、 會(huì)議室等人員流動(dòng)很大的公共場(chǎng)所有很高的使用價(jià)值,方便對(duì)于人員流動(dòng)的管理 及配送、具有很高的使用價(jià)值和經(jīng)濟(jì)價(jià)值。關(guān)鍵詞:?jiǎn)纹瑱C(jī);光電傳感器;智能計(jì)數(shù)器;上位機(jī);藍(lán)牙模塊安卓appel錄摘要2一、設(shè)計(jì)任務(wù)51、設(shè)計(jì)背景及要求52、現(xiàn)存方案比較與論證5方案一:紅外對(duì)射方式光電感應(yīng)統(tǒng)計(jì)5方

4、案二:重力感應(yīng)方式6方案三: 攝像頭統(tǒng)計(jì)63、設(shè)計(jì)方案7二、設(shè)計(jì)方案論證與實(shí)現(xiàn)81)設(shè)計(jì)思想82)功能實(shí)現(xiàn)9光電傳感器簡(jiǎn)介101)顯示屏(lcd12864)11122. 顯示屏與按鍵交互2)按鍵交互123. 時(shí)鐘模塊及上位機(jī)通信1)時(shí)鐘模塊122)上位機(jī)通信(藍(lán)牙通信)134app開(kāi)發(fā)155.其他拓展創(chuàng)新151)數(shù)據(jù)斷電保護(hù)(at24c02芯片)152)雙門(mén)開(kāi)關(guān)163)藍(lán)牙模塊通信17三、系統(tǒng)軟件設(shè)計(jì)181主函數(shù)主要設(shè)計(jì)182、紅外計(jì)數(shù)感應(yīng)193、at24c02模塊讀取214、藍(lán)牙模塊225、時(shí)鐘芯片模塊226、上位機(jī)23四、測(cè)試241、對(duì)紅外開(kāi)關(guān)、按鍵、斷電保存進(jìn)行測(cè)試24五、 總結(jié)錯(cuò)誤!未

5、定義書(shū)簽。附錄25設(shè)計(jì)任務(wù)1、設(shè)計(jì)背景及要求“教室”人數(shù)檢測(cè)器設(shè)計(jì)一個(gè)安裝在公共室內(nèi)場(chǎng)所如教室(自習(xí)室,會(huì)議室)入口出口處的人數(shù)檢測(cè)器,能夠 實(shí)時(shí)檢測(cè)教室的人員出入,完成對(duì)室內(nèi)人數(shù)的統(tǒng)計(jì),監(jiān)控等功能。1. 基木要求(1) 設(shè)計(jì)檢測(cè)器,檢測(cè)教室人員進(jìn)出(檢測(cè)方法不限,盡可能簡(jiǎn)單和實(shí)用);(2) 設(shè)計(jì)良好的人機(jī)交互界面,實(shí)現(xiàn)對(duì)出入人數(shù)的統(tǒng)計(jì)情況顯示;(3) 添加按鍵以方便管理員對(duì)檢測(cè)器做簡(jiǎn)單設(shè)置(具體功能自行設(shè)計(jì))o2. 拓展要求(1) 添加吋鐘模塊,對(duì)自習(xí)室人數(shù)作分吋段檢測(cè);(2) 實(shí)現(xiàn)與上位機(jī)的通信,能夠?qū)崟r(shí)顯示教室岀入人數(shù)的統(tǒng)計(jì)情況;(3) 通過(guò)上位機(jī),可以對(duì)檢測(cè)器做簡(jiǎn)單設(shè)置;(4) 開(kāi)發(fā)手

6、機(jī)app,能夠遠(yuǎn)程查詢教室出入人數(shù)的統(tǒng)計(jì)情況;(5) 其他創(chuàng)新功能。2、現(xiàn)存方案比較與論證方案一:紅外對(duì)射方式光電感應(yīng)統(tǒng)計(jì)其主要的實(shí)現(xiàn)方式是對(duì)從紅外感應(yīng)區(qū)域經(jīng)過(guò)的人體,切斷或阻擋紅外線使其產(chǎn)生電阻變 化。通過(guò)兩個(gè)光電開(kāi)關(guān)的配合檢測(cè)出教室的人數(shù),自動(dòng)識(shí)別進(jìn)出狀態(tài)。此方案比較容易實(shí)現(xiàn), 可以在人們自由進(jìn)出門(mén)口時(shí),系統(tǒng)自動(dòng)獲取數(shù)據(jù),設(shè)備較小且安裝美觀。缺點(diǎn):其一,由于紅外光極易受到外界因素干擾,使其統(tǒng)計(jì)數(shù)據(jù)產(chǎn)生較大誤差,容易產(chǎn)生誤判 其二,對(duì)于比較寬的門(mén)多人同吋經(jīng)過(guò)的時(shí)候也容易產(chǎn)生漏數(shù)現(xiàn)象;圖1.1紅外感應(yīng)系統(tǒng)設(shè)計(jì)方案二:重力感應(yīng)方式重力感應(yīng)主要是在地板上安裝重力感應(yīng)裝置,計(jì)算當(dāng)人體踩踏過(guò)去的時(shí)候,

7、計(jì)算人數(shù)。 缺點(diǎn):其一,安裝相對(duì)要求較高、成本高其二,容易受到干擾,產(chǎn)生誤判方案三:攝像頭統(tǒng)計(jì)雙目客流統(tǒng)計(jì),使用兩個(gè)相同的攝像頭,類似人的雙眼,兩個(gè)攝像頭取得的圖像,經(jīng)過(guò) 一系列的計(jì)算,得到3d的圖像。在雙目客流中,最大的優(yōu)勢(shì)是獲取了實(shí)際場(chǎng)中的第三維信 息,就是人的高度信息,因些,只用檢測(cè)高度在米到2米z間高度圖像,使用兩個(gè)相同的 攝像頭,類似人的雙眼,兩個(gè)攝像頭取得的圖像,經(jīng)過(guò)一系列的計(jì)算,得到3d的圖像。由 人的頭部在最高位置,因些很容易就可以得到人的位置信息,而且可以排除燈光,陽(yáng)光等干 擾。缺點(diǎn):其一,難以實(shí)現(xiàn),需要涉及機(jī)器學(xué)習(xí),人臉識(shí)別方面其二,成本太高,短吋間內(nèi)難以實(shí)現(xiàn)l>vr

8、s嫁久1圖1.2攝像頭統(tǒng)計(jì)3、設(shè)計(jì)方案最終,團(tuán)隊(duì)為了完整的完成項(xiàng)目,選擇了紅外感應(yīng)的方案,并對(duì)感應(yīng)計(jì)數(shù)的程序進(jìn) 行了改良。1、設(shè)計(jì)方案論證與實(shí)現(xiàn)1光電計(jì)數(shù)器與最小系統(tǒng)1) 設(shè)計(jì)思想i)設(shè)計(jì)基本思想本文所介紹的紅外對(duì)管兩個(gè)光電傳感器,并排架設(shè),一前一后組成。當(dāng)發(fā)射管和接收管 沒(méi)有人通過(guò)(遮擋)時(shí),紅外敏感三極管由于接收到紅外發(fā)射而導(dǎo)通,輸出低電平(o. iv); 當(dāng)發(fā)射管和接收管有人通過(guò)(遮擋)時(shí),紅外敏感三極管截止,輸出高電平(1.4v)。由于單 片機(jī)外部中斷引腳接收到負(fù)跳變信號(hào)時(shí)產(chǎn)生中斷請(qǐng)求信號(hào),而傳感器組件的輸出信號(hào)為iv 的高電平,不能直接接在單片機(jī)外部中斷引腳上。為了識(shí)別人們的進(jìn)出,實(shí)

9、際中采用了兩組完全一樣的信號(hào)采集電路。教室門(mén)口內(nèi)外各安裝 一對(duì)紅外對(duì)管,每對(duì)紅外對(duì)管必須保持同一條直線上??紤]到學(xué)生的實(shí)際身高,以及門(mén)框的 實(shí)際寬度,紅外開(kāi)關(guān)的高度設(shè)立在1. 3米左右較為合適,安裝時(shí)要求兩對(duì)紅外對(duì)管存在水平 間距大約為10-15cii)(小于人體),當(dāng)人rti室外進(jìn)入室內(nèi)時(shí)或由室外離開(kāi)室內(nèi)時(shí),兩組紅外敏 感三極管輸出的脈沖信號(hào)在時(shí)問(wèn)上存在一定的先后順序,由此可識(shí)別出人們的進(jìn)出,由進(jìn)出 人數(shù)差就是室內(nèi)現(xiàn)有的人數(shù)。ii)程序設(shè)計(jì)思想對(duì)于學(xué)生進(jìn)出教室,我們認(rèn)為有如下悄況:1)沒(méi)有人經(jīng)過(guò)時(shí)。此時(shí)兩個(gè)傳感器傳至單片機(jī)均保持為高電平,不產(chǎn)生中斷信號(hào),單片機(jī)計(jì)數(shù) 維持不變。2)有人正常進(jìn)出

10、教室時(shí)。我們把人通過(guò)門(mén)分為了四個(gè)狀態(tài)。人首先觸發(fā)傳感器1,此時(shí)傳感 器2未被阻擋(如狀態(tài)一)。然后由于設(shè)計(jì)我們?cè)O(shè)計(jì)的紅外傳感器寬度小于人體厚度(約20cm), 因此同時(shí)觸發(fā)兩個(gè)傳感器(如狀態(tài)2) o人繼續(xù)往前走,傳感器1重新接收到紅外信號(hào),而此 時(shí)傳感器2仍處于被觸發(fā)態(tài)(如狀態(tài)3)。直到人離開(kāi)后,兩個(gè)傳感器均未被遮擋(如狀態(tài)四)。 我們?cè)O(shè)想必須四個(gè)狀態(tài)都實(shí)現(xiàn)方可視為一次成功通過(guò)。我們通過(guò)兩個(gè)傳感器觸發(fā),和回到初 始狀態(tài)的先后順序來(lái)判斷人員是進(jìn)或出。進(jìn)則使人數(shù)“加1 “,出則人數(shù)“減1” o同時(shí),若人觸發(fā)了傳感器,并長(zhǎng)時(shí)間停留在狀態(tài)13之間的任一個(gè),之后還是最終完成了全 部四個(gè)狀態(tài),我們的系統(tǒng)依

11、然可以視作成功計(jì)數(shù)。3)有人非正常不進(jìn)入教室。此時(shí)我們大概定義了3種不成功計(jì)數(shù)的情況。i)有人只觸發(fā)了 其中傳感器1,然后離開(kāi)了,并沒(méi)有通過(guò)教室門(mén)。(如只有狀態(tài)1后離開(kāi))ii)觸發(fā)2個(gè)傳感器之后,站在原地不動(dòng),再離開(kāi)教室門(mén)。(如行進(jìn)到狀態(tài)2后離開(kāi))iii)人停在狀態(tài)3,然后重 新離開(kāi)。紅外傳感器i狀態(tài)一狀態(tài)二圖2.1.2紅外計(jì)數(shù)系統(tǒng)人員通過(guò)示意圖2)功能實(shí)現(xiàn)i)u11pio pi1pi2pi3p mp(i) pm p(ii p(b poi poi p(b p(j7p3) p21p22p23p21p25p25p2739vcc238337s1436c(5356r rt p15 n i玄ci733i

12、i_1q1f8r 10p17intiinto321321vcc|1222r123kk1524c2141 1to2512631eavp27i卜)f28亠,y11ildnfl19y1ll18alx2c9rxd i?o /jbp p5en10resetii17rd 、r3016 ;、29a1b9c51圖2.1.2單片機(jī)最小系統(tǒng)ii)光電傳感器光電傳感器簡(jiǎn)介光電傳感器是利用光電元件作為檢測(cè)元件的傳感器。它首先把被測(cè)量的變化轉(zhuǎn)換成 光信號(hào)的變化,然后借助光電元件進(jìn)一步將光信號(hào)轉(zhuǎn)換為電信號(hào)。光電傳感器一般有光 源,光電元件,轉(zhuǎn)換電路三部分組成。光電檢測(cè)法具有精度高、反應(yīng)快、非接觸等特點(diǎn), 而且可測(cè)參數(shù)多,

13、傳感器結(jié)構(gòu)簡(jiǎn)單,形式靈活多樣。紅外發(fā)光二極管是一種把電能轉(zhuǎn)換成光能的半導(dǎo)體器件。它具有體積小、功耗低、 壽命長(zhǎng)、響應(yīng)快、機(jī)械強(qiáng)度高等優(yōu)點(diǎn),并能和集成電路相匹配。因此,廣泛的應(yīng)用于計(jì) 算機(jī)、儀器儀表的自動(dòng)控制系統(tǒng)中。光電轉(zhuǎn)換部分與單片機(jī)的連接框圖如下:圖2.1.3光電開(kāi)關(guān)與單片機(jī)得連接示意圖圖2.1.4紅外發(fā)射模塊r113)kdiiqifr2 imr3i5kc2101fu1-olliour -lfilgnd ina v+rilm567238765iddoojfi2utr4ik圖2.1.5紅外線接收電路2. 顯示屏與按鍵交互1) 顯示屏(lcd12864)lcd 12864cm §0 c

14、mo'oaon慮on ssd sp claa oma (ols)bx gsxon 00> onddngs oxs oi now9 xtos oi now圖 2.2.1 lcd12864 電路圖我們主要在顯示屏實(shí)現(xiàn)的功能有:1) 通過(guò)與時(shí)鐘芯片鏈接,現(xiàn)實(shí)顯示年月日,以及現(xiàn)實(shí)當(dāng)前準(zhǔn)確時(shí)間2) 實(shí)時(shí)顯示課室當(dāng)前人數(shù)3) 顯示上下課時(shí)間,例:華南理工大學(xué)北校上午、下午的上下課時(shí)間4) 實(shí)現(xiàn)目前課室狀態(tài)“on class”,“off class”,方便學(xué)生查看目前課室的狀態(tài)。2)按鍵交互我們主要在按鍵實(shí)現(xiàn)的功能有:1) 控制顯示屏的背景燈,方便日、衩間查看顯示屏2) 人員清零,方便安裝初始

15、化的時(shí)候,管理員的調(diào)試3) 對(duì)三頁(yè)顯示內(nèi)容的查看分別是主頁(yè)、上午上下課時(shí)間、以及下午上下課時(shí)間。3. 時(shí)鐘模塊及上位機(jī)通信1)時(shí)鐘模塊i)設(shè)計(jì)原理美國(guó)dallas公司推出的具有涓細(xì)電流充電能力的低功耗實(shí)時(shí)時(shí)蝕電路ds1302的 結(jié)構(gòu)、工作原理及其在實(shí)時(shí)顯示時(shí)間中的應(yīng)用。它可以對(duì)年、月、日、周日、時(shí)、分、 秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。主要特點(diǎn)是采用串行數(shù)振傳輸,可為掉電 保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用普通32.768khz晶振。腳功能及結(jié)構(gòu)在ds1302的引腳排列,其中vcc1為后備電源,vcc2為主電源。在主電源關(guān)閉的情況 下,也能保持時(shí)鐘的連續(xù)運(yùn)行。ds1

16、302由vcc1或vcc2兩者中的較大者供電。當(dāng)vcc2 大于 vcc1+0.2v 時(shí),vcc2 給 ds1302 供電。當(dāng) vcc2 小于 vcc1 時(shí),ds1302 由 vcc1 供電。x1和x2是振蕩源,外接32.768khz晶振。rst是復(fù)位/片選線,通過(guò)把rst輸 入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳輸。rst輸入有兩種功能:首先,irst接通控制邏 輯,允許地址/命令序列送入移位寄存器;其次,rst提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳 送手段。當(dāng)rst為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)ds1302進(jìn)行操作。如 果在傳送過(guò)程中rst置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,i/o引腳變?yōu)楦咦钁B(tài)

17、。上電 運(yùn)行時(shí),在vcc>2.5v之前,rst必須保持低電平。只有在sclk為低電平時(shí),才能將rst置為高電平。i/o為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說(shuō)明。sclk始終是輸 入端。scl retxtal> sok 面 xix2vcc1voc2-xlo4gndds13o28_|vccbatten*圖2.3.1時(shí)鐘芯片電路圖圖 2.3.2 lcd12864 實(shí)物圖2)上位機(jī)通信(藍(lán)牙通信)上位機(jī)是指可以直接發(fā)岀操控命令的計(jì)算機(jī),一般是pc/host computer/master computer/upper computer,屏幕二顯示各不中信 號(hào)變化(液壓,水位,溫度等)。

18、下位機(jī)是直接控制設(shè)備獲取設(shè)備狀況的計(jì)算機(jī),一般是單片 機(jī) single chip microcomputer/slave computer/lower computer 之類的。上位機(jī)發(fā)岀的命令首先給下位機(jī),下位機(jī)再根據(jù)此命令解釋成相應(yīng)時(shí)序信號(hào)直接控制相應(yīng)設(shè)備。下位機(jī)不時(shí)讀取設(shè)備狀 態(tài)數(shù)據(jù)(一般為模擬量),轉(zhuǎn)換成數(shù)字信號(hào)反饋給上位機(jī)。簡(jiǎn)言 之如此,實(shí)際情況千差萬(wàn)別,但萬(wàn)變不離其宗:上下位機(jī)都需要 編程,都有專門(mén)的開(kāi)發(fā)系統(tǒng)。i) 功能設(shè)計(jì)通過(guò)藍(lán)牙模塊,上位機(jī)實(shí)現(xiàn)與芯片的通信。在上位機(jī)中我們主 要讀取了實(shí)時(shí)人數(shù),以及可以準(zhǔn)確記錄人員進(jìn)出的時(shí)間統(tǒng)計(jì)情況。 為了方便管理員進(jìn)行設(shè)置,我們?cè)O(shè)計(jì)了友好的人機(jī)

19、交互界面,管理 員可以通過(guò)界面是人數(shù)清零,課程表時(shí)間的修改,上下課狀態(tài)的修 改。圖2.4.1 &2.4.2上位機(jī)程序設(shè)計(jì)設(shè)計(jì)圖、上位人機(jī)界面為了方便管理員進(jìn)行設(shè)置,我們?cè)O(shè)計(jì)了友好的人機(jī)交互界面, 管理員可以通過(guò)界面是人數(shù)清零,課程表時(shí)間的修改,上下課狀態(tài) 的修4. app開(kāi)發(fā)主要使用android studio進(jìn)行app開(kāi)發(fā),并使用藍(lán)牙模塊與手機(jī) 藍(lán)牙功能實(shí)現(xiàn)單片機(jī)與手機(jī)的數(shù)據(jù)傳輸。5.其他拓展創(chuàng)新1)數(shù)據(jù)斷電保護(hù)(at24c02芯片)為了實(shí)現(xiàn)數(shù)據(jù)在斷電以后不會(huì)丟失,方便管理員。我們?cè)黾恿藬嚯姳Wo(hù)的功能。設(shè)計(jì)原理vcciao vcc alwpa2 sclgnd sdaat24co48

20、廠r6 lobqr7 iokpl.527?645j° pl.4圖2.5.1at24c02電路圖at24c02是一個(gè)2k位串行cmos e2prom,內(nèi)部含有256個(gè)8位字節(jié),catalyst 公司的先進(jìn)cmos技術(shù)實(shí)質(zhì)上減少了器件的功耗。at24c02有一個(gè)16字節(jié)頁(yè)寫(xiě)緩沖器。 該器件通過(guò)iic總線接口進(jìn)行操作,有一個(gè)專門(mén)的寫(xiě)保護(hù)的功能。圖2.5.2系統(tǒng)斷電保護(hù)設(shè)計(jì)示意圖圖2) 雙門(mén)開(kāi)關(guān)為了更好模擬課室的現(xiàn)實(shí)情況,我們特別設(shè)計(jì)前后兩門(mén)的設(shè)計(jì),同時(shí)兩門(mén)不會(huì)干擾,更具有實(shí)際利用價(jià)值。3)藍(lán)牙模塊通信1 txd. th fd兮輸入圖2.5.3藍(lán)牙模塊實(shí)物圖藍(lán)牙模塊實(shí)現(xiàn)了與電腦上位機(jī)以及手機(jī)

21、app通信2rxd* 口他號(hào)愉也3 vin電源輸入(姒低4.5v俁v. 5vm % 10v)4.gnd:電海地5 ro:右聲追綸出6gnd按地7l0左*道岀s led led敵極,led il極啪風(fēng)克川扱vin圖2.5.4監(jiān)牙模塊實(shí)物圖和功能圖三、系統(tǒng)軟件設(shè)計(jì)1、主函數(shù)主要設(shè)計(jì)s 3.1.1主函數(shù)邏輯示意圖部分代碼int currenttime;屏幕初始化po=oxff; keystate=o; timerl _init(); init_12864();紅外模塊初始化時(shí)鐘芯片初始化記憶芯片初始化at24c02reset();記憶芯片讀數(shù)據(jù)dgn=o;write_add(o,a,);delaym

22、s(5);write_add(1,v);hongwai_init();at24c02backup_classtime();2、紅外計(jì)數(shù)感應(yīng)圖3.2.1紅外計(jì)數(shù)系統(tǒng)人員通過(guò)示意圖void detect2()uchar flag;/flag二1,前燈被擋住了/flag二2,后燈被擋住了/flag二3,前燈被擋住了然后后燈flag=o,前燈被擋住了然后前燈/flag二4,后燈被擋住了然后前flag=o,后燈被擋住了然/flag二5,前燈被擋住了然后后燈/flag二1 ,回到前燈被擋住/falg=o 空載loop:if(flag=o)if(qian=1 )flag=1 ;goto loop;if(ho

23、u=1) flag=2; if(flag=1)if(hou=1 )flag=3;goto loop;被擋住了if(qia n 二二 o)flag=o;沒(méi)被擋住 if(flag=2)if(qia門(mén)二二"flag二4;goto loop;燈被擋住了if(hou=0)flag=0;后后燈沒(méi)被擋住 if(flag=3)if(qian=0)flag=5;goto loop;被擋住了前燈沒(méi)被擋住if(hou=1)flag=1;后燈沒(méi)被擋住狀態(tài) if(flag=4)flag=6,后燈被擋住了然后前燈/flag=2 ,回到后燈被擋住前燈if(hou=0)flag=6;goto loop;被擋住了后燈

24、沒(méi)被擋住if(qian=1)flag=2;沒(méi)被擋住狀態(tài) if(flag=5) if(hou=0)flag=0;send_ on emore();num_count+;at24c02backup_ num_count();goto loop;有人進(jìn)去了if(qian=1)flag=3;if(flag=6)回到前燈后燈都被擋住狀態(tài)if(qian=o)flag=o;send_ on eless(); num_coun t-;at24c02backup_ num_co unt();goto loop;有人岀去了if(hou=1)flag=4;/回到后燈前燈都被擋住狀態(tài)3、at24c02模塊讀取void

25、 at24c02backup_num_count();備份時(shí)間void at24c02backup_classtime);上課時(shí)間從上位機(jī)改變時(shí),備份上課時(shí)間void at24c02reset();斷電再上電時(shí)候把芯片數(shù)據(jù)讀出來(lái)4、藍(lán)牙模塊藍(lán)牙模塊與上位機(jī)、app通訊void bluetooth_send(unsigned char datao);藍(lán)牙一字節(jié)發(fā)送unsigned char bluetooth_receive();藍(lán)牙接收一字節(jié)void senddata(float datao);藍(lán)牙接收數(shù)據(jù)void send_onemore();進(jìn)來(lái)一個(gè)人void send_oneless()

26、;出去一個(gè)人void send_num_count();發(fā)送人數(shù)5、時(shí)鐘芯片模塊將芯片按返回時(shí)間以整形讀取輸岀到單片機(jī)芯片上。 void read_rtc(void);/read rtc讀時(shí)間void set_rtc(void); /set rtc設(shè)定時(shí)間int gettime_4();四位整數(shù)時(shí)間(兩位小時(shí)兩位分鐘)int gettime_6();六位整數(shù)時(shí)間(兩位小時(shí)兩位分鐘兩位秒鐘)void changeclasstime(uchar mclass, int mtime);讀出extern unsigned char l_tmpdate7;的時(shí)間,格式【秒】【分】【時(shí)】【日】【月】【周】

27、【年】6、上位機(jī)% 3圖3.6.1上位機(jī)程序設(shè)計(jì)圖四、測(cè)試1、對(duì)紅外開(kāi)關(guān)、按鍵、斷電保存進(jìn)行測(cè)試圖1-4分別為“開(kāi)機(jī)” “上午課表"巧青零” “關(guān)燈'按鍵測(cè)試結(jié)果分析:功能穩(wěn)定正常。同時(shí),at24c02、時(shí)鐘芯片功能正常。2、對(duì)上位機(jī)進(jìn)行測(cè)試圖4.2.1上位機(jī)初始化圖附錄at24c02初始化1、voidatinit();2、voiddelay();3、voidstart();4、voidstop();5、voidrespons();6、voidwrite_byte(uchardate);7、uchar read_byte();8、voiddelayl (uchar x);9、

28、voidwrite_add(ucharaddress,uchar date);10x uchar read_add(uchar address);11.12.13、void at24c02backup_num_count();備份時(shí)間14、void at24c02backup_classtime();上課時(shí)間從上位機(jī)改變時(shí),備份上課時(shí)間15.void at24c02reset();斷電再上電時(shí)候把芯片數(shù)據(jù)讀出來(lái)16.億extern int classtime210;18.19.extern int classtime10;20、#endif藍(lán)牙模塊1、#ifndef bluetooth_h2、

29、#define bluetooth_h3、4、include ”include.h”5、6、藍(lán)牙初始化藍(lán)牙一字節(jié)發(fā)送藍(lán)牙接收一字節(jié)藍(lán)牙接收數(shù)據(jù)7、void bluetoothlnit();& void bluetooth_send(unsigned char datao);9xunsigned char bluetooth_receive();10x void senddata(float datao);11.進(jìn)來(lái)一個(gè)人岀去一個(gè)人發(fā)送人數(shù)12x void send_onemore();13s void send_oneless();14x void send_num_count();時(shí)

30、鐘芯片模塊void write_ds1302_byte(unsigned char temp);內(nèi)部調(diào)用void write_ds 1302( unsigned char address,unsigned char dat);內(nèi)部調(diào)用unsigned char read_ds1302 ( unsigned char address );內(nèi)部調(diào)用void read_rtc(void);/read rtc讀時(shí)間void set_rtc(void); /set rtc設(shè)定時(shí)間int gettime_4();四位整數(shù)時(shí)間(兩位小時(shí)兩位分鐘)int gettime_6();六位整數(shù)時(shí)間(兩位小時(shí)兩位分鐘

31、兩位秒鐘)void changeclasstime(uchar mclass, int mtime);extern unsigned char l_tmpdate7;讀出的時(shí)間,格式【秒】【分】【時(shí)】【日】【月】【周】【年】紅外模塊計(jì)數(shù)程序void detect2()7980 1uchar flag;81 1/falg=o 空載82 1loop:831if(flag=o)841852if(qian=1 )flag=1 ;goto loop;/flag二前燈被擋住了86 2if(hou=1) flag=2;/flag=2,后燈被擋住了87288 1if(flag=1)891902if(hou=1

32、 )flag=3;goto loop;flag=3,前燈被擋住了然后后燈被擋住了912if(qia n=0)flag=0;/flag二0,前燈被擋住了然后前燈沒(méi)被擋住922931if(flag=2)941952if(qian=1)flag=4;goto loop;flag=4,后燈被擋住了然后前燈被擋住了962if(hou=0)flag=0;/flag二0,后燈被擋住了然后后燈沒(méi)被擋住97 298 1if(flag=3)99 1100 2if(qian=0)flag=5;goto loop;/flag二5,前燈被擋住了然后后燈被擋住了前燈沒(méi)被擋住101 2jf(hou=1)flag=1;/fl

33、ag才,回到前燈被擋住后燈沒(méi)被擋住狀態(tài)102 2103 1if(f|ag=4)104 1(1052if(hou=0)flag=6;goto loop;/flag二6,后燈被擋住了然后前燈被擋住了后燈沒(méi)被擋住106 2if(qian=1)flag=2;/flag二2 ,回到后燈被擋住前燈沒(méi)被擋住狀態(tài)107 2108 1if(flag=5)109 1110 2if(hou=0)flag=0;send_onemore();num_co un t+;at24c02backup_ num_c ount();goto loop;有人進(jìn)去了111 2if(qian=1)flag=3;回到前燈后燈都被擋住狀態(tài)

34、112 2113 1if(flag=6)114 1115 2if(qia n=0)flag=0;send_o neless(); numi_coun t-; at24c02backu p_ num_c ount();goto loop;有人出去了116 2jf(hou=1)flag=4;/回到后燈前燈都被擋住狀態(tài)117 2紅外模塊void hongwai_init(); void detect2();主程序int keystate;int screenstate;sbit key4=p0a0;sbit key3=p0a1;sbit key2=p0a2;sbit key1=p0a3;sbit k

35、ey5=p0a4;sbit dgn=p0a5;人數(shù)int num_count;int loop;循環(huán)變量sbit aaa=p2a7;void timer1_init() tmod|=0x20; th1=0xfd;tl1=0xfd;tr1=1;sm0=0;sm1=1;ren=1;ea=1;es=1;int main()屏幕初始化int currenttime; po=oxff; keystate=o; timerl _init();init_12864();紅外模塊初始化 時(shí)鐘芯片初始化 記憶芯片初始化at24c02reset();記憶芯片讀數(shù)據(jù)/ set_rtc();dgn=o;write_a

36、dd(o,a,);delayms(5); write_add(1,'c,); hon gwai_init();/num _count=23;/at24c02backup_ num_count();/at24c02backup_classtime(); at24c02backup_classtime();for(loop=0;loop<10;loop+)if(classtimeloop%100>=20)classtime2loop=classtimeloop+100; classtime2loop-=20; if(classtimeloop%100<20) classt

37、ime2loop=classtimeloop+40;n um_co un t=23; scree nstate二 1; display1();while(1) if(screenstate=1) display1();/p2a5=1;/display1();/display1();/at24c02 backu p_n u m_cou nt();/for(loop=0;loop<40;loop+)/bluetooth_send(read_add(105+loop)+48);/bluetooth_send(num_count%10+48);/se nd_num_count();/detect

38、2();/if(aaa=1)/ bluetooth_send(*o');/if(p0a1=1 )num_count=30;/if(aaa=o)/ bluetooth_send(*h');detect2();/se nd_on emore();/at24c02reset();iibluetooth_send(read_add(109)+48);/bluetooth_send(read_add(110)+48);/bluetooth_send(read_add(111 )+48);/bluetooth_send(read_add(112)+48);/bluetooth_send(classtime1 /1000+48);/bluetooth_send(classtime1 %1000/100+48);/bluetooth_send(classtime1%100/10+48);/bluetooth_send(classtime1%10+48);if(keystate=0)if(key1 =

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論