機電一體化課程設(shè)計--智能魚缸設(shè)計_第1頁
已閱讀1頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  機電一體化課程設(shè)計</b></p><p><b>  說明書</b></p><p>  題目: 智能魚缸設(shè)計 </p><p>  班級: 機電一體化11-9班 </p><p><b>  組長: </b></p>&

2、lt;p><b>  組員: </b></p><p><b> ?。ò雌匆粝群笈判颍?lt;/b></p><p>  二〇一四 年 十 月 </p><p><b>  摘 要</b></p><p>  隨著社會的發(fā)展和人們生活質(zhì)量的提高,越來越多的人喜歡飼養(yǎng)觀賞魚。

3、但如果由于某些原因忽視了對觀賞魚的照顧,觀賞魚則有可能因饑餓或魚缸內(nèi)生態(tài)環(huán)境變壞而死亡。因此,設(shè)計一款智能魚缸系統(tǒng)是非常必要的。</p><p>  本文設(shè)計了一款基于單片機的智能魚缸系統(tǒng)。本設(shè)計選用Arduino UNO單片機作為自動喂養(yǎng)系統(tǒng)的控制核心,用傳感器采集魚缸內(nèi)的環(huán)境參數(shù)。經(jīng)數(shù)據(jù)處理后,單片機向各執(zhí)行機構(gòu)傳送控制信號,實現(xiàn)自動喂食和對魚缸內(nèi)溫度、水位等環(huán)境因素的自動控制,從而為觀賞魚創(chuàng)造一個良好的生存

4、環(huán)境。本設(shè)計采用了模塊化的設(shè)計方法,主要包括主控芯片模塊、喂食器模塊、溫度控制模塊、水位控制模塊和換水模塊。本設(shè)計集眾多功能于一身,具有結(jié)構(gòu)小巧,操作簡便,成本低廉等優(yōu)點,可以廣泛應(yīng)用于觀賞魚的飼養(yǎng)。</p><p>  關(guān)鍵詞:自動喂食器結(jié)構(gòu);單片機;傳感器;自動控制;驅(qū)動電路;C語言</p><p><b>  目 錄 </b></p><

5、;p><b>  摘 要I</b></p><p><b>  目 錄II</b></p><p><b>  第一章 緒 論1</b></p><p>  1.1 研究目的1</p><p>  1.2國內(nèi)外研究現(xiàn)狀1</p><p&

6、gt;  1.3研究的主要內(nèi)容和目標(biāo)1</p><p>  第二章 模塊方案選擇與論證2</p><p><b>  2.1硬件框圖2</b></p><p>  2.2主控芯片模塊2</p><p>  2.3溫度測量模塊3</p><p>  2.4水位檢測模塊3</p>

7、;<p>  2.5喂食器模塊3</p><p><b>  2.6換水模塊4</b></p><p><b>  2.7顯示模塊5</b></p><p>  第三章 各模塊的具體設(shè)計7</p><p><b>  3.1控制模塊7</b></p

8、><p>  3.2溫度測量模塊7</p><p>  3.3水位檢測模塊8</p><p><b>  3.4電機模塊9</b></p><p>  3.5喂食器模塊12</p><p>  3.6顯示模塊14</p><p>  第四章 系統(tǒng)原理圖15</

9、p><p>  第五章 結(jié) 論17</p><p>  5.1設(shè)計總結(jié)17</p><p><b>  5.2創(chuàng)新點17</b></p><p><b>  參考文獻17</b></p><p>  附錄

10、 18</p><p><b>  緒 論</b></p><p><b>  1.1 研究目的</b></p><p>  隨著社會的發(fā)展和人們生活質(zhì)量的提高,越來越多的人喜歡飼養(yǎng)觀賞魚。它在美化我們生活環(huán)境的同時,給我們帶來了視覺上的美感和身心享受。但人們不

11、可能每時每刻都控制好魚類的生活環(huán)境,如果由于某些原因長時間忽視了對觀賞魚的照料,觀賞魚則有可能因饑餓或生態(tài)環(huán)境變壞而死亡。因此,設(shè)計一款智能魚缸系統(tǒng)是非常必要的。</p><p>  1.2 國內(nèi)外研究現(xiàn)狀</p><p>  目前市場上的魚缸系統(tǒng)功能比較分散,往往只能實現(xiàn)某個功能,如過濾功能,增氧功能,加熱功能等,而且大多需要人工操作,自動化程度不高。喂食器部分主要采用以定時電路為控制核

