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

整体组装:
机器切割出木板

组装外壳

组装连接电路

用热熔胶固定喇叭及其他模块


在加一点点装饰

网络获取时间
- void correct_time () {
- ntptime.setNtpTime(ntptime.UTCEast8_t, "ntp.ntsc.ac.cn");
- char str[100] = {};
- 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)));
- Serial.println(ntptime.localTime(ntptime.Year));
- Serial.println(ntptime.localTime(ntptime.Month));
- Serial.println(ntptime.localTime(ntptime.Date));
- Serial.println(ntptime.localTime(ntptime.Hour));
- Serial.println(ntptime.localTime(ntptime.Minute));
- Serial.println(ntptime.localTime(ntptime.Second));
- Serial.println("-------------------");
- }
复制代码
设置语音播放模块
- void init_player () {
- Serial1.begin(115200,SERIAL_8N1,RX_PIN,TX_PIN);
- while(!df1101s.begin(Serial1)){
- Serial.println("Init failed, please check the wire connection!");//初始化失败,检查连线
- delay(1000);
- }
- df1101s.setVol(5);//设置音量
- df1101s.switchFunction(df1101s.MUSIC);//设置工作模式
- df1101s.setPlayMode(df1101s.SINGLE);//设置播放模式
- }
复制代码
将获取的时间写入时钟模块
- 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));
- }
复制代码
按键测试:
1.当按键按下小于2秒,设置时间为设定值前10秒,10秒后关闭空调。

2.当按键按下大于5秒,设置时间为下班时间。

使用测试:
1.时间到设定值,自动关闭空调。
2.到下班时间后,声音模块10分钟检测不到声音主控播放询问是否关闭空调,得到声音回应播放不关语音反之关闭空调。
空调关关是前辈们团队共同制作的,我只是整理资料发出来。
最后电瓶车开始烫腚了大家注意安全
所需库文件及代码
代码.zip
|