空调关关

2022-03-251.3万
精华项目
AI 快速预览详细 收起
本项目介绍了一种基于ESP32微控制器的空调控制助手,旨在解决下班忘记关空调的问题。通过结合语音录放模块、模拟声音传感器、光照传感器、时钟模块、无源音箱喇叭和数字红外信号发射模块,实现了自动关闭空调的功能。项目中详细介绍了材料清单、电路连接、整体组装步骤以及关键代码段。此外,还提供了按键测试和使用测试的具体方法,确保用户能够顺利完成项目并实现预期效果。


众所周知成都是一个没有春天的城市,冬季的寒风瑟瑟直接变成了夏季的酷暑难耐,从羽绒服到短袖也只需要一两周的时间。烈日当空夏天已经来临,大家都说夏天和空调才是绝配,不得不说空调也是21世纪伟大的发明之一。     
最近公司的空调也吹得我是心旷神怡,就是下班了老是忘记关空调,导致老板非常生气,老板一生气我们就不好过。于是我们组就开始了空调控制助手的制作。





材料清单:




电路连接:
空调关关图8



整体组装:

机器切割出木板
空调关关图1
组装外壳
空调关关图2
组装连接电路
空调关关图3
用热熔胶固定喇叭及其他模块
空调关关图6
空调关关图4
在加一点点装饰
空调关关图5



网络获取时间
  1. void correct_time () {
  2.   ntptime.setNtpTime(ntptime.UTCEast8_t, "ntp.ntsc.ac.cn");
  3.   char str[100] = {};
  4. constrain(ntptime.localTime(ntptime.Month), 1, 12), constrain(ntptime.localTime(ntptime.Date), 1, 31), constrain(ntptime.localTime(ntptime.Hour), 0, 23), constrain(ntptime.localTime(ntptime.Minute), 0, 59), constrain(ntptime.localTime(ntptime.Second), 0, 59)));
  5.   Serial.println(ntptime.localTime(ntptime.Year));
  6.   Serial.println(ntptime.localTime(ntptime.Month));
  7.   Serial.println(ntptime.localTime(ntptime.Date));
  8.   Serial.println(ntptime.localTime(ntptime.Hour));
  9.   Serial.println(ntptime.localTime(ntptime.Minute));
  10.   Serial.println(ntptime.localTime(ntptime.Second));
  11.    Serial.println("-------------------");
  12.   }
复制代码





设置语音播放模块
  1. void init_player () {
  2.   Serial1.begin(115200,SERIAL_8N1,RX_PIN,TX_PIN);
  3.   while(!df1101s.begin(Serial1)){
  4.     Serial.println("Init failed, please check the wire connection!");//初始化失败,检查连线
  5.     delay(1000);
  6.   }
  7.   df1101s.setVol(5);//设置音量
  8.   df1101s.switchFunction(df1101s.MUSIC);//设置工作模式
  9.   df1101s.setPlayMode(df1101s.SINGLE);//设置播放模式
  10. }
复制代码



将获取的时间写入时钟模块
  1. RTC.setTime(constrain(ntptime.localTime(ntptime.Year), 2000, 2099), constrain(ntptime.localTime(ntptime.Month), 1, 12), constrain(ntptime.localTime(ntptime.Date), 1, 31), constrain(ntptime.localTime(ntptime.Hour), 0, 23), constrain(ntptime.localTime(ntptime.Minute), 0, 59), constrain(ntptime.localTime(ntptime.Second), 0, 59));
  2.   }
复制代码



按键测试:

1.当按键按下小于2秒,设置时间为设定值前10秒,10秒后关闭空调。
空调关关图9


2.当按键按下大于5秒,设置时间为下班时间。
空调关关图10



使用测试:
1.时间到设定值,自动关闭空调。
2.到下班时间后,声音模块10分钟检测不到声音主控播放询问是否关闭空调,得到声音回应播放不关语音反之关闭空调。



空调关关是前辈们团队共同制作的,我只是整理资料发出来。

最后电瓶车开始烫腚了大家注意安全




所需库文件及代码
下载附件代码.zip







创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
诩
ESP32主板,Arduino代码
很好的作品
诩
回复
By the way,外观也很精致
祝泥升
祝泥升
超级详细,学到啦
Waley
Waley回复祝泥升
怎么实现的吖
- 没有更多了 -