天天看点

温湿度传感器——室内温湿度检测环境系统

目的:

1.编写温湿度传感器 DHT11 程序,实时读取环境温湿度并显示于 PC 串行端口监控窗口。并由监控窗口输入温度值, 当温度超限时,启动面包板上的风扇转动。

2.理解温湿度传感器的原理,并学会灵活运用温湿度传感器,结合其它传感器做一系列的探究。

原理图:

温湿度传感器——室内温湿度检测环境系统

实验中接入了电机作为判定温湿度传感器的灵敏性

如图:

温湿度传感器——室内温湿度检测环境系统

串口显示

温湿度传感器——室内温湿度检测环境系统
温湿度传感器——室内温湿度检测环境系统

流程图:

温湿度传感器——室内温湿度检测环境系统

代码:

#include “DHT.h”

#define dhtPin 8 //讀取DHT11 Data

#define dhtType DHT11 //選用DHT11

#define FUN_D 2

DHT dht(dhtPin, dhtType); // Initialize DHT sensor

int data=9999;

void setup() {

Serial.begin(9600);//設定鮑率9600

dht.begin();//啟動DHT

pinMode(FUN_D,OUTPUT);

}

void loop() {

float h = dht.readHumidity();//讀取濕度

float t = dht.readTemperature();//讀取攝氏溫度

float f = dht.readTemperature(true);//讀取華氏溫度

if(Serial.available()>0){

data=Serial.parseInt();

Serial.println(data);

while(Serial.read()>= 0){}

}

if(t>data){

digitalWrite(FUN_D, HIGH);

}

else{

digitalWrite(FUN_D, LOW);

}

if (isnan(h) || isnan(t) || isnan(f)) {

Serial.println(“無法從DHT傳感器讀取!”);

return;

}

Serial.print(“当前设定转动温度: “);

Serial.print(data);

Serial.print(” 濕度: “);

Serial.print(h);

Serial.print(”%\t”);

Serial.print(“攝氏溫度: “);

Serial.print(t);

Serial.print(”*C\t”);

Serial.print(“華氏溫度: “);

Serial.print(f);

Serial.print(”*F\n”);

delay(5000);//延時5秒

}

这个小实验还可以用来设计一个小风扇,写着作业,吹着自己设计的小风扇也是很美的呀

继续阅读