12、心的單次間歇式喂養(yǎng)系統(tǒng),喂食器每次喂食都需要重新設(shè)定,且定時不準(zhǔn)確,投料不均勻,可靠性差,喂食與間歇時間設(shè)置不合理,易浪費餌料,這些都無法滿足觀賞魚自動喂養(yǎng)的功能要求。倘若同時安裝各種功能不同的設(shè)備,又會使系統(tǒng)結(jié)構(gòu)復(fù)雜,增加成本,影響美觀,而且也缺乏彼此功能的協(xié)調(diào)性。</p><p>  現(xiàn)在越來越多的人們開始注重生活環(huán)境的改善,水族箱便進入了人們的視線,許多賓館、展會、寫字樓等都擺上了水族箱來美化環(huán)境,應(yīng)用于水

13、族箱的觀賞魚自動控制系統(tǒng)應(yīng)運而生,由于水族箱一般體積較大,而且該自動喂養(yǎng)系統(tǒng)嵌入在水族箱的櫥柜內(nèi),不可分離,使自動喂養(yǎng)系統(tǒng)移植性差,無法應(yīng)用于小型的觀賞魚魚缸上。智能魚缸系統(tǒng)在市場上還基本處于空白,基于這個市場空白,本文設(shè)計了基于單片機的自能魚缸系統(tǒng)。</p><p>  1.3 研究的主要內(nèi)容和目標(biāo)</p><p>  本設(shè)計選用Arduino UNO單片機作為自動喂養(yǎng)系統(tǒng)的控制核心,加

14、上外設(shè)備組成單片機最小系統(tǒng),用傳感器采集環(huán)境參數(shù),輸入單片機處理,單片機控制各執(zhí)行機構(gòu)實現(xiàn)自動喂食,水溫自動控制,水位自動控制,力求系統(tǒng)集成化高,結(jié)構(gòu)小巧,操作簡單。</p><p>  設(shè)計思路大體為:設(shè)計方案的選擇,機械結(jié)構(gòu)的設(shè)計,程序的編寫,電路設(shè)計,修改校核,撰寫說明書和總結(jié)。</p><p>  本設(shè)計所要達到的預(yù)期目標(biāo):</p><p>  1. 可以定

15、時投擲顆粒狀餌料</p><p>  2. 可以實現(xiàn)水溫的自動控制</p><p>  3. 可以實現(xiàn)水位的自動控制</p><p>  4. 可以實現(xiàn)定時換水</p><p>  5. 可以實時顯示參數(shù)設(shè)置數(shù)據(jù)</p><p>  第二章 模塊方案選擇</p><p><b>  2

16、.1 硬件框圖</b></p><p><b>  喂養(yǎng)系統(tǒng)硬件框架圖</b></p><p>  2.2主控芯片模塊</p><p>  采用Arduino UNO作為主控制芯片,該芯片有足夠的存儲空間,可以方便的在線ISP下載程序,能夠滿足該系統(tǒng)軟件的需要,該芯片提供了兩個計數(shù)器中斷,對于本作品系統(tǒng)已經(jīng)足夠,采用該芯片可以比較

17、靈活的選擇各個模塊控制芯片,能夠準(zhǔn)確的計算出時間,有很好的實時性。</p><p>  而且與傳統(tǒng)51相比有如下優(yōu)點</p><p>  (1) 學(xué)習(xí)Arduino 單片機可以完全不需要了解其內(nèi)部硬件結(jié)構(gòu)和寄存器設(shè)置,僅僅知道它的端口作用即可;可以不懂硬件知識,只要會簡單的C語言,就可用Arduino 單片機編寫程序。</p><p>  (2) Arduino 軟

18、件語言僅僅需掌握少數(shù)幾個指令,而且指令的可讀性也強,稍微懂一點C語言即可,輕松上手,快速應(yīng)用。</p><p>  (3) Arduino 的理念就是開源,軟硬件完全開放,技術(shù)上不做任何保留。針對周邊I/O設(shè)備的Arduino 編程,很多常用的I/O 設(shè)備都已經(jīng)帶有庫文件或者樣例程序,在此基礎(chǔ)上進行簡單的修改,即可編寫出比較復(fù)雜的程序,完成功能多樣化的作品。-->針對DIY,做絢麗作品.</p>

