对超声波加湿器进行智能化改造
对超声波加湿器进行智能化改造
前一段时间,我感觉空气比较干燥,就买了一个10块钱包邮的超声波加湿器用来加湿(见图1)。
图1?超声波加湿器我手头有一个SHT31-F温/湿度传感器(见图2),这个传感器功耗低、精度高、反应快,还具有十分实用的防尘功能。我准备用它来对买来的超声波加湿器做智能化的改造。
图2?SHT31-F温/湿度传感器制作思路
超声波加湿器上有个微动开关,按一下就开始加湿,再按一下就间断加湿,再按一下就关闭。这样,我只需要找到超声波加湿器内部电路板上连接着微动开关的两个焊点,以继电器连接它们,用Arduino控制继电器通断,模拟人按下的动作,就可以实现控制超声波加湿器工作的目的。SHT31-F传感器将收集到的温/湿度发送到Arduino,Arduino将当前湿度和目标湿度进行对比,根据对比结果智能控制超声波加湿器的开和关。改造需要准备的材料如附表和图3所示。
图3?改造需要准备的部分材料对超声波加湿器的改造
1.拆开超声波加湿器。超声波加湿器的工作原理是将水送到雾化片处,将水打成水雾,送出来。图中棉棒的作用是连接蓄水池和雾化片,将水不断地送到雾化片处。
2.超声波加湿器的关键部分都在盖子上,包括雾化片和电路板。
3.将超声波加湿器的电路板拆下,用万用表蜂鸣挡来找和微动开关连接在一起的两个焊点。
4.电路板右上角那个8引脚的IC的第4引脚和第8引脚分别连在了微动开关两端。
5.我将超声波加湿器的盖子用小刀掏一个洞,这个洞用来穿后边要用到的导线。
6,导线包括两根控制超声波加湿器工作的线(一根VCC和一根GND)。
7.超声波加湿器这边的改造就完成了。绿线和蓝线连在继电器的NO和COM端,红线和黑线分别连接Arduino提供的VCC和GND。
Arduino控制部分
我需要多说一下这个°旋转编码器(见图4),它常见于某些控制面板上,用于选择操作。比如有些3D打印机上,直接用这样一个带微动开关功能的旋钮作为唯一的控制器件,操作面板显得很干净,而实际操作起来,行云流水地反复旋转和按下,使得操作变得方便。旋转用于光标向上、向下的移动,微动开关则用于选定操作。
图4?°旋转编码器图5?Arduino的电路连接
Arduino的电路连接很简单(见图5)。OLED屏的接口是I2C,SHT31-F的接口也是I2C,它俩的SDA都连接ArduinoNano的A4,它俩的SCL都连接ArduinoNano的A5。超声波加湿器那边过来的绿、蓝两根线连接继电器的NO和COM端。°旋转编码器的A、B、C连接ArduinoNano的D2、D3、D4。继电器的控制信号线连接ArduinoNano的D5。当然,所有VCC和GND分别接在ArduinoNano的VCC和GND上。
程序部分
代码很简单,需要注意的是,°旋转编码器的例程序本来使用中断来实现,但0.91英寸OLED屏用到了U8g2库,在有中断的情况下,无法完成初始化,所以我将对°旋转编码器旋转角度的判断放在loop函数里,去掉了中断函数。
OLED屏负责显示当前温度、当前湿度、目标湿度3个数值。用户可以通过°旋转编码器调整目标湿度的值,当湿度小于目标湿度时,ArduinoNano就会控制继电器,继而打开超声波加湿器加湿;当湿度大于等于目标湿度时,超声波加湿器就会被关闭。继电器模拟人按按键的操作,每次的按键动作(即每次继电器通断)时间必须大于1s,否则超声波加湿器无法识别过快的两次按键操作,仅能识别出一次按键操作。
将程序烧录到ArduinoNano上,将超声波加湿器和ArduinoNano控制部分连接起来,给ArdinoNano通上电,就可以使用改造后的智能超声波加湿器了。
预览时标签不可点收录于合集#个上一篇下一篇转载请注明:http://www.abuoumao.com/hykh/613.html