Arduino温控风扇

news/2024/11/13 15:28:08/

本篇文章,主要介绍如何使用DHT22温湿度传感器和继电器制作一款Arduino温控风扇。使用DHT22传感器获取温度值,然后将在LCD显示屏上显示此温度值。我们将检查温度值是否大于26,如果温度大于26,则启动继电器,风扇将开始旋转。

所需的硬件
● Arduino Uno 开发板
 Arduino Uno 开发板
● DHT22 温湿度传感器
DHT22 温湿度传感器
● LCD1602 显示屏
 LCD1602 显示屏
● 继电器
继电器
● 9V电池 //其他电池也可以
9V电池
● 1K电阻
1K电阻
● 直流电机
直流电机
● 小风扇
直流电机
● 面包板
面包板
● 若干条连接导线
若干条连接导线

LCD1602 显示屏,连接如下:
● 将 “LCD1602 显示屏” 的 “VSS 引脚” 连接到 “Arduino Uno 开发板” 的 “GND 引脚” ;
● 将 “VDD 引脚” 连接到 “Arduino Uno 开发板” 的 “VCC(5v) 引脚” ;
● 将 “V0 引脚” 接 “1K电阻” 到 “GND (或者接电位器) 引脚” ;
● 将 “RS 引脚” 连接到 “Arduino Uno 开发板” 的 “引脚 12” ;
● 将 “R / W 引脚” 连接到 “Arduino Uno 开发板” 的 “GND 引脚”。此时, “LCD1602 显示屏” 处于读取状态;
● 将 “E(使能) 引脚” 连接到 “Arduino Uno 开发板” 的 “引脚 11” ;
● 将 “D4-D7 引脚” 分别连接到 “Arduino Uno 开发板” 的 “引脚10,9,8,7 引脚” ;
● 将 “A 引脚” 接 “1K电阻” 到 “VCC(5v) 引脚” ;
● 将 “K 引脚” 接 “GND 引脚” 。

然后将继电器模块 relayPin 连接到 Arduino Uno 开发板 。在继电器模块的输入端,连接如下:
● 将继电器模块的 “VCC 引脚” 连接到 “Arduino Uno 开发板” 的 “5V 引脚 " ;
● 将继电器模块的 “IN 引脚” 连接到 “Arduino Uno 开发板”的 “引脚 3” ;
● 将继电器模块的 “GND 引脚” 连接到 “Arduino Uno 开发板” 的 “GND 引脚”。

最后,按照以下方式连接DHT22温湿度传感器:
● 将 “DHT22” 的 “引脚 1(即VCC引脚)” 连接到 “Arduino Uno 开发板” 的 “5V 引脚” 。
● 将 “DHT22” 的 “引脚 2(数据引脚)” 连接到 “Arduino Uno 开发板” 的 “引脚 2” 。
● 将 “DHT22” 的 “引脚 3(数据引脚)” 置空。
● 将 “DHT22” 的 “引脚 4(接地引脚)” 连接到 “Arduino Uno 开发板” 的 “GND 引脚” 。
成品展示
在这里插入图片描述在这里插入图片描述
源码

