接口與程序課程設(shè)計(jì)Arduino_第1頁(yè)
接口與程序課程設(shè)計(jì)Arduino_第2頁(yè)
接口與程序課程設(shè)計(jì)Arduino_第3頁(yè)
接口與程序課程設(shè)計(jì)Arduino_第4頁(yè)
接口與程序課程設(shè)計(jì)Arduino_第5頁(yè)
已閱讀5頁(yè),還剩16頁(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、接口與控制課程設(shè)計(jì)基于Arduino的溫濕度測(cè)量?jī)x 指導(dǎo)教師: 紀(jì)建偉 付立思 班級(jí): 14級(jí)農(nóng)業(yè)電氣化一班 組員: 劉曉旭 徐梓桐 楊康佳信息與電氣工程學(xué)院2016年12月 目錄摘要1第一章 課程設(shè)計(jì)的基本思路2第二章 單元模塊設(shè)計(jì)信息22.1面包板22.2杜邦線32.3 DHT11數(shù)字溫濕度傳感器模塊42.4電位器62.5 1602lcd字符型液晶顯示器62.6 Arduino Uno r3 微處理器72.7色環(huán)電阻82.8 9v電源82.9 LCD引腳接線1602采用標(biāo)準(zhǔn)的16腳接口,其中:8第三章 設(shè)計(jì)程序及注釋10第四章 設(shè)計(jì)實(shí)物圖及成果展示15第五章 總結(jié)16 5.1本次設(shè)計(jì)進(jìn)程中

2、遇到的問題及解決方法16 5.2本次設(shè)計(jì)的心得體會(huì)16摘要 本次設(shè)計(jì)是基于Arduino Uno r3為控制核心,結(jié)合dht11數(shù)字溫濕度傳感器模塊、1602LCD字符型液晶顯示器的溫濕度測(cè)量?jī)x。該系統(tǒng)用于檢測(cè)空氣中的溫濕度并傳遞到LCD顯示器上。其量程溫度為050,量程濕度為20-90%RH。關(guān)鍵詞:Arduino 溫濕度測(cè)量 LCD第一章 課程設(shè)計(jì)的基本思路本次設(shè)計(jì)為實(shí)現(xiàn)對(duì)空氣中的溫濕度測(cè)量,我們計(jì)劃選用以Arduino為核心,其他模塊為基礎(chǔ),以積木式的方法搭建出整個(gè)硬件系統(tǒng)。為此我們先學(xué)習(xí)了Arduino控制板上各引腳的功能及用途,再學(xué)習(xí)溫濕度傳感器和arduino之間信息傳遞的方式,發(fā)

3、現(xiàn)dht11輸出的是數(shù)字信號(hào),Arduino可直接通過(guò)數(shù)字引腳采集傳感器輸出的溫濕度數(shù)據(jù)。最后,我們學(xué)習(xí)LCD各引腳功能,以實(shí)現(xiàn)Arduino采集的溫濕度數(shù)據(jù)信息的顯示。第二章 單元模塊設(shè)計(jì)信息 2.1面包板 面包板是由于板子上有很多小插孔,專為電子電路的無(wú)焊接實(shí)驗(yàn)設(shè)計(jì)制造的。由于各種電子元器件可根據(jù)需要隨意插入或拔出,免去了焊接,節(jié)省了電路的組裝時(shí)間,而且元件可以重復(fù)使用,所以非常適合電子電路的組裝、調(diào)試和訓(xùn)練。 面包板的得名可以追溯到真空管電路的年代,當(dāng)時(shí)的電路元器件大都體積較大, 人們通常通過(guò)螺絲和釘子將他們固定在一塊切面包用的木板上進(jìn)行連接,后來(lái)電路元器件體積越來(lái)越小,但面包板的名稱沿

4、用了下來(lái)。面包板就是有母板作為底座,并且電源接入有專用接線柱,甚至有些能夠進(jìn)行高壓實(shí)驗(yàn)的還有地線接線柱的面包實(shí)驗(yàn)板。這種板子使用起來(lái)比較方便,就是把電源直接接入接線柱,然后單面包板插入元件進(jìn)行實(shí)驗(yàn)(插元件的過(guò)程中要斷開電源)遇到多于5個(gè)元件或一組插孔插不下時(shí),就需要用面包板連接線(也叫面包線,見參考資料)把多組插孔連接起來(lái)。2.2杜邦線 是美國(guó)杜邦公司生產(chǎn)的有特殊效用的縫紉線。 電子行業(yè)杜邦線可用于實(shí)驗(yàn)板的引腳擴(kuò)展,增加實(shí)驗(yàn)項(xiàng)目等。可以非常牢靠地和插針連接,無(wú)需焊接,可以快速進(jìn)行電路試驗(yàn)。 2.3 DHT11數(shù)字溫濕度傳感器模塊DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合

