78 lines
1.8 KiB
C++
78 lines
1.8 KiB
C++
//使用preferences作为数据持久化方案,类似于本项目的数据库
|
|
#include <Preferences.h>
|
|
|
|
|
|
#include "DHT11control.h"
|
|
|
|
#include "RTC_Module.h"
|
|
#include <RtcDS1302.h>
|
|
|
|
#include "LunarCalendarAndHolidayJudge.h"
|
|
|
|
#include "core.h"
|
|
|
|
ThreeWire myWire(4,5,2);
|
|
RtcDS1302<ThreeWire> Rtc(myWire);
|
|
|
|
void setup() {
|
|
// 初始化串口通信
|
|
Serial.begin(115200);
|
|
|
|
Preferences prefs; // 声明Preferences对象
|
|
|
|
//打开preferences命名空间:DACSC
|
|
prefs.begin("DACSC");
|
|
|
|
// 启动DHT传感器
|
|
dht.begin();
|
|
// 启动ds1302
|
|
setupRTC();
|
|
|
|
// 初始化核心模块
|
|
Serial.println("正在初始化智能空调控制系统...");
|
|
if (initializeCore()) {
|
|
Serial.println("系统初始化成功!");
|
|
} else {
|
|
Serial.println("系统初始化失败!");
|
|
}
|
|
|
|
}
|
|
|
|
void loop() {
|
|
// 调用核心判断函数
|
|
int decision = judge();
|
|
|
|
// 打印决策结果
|
|
Serial.println("========================================");
|
|
Serial.print("智能决策结果: ");
|
|
|
|
switch(decision) {
|
|
case JUDGE_NO_ACTION:
|
|
Serial.println("无需操作 - 当前环境正常");
|
|
break;
|
|
case JUDGE_TURN_ON_COOLING:
|
|
Serial.println("开启制冷模式 - 检测到需要降温");
|
|
break;
|
|
case JUDGE_TURN_ON_HEATING:
|
|
Serial.println("开启制暖模式 - 检测到需要升温");
|
|
break;
|
|
case JUDGE_TURN_OFF_AC:
|
|
Serial.println("关闭空调 - 检测到无人或离开");
|
|
break;
|
|
case JUDGE_ADJUST_TEMP:
|
|
Serial.println("打开除湿 - 优化舒适度");
|
|
break;
|
|
case JUDGE_ERROR:
|
|
Serial.println("系统错误 - 请检查传感器连接");
|
|
break;
|
|
default:
|
|
Serial.println("未知状态");
|
|
break;
|
|
}
|
|
|
|
Serial.println("========================================");
|
|
Serial.println();
|
|
|
|
// 等待30秒后再次执行判断
|
|
delay(5000);
|
|
} |