19、<p>  (4) Arduino 由于開源,也就意味著從Arduino 相關(guān)網(wǎng)站、博客,論壇里得到大量的共享資源,在共享資訊的輔助下,通過資源整合,能夠加快您創(chuàng)作作品的速度及效率。</p><p>  (5) 相對其他開發(fā)板,Arduino 及周邊產(chǎn)品相對質(zhì)廉價優(yōu),學(xué)習(xí)或創(chuàng)作成本低,重要一點是:燒錄代碼不需要燒錄器,直接用USB線就可以完成下載。-->針對所有想玩電子編程者 。</p&

20、gt;<p>  總之,Arduino編程變得簡單更人性化和直觀,沒有單片機基礎(chǔ)的人也能很快上手,是一種綜合性較強,開放性較高操作系統(tǒng)。</p><p>  2.3溫度測量模塊</p><p>  LM35 是很常用且易用的溫度傳感器元件,在元器件的應(yīng)用上也只需要一個LM35元件,只利用一個模擬接口就可以,難點在于算法上的將讀取的模擬值轉(zhuǎn)換為實際的溫度。目前,已有兩種型號的

21、LM35可以提供使用。LM35DZ輸出為0℃~100℃,而LM35CZ輸出可覆蓋-40℃~110℃,且精度更高,兩種芯片的精度都比LM35高,不過價格也稍高。結(jié)合本設(shè)計應(yīng)用,我們選擇LM35DZ即可。規(guī)格參數(shù),工作電壓:直流4~30V;工作電流:小于133μA;輸出電壓:+6V~-1.0V;輸出阻抗:1mA負載時0.1Ω;精度:0.5℃精度(在+25℃時);漏泄電流:小于60μA;比例因數(shù):線性+10.0mV/℃;非線性值:±

22、1/4℃;校準(zhǔn)方式:直接用攝氏溫度校準(zhǔn);額定使用溫度范圍:-55~+150℃。引腳說明:①電源負GND;②電源正VCC;③信號輸出S;</p><p>  2.4 水位檢測模塊</p><p>  采用投入式液位計。投入式液位計又稱為靜壓投入式液位變送器,是一種測量液位的壓力傳感器.由于液體靜壓與該液體的高度成比例,該液位計就是根據(jù)這一原理采用隔離型擴散硅敏感元件或陶瓷電容壓力敏感傳感器作

23、為測量元件,將靜壓轉(zhuǎn)換為電信號,經(jīng)過高可靠性的放大處理電路及精密溫度補償,將被測介質(zhì)的表壓或絕壓轉(zhuǎn)換為標(biāo)準(zhǔn)的電壓或電流信號。本產(chǎn)品體積小巧,使用安裝方便,直接投入水中即可測量出變送器末端到液面的液位高度。</p><p>  查資料得,應(yīng)選取YWZ-200液位計。</p><p><b>  2.5 喂食器模塊</b></p><p>  1)

24、驅(qū)動采用步進電機。步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。通俗一點講:當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(及步進角)。你可以通過控制脈沖個數(shù)來控制角位移量,從而達到準(zhǔn)確定位的目的;同時你也可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。選型MP28GA,具體參數(shù)如下:</p><p>  機械結(jié)構(gòu)采用步進電機驅(qū)動自己設(shè)計的食物儲存器里,具體設(shè)

25、計見下一章內(nèi)容。</p><p><b>  2.6換水模塊</b></p><p>  采用單片機控制電磁閥定期打開,來控制換水。</p><p>  選用直動式電磁閥。直動式電磁閥,通電時,電磁線圈產(chǎn)生電磁力把關(guān)閉件從閥座上提起,閥門打開;斷電時,電磁力消失,彈簧把關(guān)閉件壓在閥座上,閥門關(guān)閉。翻閱相關(guān)資料,選取JY2303型號,其相關(guān)參數(shù)如

26、下:尺寸,25;閥座直徑,25mm;流量系數(shù),12.0kv;流體壓力范圍0~0.8MPa</p><p><b>  2.7 顯示模塊</b></p><p>  方案1:采用七段數(shù)碼管顯示。數(shù)碼管是一類數(shù)字形式的顯示屏,通過對其不同的管腳輸入相對的電流,會使其發(fā)亮,從而顯示出數(shù)字能夠顯示時間、溫度等參數(shù)。由于它的價格便宜、使用簡單、在電器,特別是家電領(lǐng)域應(yīng)用極為廣泛

27、,但數(shù)碼管顯示屏不能顯示漢字[10]。</p><p>  方案2:采用1602LCD顯示屏。字符型液晶模塊是一種用5x7點陣圖形來顯示字符的液晶顯示器,根據(jù)顯示的容量可以分為1行16個字、2行16個字、2行20個字等等。該液晶顯示器體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧使用方便,在各種儀器儀表和低功耗應(yīng)用系統(tǒng)中應(yīng)用廣泛[11]。</p><p>  方案3:采用全彩LED顯示屏。該彩屏不

28、僅能夠顯示數(shù)字、字符而且能夠顯示圖像,性能穩(wěn)定,色彩艷麗,畫面逼真,在手機,相機等數(shù)碼產(chǎn)品中有著廣泛的應(yīng)用。但這種顯示屏相比較而言價格較貴。</p><p>  綜合設(shè)計要求,系統(tǒng)需要顯示數(shù)字、字符但不需要顯示畫面,為了節(jié)約成本我們采用方案2。</p><p>  1602LCD主要技術(shù)參數(shù):</p><p>  顯示容量為16×2個字符;芯片工作電壓為4

29、.5~5.5V;工作電流為2.0mA(5.0V);模塊最佳工作電壓為5.0V;字符尺寸為2.95×4.35(W×H)mm。</p><p>  1602液晶接口引腳定義:</p><p><b>  接口說明:</b></p><p>  1、兩組電源 一組是模塊的電源 一組是背光板的電源 一般均使用5V供電。本次試驗背光使

30、用3.3V供電也可以工作。</p><p>  2、VL是調(diào)節(jié)對比度的引腳,串聯(lián)不大于5KΩ的電位器進行調(diào)節(jié)。本次實驗使用1KΩ的電阻來設(shè)定對比度。其連接分高電位與低電位接法,本次使用低電位接法,串聯(lián)1KΩ電阻后接GND。</p><p>  3、RS 是很多液晶上都有的引腳 是命令/數(shù)據(jù)選擇引腳 該腳電平為高時表示將進行數(shù)據(jù)操作;為低時表示進行命令操作。</p><p

31、>  4、RW 也是很多液晶上都有的引腳 是讀寫選擇端 該腳電平為高是表示要對液晶進行讀操作;為低時表示要進行寫操作。</p><p>  5、E 同樣很多液晶模塊有此引腳 通常在總線上信號穩(wěn)定后給一正脈沖通知把數(shù)據(jù)讀走,在此腳為高電平的時候總線不允許變化。</p><p>  6、D0—D7 8 位雙向并行總線,用來傳送命令和數(shù)據(jù)。</p><p>  7、

32、BLA是背光源正極,BLK是背光源負極。</p><p>  1602液晶的基本操作分以下四種:</p><p><b>  各模塊的具體設(shè)計</b></p><p><b>  3.1控制模塊 </b></p><p>  上圖為Arduino的原理圖,接線為GND接地,5v接5v電壓</

33、p><p>  3.2 溫度測量模塊</p><p>  LM35 是很常用且易用的溫度傳感器元件,在元器件的應(yīng)用上也只需要一個LM35元件,只利用一個模擬接口就可以,難點在于算法上的將讀取的模擬值轉(zhuǎn)換為實際的溫度。</p><p>  與單片機的連接如圖所示:</p><p>  3.3 水位檢測模塊</p><p> 

34、 系統(tǒng)用液位計對水位進行檢測,當(dāng)魚缸中水位低于預(yù)定值時,與液位計相連的單片機會發(fā)出信號,繼電器導(dǎo)通,開關(guān)閉合,便控制電磁閥導(dǎo)通,向魚缸內(nèi)補水,當(dāng)水位達到設(shè)定值時,單片機便使電磁閥關(guān)閉,停止補水。</p><p><b>  3.4 電機模塊</b></p><p>  該步進電機空載耗電在50mA以下,帶64倍減速器,輸出力矩比較大,可以驅(qū)動重負載,極適合開發(fā)板使用。

35、步進電機驅(qū)動器是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運行的。可以通過控制脈沖個數(shù)來控制角位移量,從而達到準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速和定位的目的。 步進電動機和步進電動機驅(qū)動器構(gòu)成步進電機驅(qū)動系統(tǒng)。步進電動機驅(qū)動系統(tǒng)的性能,不但取決于步進電動機自身的性能,也

36、取決于步進電動機驅(qū)動器的優(yōu)劣。對步進電動機驅(qū)動器的研究幾乎是與步進電動機的研究同步進行的。</p><p><b>  步進電機</b></p><p>  步進電機驅(qū)動板UL2003,外形尺寸:31×35mm</p><p><b>  接線圖</b></p><p><b>

37、  補充:</b></p><p>  由于喂食器需要定時向魚缸投入飼料,為了防止因臨時斷電導(dǎo)致的定時功能失效問題,我們需要單片機可以向外部讀取時間,所以添加了DS1307。</p><p>  DS1307是一款低功耗,具有56字節(jié)非失性RAM的全BCD碼時鐘日歷實時時鐘芯片,地址和數(shù)據(jù)通過兩線雙向的串行總線的傳輸,芯片可以提供秒,分,小時等信息,每一個月的天數(shù)能自動調(diào)整。并

38、且有閏年補償功能。</p><p>  有以下特點:可對秒,時,分,每月的天數(shù),月份,每周的天數(shù)進行計數(shù),并具有閏年補償功能;計年上限2100;56字節(jié)非失性的RAM;兩線串行接口;可編程方波輸出;自動掉電檢測和切換電路;在電池備份模式下,功耗小于500nA;工業(yè)級的工作溫度: -40 到80;8腳DIP和SOIC封裝;</p><p><b>  主要參數(shù):</b>

39、</p><p>  存儲器配置:64 x 8Bit;</p><p>  電源電壓范圍:4.5V to 5.5V;</p><p>  芯片封裝類型:DIP和SOP;</p><p><b>  針腳數(shù):8;</b></p><p>  工作溫度范圍:0°C to +70°C

40、;</p><p><b>  封裝類型:DIP;</b></p><p>  工作溫度最低:0°C;</p><p>  工作溫度最高:70°C;</p><p>  中斷類型:全天時間;</p><p>  器件標(biāo)號:1307;</p><p>  

41、器件標(biāo)記:DS1307+;</p><p>  存儲器容量:56 bytes;</p><p>  存儲器類型:RAM;</p><p>  接口類型:Serial, I2C;</p><p>  時鐘頻率:32.768kHz;</p><p><b>  溫度范圍:商用;</b></p&g

42、t;<p><b>  特點:方波輸出;</b></p><p>  電壓, Vcc 最大:5V;</p><p>  電源電壓最大:5.5V;</p><p>  電源電壓 最小:4.5V</p><p><b>  類型:RTC</b></p><p>&l

43、t;b>  芯片標(biāo)號:1307</b></p><p>  表面安裝器件:通孔安裝</p><p><b>  輸出數(shù):1</b></p><p>  邏輯功能號:1307</p><p>  DS1307與Arduino的接線</p><p><b>  3.5喂食器

44、模塊</b></p><p><b>  機械結(jié)構(gòu)3d圖如下</b></p><p>  電機通過聯(lián)軸器與喂食器相連,電機轉(zhuǎn)動一周,喂食器翻轉(zhuǎn)一周,即喂食一次,通過單片機控制步進電機的轉(zhuǎn)動速度和頻率來實現(xiàn)定時喂食的功能。</p><p>  聯(lián)軸器的選用,通過查相關(guān)手冊,選用GH1-15-M聯(lián)軸器。</p><p

