之前宿舍搬到韩国楼,有单独热水供应还不会被查进出,确实像学长说的那样舒坦。不过房间有空调却没风扇,回到宿舍室温 30 多度,被副热带高气压压得无法学习。而离开宿舍后会断电,所以空调自带的定时系统无法利用。于是想用 Arduino 做一个能按时开空调的装置,希望能一回宿舍就享受到 25 度的气温。
接线
用到的元件有:
- Arduino UNO R3
- 2.2kΩ 电阻
- P2N2222AG 三极管
- 1N4001 二极管
- HJR-4102E-L-05V 继电器
- 杜邦线若干
- DS3231 时钟模块
- 充电宝
- 牛奶盒
除了最后三项,其他都来自从学校 窃 借来的 ARDX 套件。
值得注意的是这里的二极管。这里与继电器并联的二极管称为续流二极管。当电路中的电流增大时,二极管与电流反向,几乎不影响电路。而当电流突然减小时,因为继电器的线圈具有一定电感,会产生感应电动势阻碍电流变化,这个感应电动势甚至可能击穿三极管。这时,续流二极管与线圈构成回路,通过做功消耗掉线圈储存的能量,就保护了其他元件。
程序
程序如下,DS3231 的库来自 Rinky-Dink Electronics。
|
|
2020-09-10 重构博客时吐槽
当年我居然大括号换行,还参数表/二元运算符不加空格,丢人实测
每天 12:05、16:45、22:30,装置自动打开空调,我差不多再过 10min 回到宿舍,希望届时气温能低一点。另外 DS3231 自带纽扣电池,停止外部供电不会重置时间,充电宝没电的话取下充电即可,不会影响程序。由于学校禁止在宿舍进行「危险的电学实验」,牛奶盒就派上用场了。
希望不要引来宿管或拆弹小组。
最后实测回到宿舍的时候室温只能降到 27°C 左右,但终归比 30°C 凉爽,也算是达到了目标,可以沉迷学习了。