6335| 15
|
用sht31-f温湿度传感器改造一个超声波加湿器 |
前段时间,感觉空气比较干燥,买了一个10块钱包邮的超声波加湿器回来加湿。 手头上有一块DF出的SHT31-F温湿度传感器,这块传感器功耗低,精度高,反应快,还具有十分实用的防尘功能。这次准备用它来简单改造一下这个加湿器 准备使用这块传感器来对加湿器做一个自动化的改造。 制作思路: 加湿器正常情况下,其上有个微动开关,摁一下就开始加湿,再摁一下就间断加湿,再摁一下就关闭加湿器。如此的话,只需要找到加湿器内部电路板上连接着微动开关的两个焊点,以继电器连接这两个焊点,Arduino控制器控制继电器通断模拟人按下的动作,就可以达到控制加湿器工作的目的。sht31-f传感器将收集到的温湿度送到arduino控制器里,控制器将当前湿度和目标湿度进行对比,根据对比结果控制加湿器的开和关。 准备材料: 1. sht-31温湿度传感器 2. Nano控制器 5. 继电器 6. 面包板x2 7. 加湿器 x1 8. 公公头杜邦线若干 加湿器部分的改造 拆开加湿器,实际上超声波加湿器工作原理都是将水送到雾化片处,将水打成水雾,送出来,图片上棉棒作用是连接蓄水池和雾化片,将水不断地送到雾化片处 关键部分都在加湿器的盖子上,包括雾化片和电路板 将加湿器的电路板拆下,用万用表蜂鸣档来找和微动开关连接在一起的两个焊点 可以直接用微动开关的两个引脚,我选择的芯片上的引脚,电路板右上角的那个8脚的IC,它的第4脚和第8脚分别连在了微动开关两端上 我们将加湿器的盖子用小刀,掏一个洞,这个洞用来穿后边要用到的电线。电线包括两根控制加湿器工作的线,一根VCC和一根GND 加湿器这边就做好了。绿线和蓝线到时连在继电器的NO和COM端,红线和黑线分别连控制器提供的VCC和GND Arduino控制部分 需要多说一下这个360度编码器,其实它更加常见于某些控制面板上,用于选项的操作。比如有些3D打印机上,直接用这样一个带微动开关功能的旋钮作为唯一的控制器件,操作面板显得很干净,而实际操作起来,行云流水地反复旋转和摁下,使得操作变得方便。旋转用于光标向上向下的移动,微动开关则用于选定的操作。 Arduino控制部分连线很简单,oled是IIC接口的,sht31-f也是IIC接口的,它俩的SDA都连nano的A4,它俩的SCL都连nano的A5。加湿器那边过来的绿、蓝两根线接在继电器的NO和COM端。旋转编码的A、B、C接在nano的D2、D3、D4。继电器的控制信号线接在D5。当然所有VCC和GND分别接在nano控制器的VCC和GND上。 程序部分 代码放在文末,很简单的代码。需要注意的是,旋转编码器的例程程序是使用了中断来实现,但0.91寸OLED用到u8g2库在有中断情况下,无法完成初始化。所以代码里,就将编码器旋转的判断放在loop函数里,去掉了中断函数。 OLED负责显示“当前温度”“当前湿度”“目标湿度”三个数值。通过旋转编码器,来调整目标湿度的值,当当前湿度小于目标湿度-1时,nano就会控制继电器,继而打开加湿器加湿;当当前湿度大于目标湿度时,加湿器就被关闭。继电器模拟人摁按键的操作,每次的摁键动作(即每次继电器通断)必须大于1s,否则加湿器无法识别过快的两次摁键操作,仅能识别出一次摁键操作 将程序烧录到nano上 将加湿和arduino控制部分连接起来,给nano通上电 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed