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

所需的硬件
● Arduino Uno 开发板

● DHT22 温湿度传感器

● LCD1602 显示屏

● 继电器

● 9V电池 //其他电池也可以

● 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秒,这里也就是刷新速度。 }

编译完成

Arduino温控风扇相关推荐

  1. 基于Arduino的温控风扇

    概述 基于Arduino的温控风扇系统,经DS18B20温度采集,将数据传送到Arduino,通过PWM调节占空比进而控制电机转速,经过驱动电路驱动电机,由电机的计数模块得到电机转速并用LCD1602 ...

  2. Arduino与Proteus仿真实例-温控风扇仿真

    温控风扇仿真 1.仿真应用介绍 在实例将使用 Arduino 构建一个温控风扇. 此实例,模拟够根据室温调节我们家或办公室的风扇速度,并在 16x2 LCD 显示屏上显示温度和风扇速度的变化.因此,在 ...

  3. 基于Blinker ESP8266 远程电压电流、功率计、温湿度计、ADC接口测温、温控风扇、低电压保护、低压报警功能。用来监测我的太阳能充电。SSD1306可轮番显示电压信息和温度信息。APP图表

    ESP8266系列文章目录 目录 ESP8266系列文章目录 经过不断的努力,处女之作终于做出来了.用的Arduino 经过一段时间不断熟练了,做了一些更新:2022.10.30   可以直接主页下载 ...

  4. 树莓派3B+温控风扇

    树莓派3B+温控风扇 已添加散热片的树莓派3B+,在空载工作过程中温度过高,需要增加风扇达到物理降温的效果.但在使用过程中,风扇发出的声音过高,需要在温度较低的情况下停止风扇的工作. 准备材料 树莓派 ...

  5. RK3588 实现温控风扇之获取cpu温度(一)

    RK3588 实现温控风扇系列文章 第一章: RK3588 实现温控风扇之如何获取cpu温度(一) 第二章: RK3588 实现温控风扇之pwm驱动调试(二) 第三章: RK3588 实现温控风扇之通 ...

  6. 毕业设计 stm32智能温控风扇系统 - 单片机 嵌入式

    文章目录 1 简介 2 绪论 2.1 课题背景 3 系统设计 3.1 系统架构 3.2 硬件部分 3.2.1 DS18B20 简介 3.2.2 LCD1602 液晶屏简介 3.3 软件部分 3.3.1 ...

  7. 基于stm32单片机智能温控风扇控制系统Proteus仿真

    资料编号:103  下面是相关功能视频演示: 103-基于stm32单片机智能温控风扇控制系统Proteus仿真(源码+仿真+全套资料) 功能介绍:采用stm32单片机.ds18b20温度传感器采集温 ...

  8. 北邮信通导论第三单元智能温控风扇

    智能温控风扇(显示温度转速+高温自动开启) #include <U8glib.h> #define INTERVAL_LCD 20 unsigned long lcd_time = mil ...

  9. 基于数字电路交通灯信号灯控制系统设计-基于单片机病房温度监测与呼叫系统设计-基于STM32的无线蓝牙心电监护仪系统设计-基于STM32的智能蓝牙温控风扇控制设计-基于STM32的智能温室控制系统设计

    1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告)  摘  要:交通灯控制系统在城市交通控制中发挥着重要的作用,本次课程设计就是以城市交通灯控制系统为背景的,主要通过运用学过的数字电路 ...

  10. 基于STM32的智能温室控制系统仿真电路设计(温控补光)-基于STM32的智能蓝牙温控风扇控制系统设计-基于STM32的无线蓝牙心电监护仪系统设计【毕设课设分享】

    1609 基于STM32的智能蓝牙温控风扇控制系统设计-毕设课设 1.LCD1602液晶显示当前温度,温度上下限值,风扇等级,自动手动模式: 2.设置有4个按键,按键1可以设置自动和手动2种模式切换: ...

最新文章

  1. Konstrukt PHP REST框架 教程二
  2. Git 基础 —— 安装 配置 别名 对象
  3. 盘点:崛起中的九大HTML5开发工具
  4. java网络编程(一)
  5. RequestMapping介绍
  6. XCTF-高手进阶区:baby_web
  7. 简述垃圾对象产生_使用零垃圾创建数百万个对象
  8. 子类怎么继承父类方法中的变量_JavaOOP_04 封装 继承
  9. oracle 锁问题的解决
  10. Matplotlib 中文用户指南 8.1 屏幕截图
  11. Oracle分页查询格式(八)
  12. 常用排序算法之插入排序 ( 直接插入排序、希尔排序 )
  13. Oracle中 如何用一个表的数据更新另一个表中的数据(含表备份)
  14. 计算机应用基础试卷分析报告,计算机应用基础试卷分析.pdf
  15. 初学STM32之使用STM32CubeMX编写跑马灯程序
  16. 黎曼传记资料(2010-04-22 22:17:06)
  17. 山东大学暑期实训——智能人物画像综合分析系统
  18. 音视频技术开发周刊 | 177
  19. rust哪个护甲高_《废土2》全部武器护甲资料及代码
  20. 监管之外,加密货币在日本大行其道的其他原因

热门文章

  1. linux shell经典脚本,10个经典Linux Shell脚本
  2. JAVA知识点(尚硅谷宋红康老师的b站授课自我整理)
  3. Multisim BLUE14.0使用介绍
  4. Hbase中的二级索引
  5. 云时代的“双态IT”运维思路
  6. 随着公司对各种网络需要的满足,公司服务器的响应不如购买及时性,第八章网络企业的供应链管理.ppt...
  7. 神州微型计算机,神舟笔记本序列号查维修-怎样根据神舟笔记本电脑的序列号查询...
  8. jspsmartupload简述
  9. 电工与电子技术基础【2】
  10. Lock接口和AQS原理与实现(Java并发编程的艺术整理)