45、>  步進電機的選用在上文中已介紹過。</p><p>  喂食器為一個圓柱體加一個外殼,外殼內(nèi)放置食物,頂部設(shè)有蓋子用于添加食物,圓柱體的旋轉(zhuǎn)軸為轉(zhuǎn)矩輸入軸,圓柱體設(shè)有一個挖開的不同口,可以在旋轉(zhuǎn)到底部的時候?qū)⒁欢〝?shù)量的食物投入魚缸,而且能有效防止食物的卡死。</p><p>  設(shè)計尚有不足,未經(jīng)實驗驗證,只是簡單制作裝配圖。</p><p>  魚缸的整

46、體結(jié)構(gòu)如下:</p><p><b>  3.6 顯示模塊</b></p><p>  如上文中2.7所示,我們選用1602LCD實現(xiàn)系統(tǒng)數(shù)字和字符的顯示。1602液晶也叫1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。內(nèi)置128個字符的ASCII字符集字庫,可顯示兩行,每行16個字符,但不能顯示漢字或圖形,只有并行接口,無串行接口。<

47、/p><p><b>  接線圖如下:</b></p><p><b>  第四章 原理圖</b></p><p>  (大圖見打印的圖紙中)</p><p><b>  系統(tǒng)電路原理圖</b></p><p>  ULN2003APG驅(qū)動芯片原理圖<

48、/p><p><b>  液位計機械圖</b></p><p><b>  顯示部分電路圖</b></p><p><b>  第五章 結(jié) 論</b></p><p><b>  5.1 設(shè)計總結(jié)</b></p><p><b&g

49、t;  創(chuàng)新點</b></p><p>  (1)單片機控制,智能化程度高。(2)恒溫控制。(3)水位控制。(4)定時換水。(5)定時喂食。(6)顯示</p><p><b>  設(shè)計不足</b></p><p> ?。?)沒有水中氧氣含量檢測裝置,不能獨立準(zhǔn)確供氧。(2)沒有無線模塊,不能遠程控制</p><p

50、>  本文所設(shè)計的智能魚缸系統(tǒng),采用單片機為控制芯片,實現(xiàn)定時定量喂食,實現(xiàn)水溫、水位的自動控制,控制水位,定時換水等。系統(tǒng)體積小,重量輕,自動化程度高,操作簡便,能夠?qū)崿F(xiàn)科學(xué)、自動喂養(yǎng),用戶可以通過按鍵選擇,設(shè)定自動喂養(yǎng)系統(tǒng)的各項工作參數(shù),從而控制喂養(yǎng)系統(tǒng)工作,易學(xué)易用,降低了人力物力成本。在程序上,本設(shè)計用C語言進行編程,采用模塊化的編程方法,各模塊間獨立程度高,避免了模塊間的相互影響,對系統(tǒng)整體進行了綜合調(diào)試,運行效果良好,

51、設(shè)計比較完善。</p><p><b>  參考文獻</b></p><p>  [1]張海萍.小小水族箱裝著大市場[N].市場報,2002-10-21.</p><p>  [2]葛華.多功能觀賞魚缸自動控制系統(tǒng)的設(shè)計[D].南京:東南大學(xué)機械工程學(xué)院,2010.05.</p><p>  [3]劉建輝.單片機智能控制

52、技術(shù)[M].北京工坊工業(yè)出版社,2007.</p><p>  [4]夏宇聞.Verilog HDL數(shù)字設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2008,6.</p><p>  [5]蘭吉昌.單片機C51完全學(xué)習(xí)手冊[M].北京:化學(xué)工業(yè)出版社,2008,10.</p><p>  [6]求是科技.單片機典型模塊設(shè)計實例導(dǎo)航第二版[M].北京人民郵電出版社,

53、2009.</p><p>  [7]雷伏容.51單片機常用模塊涉及查詢手冊[M].北京清華大學(xué)出版社,2010.</p><p>  [8]江志紅.51單片機技術(shù)與應(yīng)用系統(tǒng)開發(fā)案例精選[M].北京清華大學(xué)出版社,2008.</p><p>  [9]郭天祥.51單片機C語言教程[M].北京:電子工業(yè)出版社.2009,12.</p><p>

54、  [10]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社.2006,1.</p><p>  [11]唐繼賢.51單片機工程應(yīng)用實例[M].北京:北京航空航天大學(xué)出版社,2009,1.</p><p>  [12]Atmel Microcontroller Handbook,2001.</p><p>  [13]慧仇.手把手教你學(xué)51單片機[M].北京 電子

