欢迎来到天天文库
浏览记录
ID:41178933
大小:412.52 KB
页数:6页
时间:2019-08-18
《Arduino 教程--第三十五课 Arduino 湿度传感器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三十五课Arduino湿度传感器在本节中,我们将学习如何使用不同的传感器连接我们的Arduino板。我们将讨论以下传感器:·湿度传感器(DHT22)·温度传感器(LM35)·水位检测传感器(简单水触发器)·PIR传感器·超声波传感器·GPS湿度传感器(DHT22)DHT-22(也称为AM2302)是一个数字输出,相对湿度和温度传感器。它使用电容式湿度传感器和热敏电阻来测量周围空气,并在数据引脚上发送数字信号。在本例中,你将学习如何将此传感器与ArduinoUNO一起使用。室温和湿度将打印到串口监视器上。DHT-22传感器连接很简单。左边的第一个引脚为3-5V电源,第二个引脚连接
2、到数据输入引脚,最右边的引脚接地。技术细节·电源 -3-5V·最大电流 -2.5mA·湿度 -0-100%,精确度为2-5%·温度 -40至80°C,精确度为±0.5°C必需的组件你将需要以下组件:·1×Breadboard面包板·1×ArduinoUnoR3·1×DHT22·1×10K欧姆电阻程序按照电路图连接面包板上的组件,如下图所示。草图在计算机上打开ArduinoIDE软件。使用Arduino语言进行编码控制你的电路。通过单击“New”打开一个新的草图文件。Arduino代码//ExampletestingsketchforvariousDHThumidity/tempe
3、raturesensors#include"DHT.h"#defineDHTPIN2//whatdigitalpinwe'reconnectedto//Uncommentwhatevertypeyou'reusing!//#defineDHTTYPEDHT11//DHT11#defineDHTTYPEDHT22//DHT22(AM2302),AM2321//#defineDHTTYPEDHT21//DHT21(AM2301)//Connectpin1(ontheleft)ofthesensorto+5V//NOTE:Ifusingaboardwith3.3Vlogiclikean
4、ArduinoDueconnectpin1//to3.3Vinsteadof5V!//Connectpin2ofthesensortowhateveryourDHTPINis//Connectpin4(ontheright)ofthesensortoGROUND//Connecta10Kresistorfrompin2(data)topin1(power)ofthesensor//InitializeDHTsensor.//Notethatolderversionsofthislibrarytookanoptionalthirdparameterto//tweakthetimin
5、gsforfasterprocessors.Thisparameterisnolongerneeded//asthecurrentDHTreadingalgorithmadjustsitselftoworkonfasterprocs.DHTdht(DHTPIN,DHTTYPE);voidsetup(){Serial.begin(9600);Serial.println("DHTxxtest!");dht.begin();}voidloop(){delay(2000);//Waitafewsecondsbetweenmeasurementsfloath=dht.readHumidi
6、ty();//Readingtemperatureorhumiditytakesabout250milliseconds!floatt=dht.readTemperature();//ReadtemperatureasCelsius(thedefault)floatf=dht.readTemperature(true);//ReadtemperatureasFahrenheit(isFahrenheit=true)//Checkifanyreadsfailedandexitearly(totryagain).if(isnan(h)
7、
8、isnan(t)
9、
10、isnan(f)){Ser
11、ial.println("FailedtoreadfromDHTsensor!");return;}//ComputeheatindexinFahrenheit(thedefault)floathif=dht.computeHeatIndex(f,h);//ComputeheatindexinCelsius(isFahreheit=false)floathic=dht.computeHeatIndex(t,h,false);Serial.print("Humidity:");Se
此文档下载收益归作者所有