5、傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性,成本低、相對(duì)濕度和溫度測(cè)量、超快響應(yīng)、抗干擾能力強(qiáng)、超長(zhǎng)的信號(hào)傳輸距離、數(shù)字信號(hào)輸出、精確校準(zhǔn)。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC 測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接??捎糜谂照{(diào)、除濕器、測(cè)試及檢測(cè)設(shè)備、消費(fèi)品、汽車、自動(dòng)控制、數(shù)據(jù)記錄器、氣象站、家電、濕度調(diào)節(jié)器、醫(yī)療、其他相關(guān)濕度檢測(cè)控制。 產(chǎn)品參數(shù): 相對(duì)濕度分辨率:16Bit 重 復(fù) 性:±1%RH 精    度:25    ±5%RH

6、 互 換 性:可完全互換 響應(yīng)時(shí)間:1/e(63%)25    6s 1m/s空氣  6s 遲    滯:<±0.3%RH 長(zhǎng)期穩(wěn)定性:<±0.5%RH/yr   溫度分辨率:16Bit 重 復(fù) 性:±0.2 量程范圍:25    ±2 響應(yīng)時(shí)間:1/e(63%)   10S   電氣特性供電:DC 3.55.5V 供電電流:測(cè)量0.3mA  待機(jī) 60A 采樣周期:次  大于2秒 &

7、#160; 引腳說(shuō)明 1、VDD  供電3.55.5V DC 2、DATA 串行數(shù)據(jù),單總線 3、NC  空腳 4、GND  接地,電源負(fù)極    本公司生產(chǎn)的濕敏電阻濕度傳感器器是采用有機(jī)高分子材料的一種新型的濕度敏感元件,具有感濕范圍寬,響應(yīng)迅速,抗污染能力強(qiáng),無(wú)需加熱清洗及長(zhǎng)期使用性能穩(wěn)定可靠等諸多特點(diǎn)。 本設(shè)計(jì)中,采用的是dht11數(shù)字溫濕度傳感器模塊,可以直插直用。 2.4電位器電位器是具有三個(gè)引出端、阻值可按某種變化規(guī)律調(diào)節(jié)的電阻元件。電位器通常由電阻體和可移動(dòng)的電刷組成。當(dāng)電刷沿電阻體移動(dòng)時(shí),在輸出端即獲得與位移量成一定關(guān)系的電阻

8、值或電壓。電位器既可作三端元件使用也可作二端元件使用。后者可視作一可變電阻器,由于它在電路中的作用是獲得與輸入電壓(外加電壓)成一定關(guān)系得輸出電壓,因此稱之為電位器。2.5 1602lcd字符型液晶顯示器1602是字符型液晶,它是16*2的顯示的。每個(gè)字符由5乘7的點(diǎn)陣組成。1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來(lái)的2條線是背光電源線。引腳說(shuō)明:VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣。 2.6 Arduino Uno r3 微處理器 Arduino是一款便捷靈活、方便上手的開源電子原型平臺(tái)。包含硬件(各種型號(hào)的Arduino板)和

9、軟件(Arduino IDE)。由一個(gè)歐洲開發(fā)團(tuán)隊(duì)于2005年冬季開發(fā)。其成員包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti。 它構(gòu)建于開放原始碼simple I/O介面版,并且具有使用類似Java、C語(yǔ)言的Processing/Wiring開發(fā)環(huán)境。主要包含兩個(gè)主要的部分:硬件部分是可以用來(lái)做電路連接的Arduino電路板;另外一個(gè)則是Arduino IDE,你的計(jì)算機(jī)中

10、的程序開發(fā)環(huán)境。你只要在IDE中編寫程序代碼,將程序上傳到Arduino電路板后,程序便會(huì)告訴Arduino電路板要做些什么了。Arduino能通過(guò)各種各樣的傳感器來(lái)感知環(huán)境,通過(guò)控制燈光、馬達(dá)和其他的裝置來(lái)反饋、影響環(huán)境。板子上的微控制器可以通過(guò)Arduino的編程語(yǔ)言來(lái)編寫程序,編譯成二進(jìn)制文件,燒錄進(jìn)微控制器。對(duì)Arduino的編程是利用 Arduino編程語(yǔ)言 (基于 Wiring)和Arduino開發(fā)環(huán)境(基于 Processing)來(lái)實(shí)現(xiàn)的。基于Arduino的項(xiàng)目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運(yùn)行的軟

11、件,他們之間進(jìn)行通信 (比如 Flash, Processing, MaxMSP)來(lái)實(shí)現(xiàn)。 2.7色環(huán)電阻色環(huán)電阻,是在電阻封裝上(即電阻表面)涂上一定顏色的色環(huán),來(lái)代表這個(gè)電阻的阻值。2.8 9v電源2.9 LCD引腳接線1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。第5腳:RW為

12、讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。第6腳:E(或EN)端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。第714腳:D0D7為8位雙向數(shù)據(jù)端。第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。LCD引腳Arduino引腳編號(hào)RS4號(hào)引腳EN5號(hào)引腳D46號(hào)引腳D57號(hào)引腳D68號(hào)引腳D79號(hào)引腳Arduino的2號(hào)引腳與DHT11 data引腳相連LCD的3號(hào)引腳與電位器相連,起對(duì)比度調(diào)節(jié)的作用LCD的15號(hào)引腳可以串聯(lián)適當(dāng)大小的電阻來(lái)調(diào)節(jié)其背光亮度 第三章 設(shè)計(jì)程序及注釋/ Example testing

13、60;sketch for various DHT humidity/temperature sensors/ Written by ladyada, public domain#include "DHT.h"#include <LiquidCrystal.h>/包含頭文件#define DHTPIN 2     / what digital p

14、in we're connected to/ Uncomment whatever type you're using!#define DHTTYPE DHT11   / DHT 11const int POT=10;const int TH=11;LiquidCrystal lcd(4,5,6,7,8,9);/用接口引腳編號(hào)初始化庫(kù)/自定義溫度標(biāo)識(shí)符byte degre

15、e8=  B00110,  B01001,  B01001,  B00110,  B00000,  B00000,  B00000,  B00000,;/#define DHTTYPE DHT22   / DHT 22  (AM2302), AM2321/#define DHTTYPE DHT21  

16、; / DHT 21 (AM2301)/ Connect pin 1 (on the left) of the sensor to +5V/ NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1/ 

17、to 3.3V instead of 5V!/ Connect pin 2 of the sensor to whatever your DHTPIN is/ Connect pin 4 (on the right) of the sensor to GROUND/ Connect a 10K re

18、sistor from pin 2 (data) to pin 1 (power) of the sensor/ Initialize DHT sensor./ Note that older versions of this library took an optional third parameter to/ t

19、weak the timings for faster processors.  This parameter is no longer needed/ as the current DHT reading algorithm adjusts itself to work on faster procs.DHT dht(DHTPIN,&#

20、160;DHTTYPE);void setup()   Serial.begin(9600);  Serial.println("DHTxx test!");  dht.begin();/設(shè)置10 11號(hào)引腳輸出5v電壓  lcd.begin(16,2);  pinMode(POT,OUTPUT);  pinMode(TH,OUTPUT);  digitalWrite(POT,HIGH); 

21、60;digitalWrite(TH,HIGH); /生成自定義字符lcd.createChar(0,degree);/在LCD上輸出一條靜態(tài)消息lcd.setCursor(0,0);lcd.print("Temp   :");lcd.setCursor(10,0);lcd.write(byte)0);lcd.setCursor(11,0);lcd.print("C");lcd.setCursor(0,1);lcd.print("Hum    :");lc

22、d.setCursor(10,1);lcd.print("%");void loop()   / Wait a few seconds between measurements.  delay(2000);  / Reading temperature or humidity takes about 250 milliseconds!  

23、/ Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)  int h = dht.readHumidity();  / Read temperature as Celsius (the default)&#

24、160; int t = dht.readTemperature();  / Read temperature as Fahrenheit (isFahrenheit = true)  float f = dht.readTemperature(true);  / Check if any reads failed and ex

25、it early (to try again).  if (isnan(h) | isnan(t) | isnan(f)     Serial.println("Failed to read from DHT sensor!");    return;    / Compute&

26、#160;heat index in Fahrenheit (the default)  float hif = puteHeatIndex(f, h);  / Compute heat index in Celsius (isFahreheit = false)  float hic = puteHeatIndex(t, h, false);  Serial.print("Humidity: ");  Serial.print(h);  Serial.print(" %t");  Serial.print("Temperature: ");  Serial.print(t);

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論