55、工業(yè)出版社, 2009.</p><p>  [14]譚浩強. C程序設(shè)計[M]. 北京:清華大學(xué)出版社,1991.</p><p>  [15]Clive max Maxfiled .The Designed Warrior’s Guide to FPGAs[M].Newnes,2004,6. </p><p><b>  附 錄</b>&l

56、t;/p><p><b>  編程:</b></p><p>  #include <Wire.h>//加載I2C通信協(xié)議驅(qū)動庫</p><p>  #include <DS1307.h>//加載DS1307時鐘驅(qū)動庫</p><p>  #include <Stepper.h>// 加載

57、步進電機驅(qū)動庫</p><p>  #include <LiquidCrystal_I2C.h>//加載1602液晶顯示器驅(qū)動庫</p><p>  #define STEPS 100// 設(shè)定步進電機步數(shù)</p><p>  #define outmotor 4// 設(shè)定排水電磁閥控制口</p><p>  #define in

58、motor 5// 設(shè)定進水電磁閥控制口</p><p>  Stepper stepper(STEPS, 8, 9, 10, 11);// 指定步進電機的步數(shù)與控制引腳</p><p>  int potPin = 0; //定義模擬接口0 連接LM35 溫度傳感器</p><p>  int time=0;//定義初始時間</p><p>

59、;  int oneday=000;seconds</p><p>  void setup() {</p><p><b>  //系統(tǒng)初始設(shè)置</b></p><p>  //設(shè)置各接口初始輸入輸出模式</p><p>  pinMode(13, OUTPUT);</p><p>  pinM

60、ode(outmotor, OUTPUT);</p><p>  pinMode(inmotor, OUTPUT);</p><p>  //步進電機控制模塊初始化設(shè)置</p><p>  stepper.setSpeed(30);// 將電動機的轉(zhuǎn)速設(shè)定到 30 RPMs</p><p>  //1602液晶顯示器初試設(shè)置</p>

61、;<p>  LiquidCrystal_I2C lcd(0x27,16,2);//設(shè)定1602液晶顯示器I2C地址為0x27</p><p>  //顯示模式為16字節(jié)雙行顯示</p><p>  lcd.init(); //初始化1602顯示器</p><p>  lcd.backlight();//啟用1602顯示器燈光</p>

62、<p><b>  }</b></p><p>  void loop() {</p><p><b>  // 反復(fù)運行</b></p><p><b>  //檢測到的時間</b></p><p><b>  //一天</b></p&g

63、t;<p>  Lcddisplay();//1602顯示器顯示內(nèi)容函數(shù)(未定義)</p><p>  Getbutton();//按鍵信息獲取函數(shù)(未定義)</p><p>  Systemsetup();//系統(tǒng)參數(shù)設(shè)置函數(shù)(未定義)</p><p>  time=gettime;//獲取時間,如果間隔時間大于設(shè)置的喂食時間,驅(qū)動步進電機轉(zhuǎn)<

64、/p><p><b>  //動喂食機構(gòu)</b></p><p>  if(time>=oneday){</p><p>  stepper.step(4096);}</p><p>  //LM35溫度檢測</p><p>  int val;//定義變量</p><p&g

65、t;  int dat;//定義變量</p><p><b>  int temp;</b></p><p>  val=analogRead(0);//read 0 pin temperture.</p><p>  dat=(125*val)>>8;//溫度計算公式</p><p>  if(dat<

66、;20){temp=1}else{temp=0};</p><p>  if(temp=1){digitalWrite(7, HIGH);}</p><p>  else{digitalWrite(7,LOW)};//加熱器開關(guān)檢測</p><p>  //水位檢測與閥門控制程序</p><p>  int val1;//定義變量</p

67、><p>  Int temp1;</p><p>  val1=analogRead(1);</p><p>  if(val1<xxxxx){temp1=1}</p><p>  if()val1>xxxxx{temp1=0};</p><p>  if(temp1=1){</p><p

68、>  digitalWrite(13, HIGH);}</p><p>  if(temp=0){</p><p>  digitalWrite(13, LOW);}</p><p><b>  }</b></p><p><b>  任務(wù)分工:</b></p><p>

溫馨提示

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

評論

0/150

提交評論