#define DHT11PIN 2        //定义温湿度针脚号为2号引脚
dht11 DHT11;  
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);        //设置接口
int incomedate = 0;
int relayPin = 3;         //继电器引脚
void setup()
{Serial.begin(9600);        //连接到电脑串口监视器pinMode(relayPin, OUTPUT);        //继电器输出模式pinMode(DHT11PIN,OUTPUT);        //温湿度模块输出模式lcd.begin(16,2);lcd.clear();        //清屏delay(1000);        //延时1000ms
}void loop ()
{ int chk = DHT11.read(DHT11PIN);        //将读取到的值赋给chk
int tem=(float)DHT11.temperature;        //将温度值赋值给tem
int hum=(float)DHT11.humidity;  
Serial.print("Humidity:");        //打印出Humidity:
Serial.print(hum);  
Serial.print("Tempeature:");Serial.print(tem);        //使屏幕显示文字//打印出湿度结果
Serial.println("%");    
delay(200);lcd.setCursor(0, 0) ;        //设置光标位置为第1行第1个位置lcd.print("Tempeature:");lcd.print(tem);        //使屏幕显示温度lcd.setCursor(0, 1) ;lcd.print("Humidity:");      lcd.print(hum);        //使屏幕显示湿度if (tem >26)        //如果温度大于26摄氏度{digitalWrite(relayPin, LOW);        //继电器开,风扇开Serial.println(" OPEN!");} else{digitalWrite(relayPin,HIGH);Serial.println("CLOSE!");}delay(500);        //延时0.1秒,这里也就是刷新速度。 }

注意:
此程序需要引用两个 “库文件” ,分别为:

● <LiquidCrystal.h> //直接在Arduino编译软件中添加
在这里插入图片描述
● <dht11.h> //需要在Arduino编译软件中另外增加库文件
链接: https://pan.baidu.com/s/1wHXLNhYdRS_h3CqHphllbw
提取码: 7vhi
增加库文件选择所需增加的库文件引用所增加的库文件
运行代码

#include <LiquidCrystal.h>
#include <dht11.h>#define DHT11PIN 2        //定义温湿度针脚号为2号引脚
dht11 DHT11;  
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);        //设置接口
int incomedate = 0;
int relayPin = 3;         //继电器引脚
void setup()
{Serial.begin(9600);        //连接到电脑串口监视器pinMode(relayPin, OUTPUT);        //继电器输出模式pinMode(DHT11PIN,OUTPUT);        //温湿度模块输出模式lcd.begin(16,2);lcd.clear();        //清屏delay(1000);        //延时1000ms
}void loop ()
{ int chk = DHT11.read(DHT11PIN);        //将读取到的值赋给chk
int tem=(float)DHT11.temperature;        //将温度值赋值给tem
int hum=(float)DHT11.humidity;  
Serial.print("Humidity:");        //打印出Humidity:
Serial.print(hum);  
Serial.print("Tempeature:");Serial.print(tem);        //使屏幕显示文字//打印出湿度结果
Serial.println("%");    
delay(200);lcd.setCursor(0, 0) ;        //设置光标位置为第1行第1个位置lcd.print("Tempeature:");lcd.print(tem);        //使屏幕显示温度lcd.setCursor(0, 1) ;lcd.print("Humidity:");      lcd.print(hum);        //使屏幕显示湿度if (tem >26)        //如果温度大于26摄氏度{digitalWrite(relayPin, LOW);        //继电器开,风扇开Serial.println(" OPEN!");} else{digitalWrite(relayPin,HIGH);Serial.println("CLOSE!");}delay(500);        //延时0.1秒,这里也就是刷新速度。 }

编译完成
编译完成


http://www.ppmy.cn/news/265989.html

相关文章

PWM风扇

风扇类型 含油轴承(Sleeve Bearing) 传统的直流无碳刷风扇马达设计时&#xff0c;是扇叶转子(简称转子)及其轴芯穿越含油轴承&#xff0c;简称SLEEVE轴承&#xff0c;枢接固定在马达定子之中心位置&#xff0c;使转子与定子之间保持一个适当之间隙&#xff0c;当然轴芯与轴承间…

温控风扇

转载需注明出处&#xff01; https://blog.csdn.net/langzi_a/article/details/85267804 基于51单片机的温控风扇&#xff0c;供学弟学妹们学习用。感兴趣可以根据下面的资料自己焊接一个电路。 eeprom52.h文件百度云连接&#xff1a; 链接&#xff1a;https://pan.baidu.co…

ES6中 Promise和使用场景

介绍 &#x1f959;&#x1f959;&#x1f959;更加合理和更加强大 Promise&#xff0c;译为承诺&#xff0c;是异步编程的一种解决方案&#xff0c;比传统的解决方案&#xff08;回调函数&#xff09;更加合理和更加强大 在以往我们如果处理多层异步操作&#xff0c;我们往往…

springboot+mybatis实现删除(二)

一&#xff0c;XML映射文件和动态SQL XML映射文件的名称与Mapper接口名称一致&#xff0c;并且将XML映射文件和Mapper接口放置在相同包下&#xff08;同包同名&#xff09;&#xff0c;右键创建目录/分隔&#xff0c;例&#xff1a;com/baidu/crm XML映射文件的namespace属性为…

mac电脑安装ps错误代码182解决方法

ps安装失败错误代码182怎么解决&#xff1f;mac电脑安装ps错误代码182如何解决&#xff1f;今天小编来和大家分享&#xff0c;如图提示 2022版本ps需要安装Adobe Creative Cloud&#xff0c;再运行安装包&#xff0c;否则会出现错误提示。如果遇到错误提示182&#xff0c;说明安…

PS光影神话完整版下载安装

后期是对图片风格影响最大的要素之一&#xff0c; 懂得如何合理运用后期&#xff0c; 能使你的摄影作品档次大大提升。 每次调色总是要反复纠结很长时间&#xff0c;一顿操作猛如虎&#xff0c;最后发现还不如原片好看。浪费了时间&#xff0c;又搭上了精力&#xff0c;效率…

乐之邦07mp或08mp固件下载及说明书

关于固件 摘自&#xff1a;https://forum.musiland.cn/viewtopic.php?f11&t6543&hilit07MP 这里&#xff08; http://www.musiland.cn/dl/utils/ &#xff09;最下面6个都是07、08MP通用固件&#xff0c;0001和0100基本不可用&#xff08;WIN10免驱动&#xff09;&a…

ps黑作坊终极天空大师 一键换天空终极版破解版扩展面板

这才是一键换天空&#xff0c;其他都是浮云。插件面板看似简单&#xff0c;但仔细看看就明白了。 链接&#xff1a;https://pan.baidu.com/s/1SeiiVg_6hwEHWDN2gnwpbQ 密码&#xff1a;qpvy