使用Arduino自制智能自动便携式加湿器 |
您所在的位置:网站首页 › 空气加湿器电路图原理 › 使用Arduino自制智能自动便携式加湿器 |
加湿器(Humidifier)是一种用来增加封闭区域的相对湿度,以保证该区域有足够的水分的装置。尤其是在冬天,当打开加热器时,会导致空气的相对湿度降低。在本篇文章中,我们要制作一个自动加湿器,它可以利用传感器机制保持大气的相对湿度。我们还使用显示器以空气中水分百分比的形式显示相对湿度 (RH)。除了Arduino和LCD,我们还使用DHT11传感器来读取大气湿度值。如果发现相对湿度低于要求的限值,则打开加湿器,反之亦然。 所需的组件 ● 超声波加湿器 ● Arduino Nano开发板 ● 5V继电器 ● 7805 ● 25V/1000uf电解电容 ● DHT11传感器 ● 连接线 便携式加湿器的工作原理
Automatic-Portable-Humidifier.jpg (41.55 KB, 下载次数: 117) 下载附件 保存到相册 2021-10-8 17:02 上传 便携式加湿器可以通过使用高频振动的金属膜片产生暖/冷雾。声音振动将湿气推入空气中。加湿器中产生的雾气几乎立即被空气吸收。加湿器需要漂浮在水床上才能产生雾气。我们将要制作的加湿器的工作原理可以通过下面的框图来理解:
Humidifier-Block-Diagram.jpg (49.43 KB, 下载次数: 103) 下载附件 保存到相册 2021-10-8 17:02 上传 如上框图所示,超声波加湿器放置在容器内的水面上。加湿器漂浮在水面上。由于需要感测湿度,因此将DHT11湿度传感器与Arduino Nano连接,然后连接OLED显示屏以显示实时值。此外,根据湿度值,我们需要触发继电器,从而将加湿器切换到ON/OFF。因此,将加湿器值与参考值进行比较,并根据湿度值打开/关闭加湿器。 便携式加湿器电路图 此处给出了使用Arduino自制加湿器的完整原理图:
Humidifier-Circuit-Diagram.jpg (64.97 KB, 下载次数: 100) 下载附件 保存到相册 2021-10-8 17:04 上传 图所示,首先使用7805稳压器和滤波电容将12V直流电源转换为5V直流电源。然后该电源供应给Arduino Nano、OLED、DHT11和继电器。 DHT11的数据引脚连接到Arduino的数字输入引脚。 OLED显示屏通过I2C连接到Arduino的A4、A5引脚。同时,Arduino的数字输出引脚连接到继电器和BJT,用于驱动直流风扇。 为了使设备更加便携以及可可配置,我在万能板焊接了所有组件,如下图所示:
DIY-Portable-Humidifier.jpg (40.63 KB, 下载次数: 107) 下载附件 保存到相册 2021-10-8 17:06 上传 为加湿器编程Arduino Nano 根据电路图成功完成硬件连接后,现在是时候将代码写入Arduino了。在本节中我们逐行解释整个代码。 首先,第一步是在代码中包含整个所需的库,即本项目中的“SoftwareSerial.h”、“wire.h”、“Adafruit_SH1106.h”和“DHT.h”。 “SoftwareSerial.h”和“wire.h”是内置的,“Adafruit_SH1106.h”可以从这个链接下载,“DHT.h”可以从这个链接下载。 #include #include #include #include "DHT.h"复制代码然后,定义OLED显示屏的I2C地址,可以是0x3C或0x3D,本文使用的是0x3C。通常,1.3英寸OLED的地址是0x3C。此外,必须定义显示器的复位引脚。在本文中,它被定义为 -1,因为显示屏共用Arduino的复位引脚。 #define OLED_ADDRESS 0x3C #define OLED_RESET -1 Adafruit_SH1106 display(OLED_RESET);复制代码现在,声明一个DHT类型对象,可以在整个代码中使用。 DHT dht; int humidity=0;复制代码在setup()函数中里面,初始化串口通信和OLED显示屏。软件串口通信的默认波特率定义为9600。这里SH1106_SWITCHCAPVCC用于内部从3.3V产生显示电压,display.begin函数用于初始化显示屏。 void setup() { Serial.begin(9600); dht.setup(2); pinMode(6,OUTPUT); pinMode(11,OUTPUT); display.begin(SH1106_SWITCHCAPVCC, OLED_ADDRESS); display.clearDisplay(); }复制代码使用getHumidity()函数从传感器读取湿度值,并将其存储在变量中。然后使用相应的函数选择文本大小和光标位置,将其显示在OLED显示屏,如下所示。 delay(dht.getMinimumSamplingPeriod()); humidity = dht.getHumidity(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(27, 2); display.print("CIRCUIT DIGEST"); display.setTextSize(1); display.setCursor(35, 20); display.print("HUMIDITY(%)"); display.display(); display.setTextSize(2); display.setCursor(55, 40); display.print(humidity); display.display(); delay(50); display.clearDisplay();复制代码最后,为了触发加湿器,将湿度值与参考湿度值进行比较,低于参考湿度水平,继电器被触发,从而打开加湿器和风扇。 if(humidity |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |