本设计由STC12C5A60S2单片机电路+wifi模块电路+继电器控制电路+氧气检测传感器电路+电源电路组成。
1.继电器1(指的是压缩机):单片机发送0/1,控制通断。
2.继电器2(指的是电磁阀):单片机发送方波,通电后开关闭合持续8s,开关断开后将持续5s,继电器又接通持续8s,循环下去。
3.通过氧气传感器检测氧气浓度并且将氧气浓度通过wifi模块上传到手机app。
4.通过手机app发送指令可以控制继电器1工作,继电器2工作,继电器2开时,继电器2将执行循环亮灭。
5,如果氧气浓度低于阈值,则蜂鸣器叫。否则蜂鸣器不叫。(具体阈值可自行决定-代码)
完整版 电路图和程序代码 下载地址
https://pan.baidu.com/s/1jCxAaeDTfokKA-UofCDxkQ?pwd=8888
部分代码展示
float O2val = 0;
unsigned char dealFlag =0;//定义读时间标志
unsigned int ReportLater = 30;//短信上报延时
char Crtl_Z[1]={0x1a}; //发送短信最后字节
bit ctrFlag = 0;//继电器2控制标志
unsigned char i;
unsigned int yunTime = 0; //运行时间
unsigned char runStep = 1; //运行步骤
void main()
{
timer0(); //初始化定时器
init_uart0(); //初始化串口
init_uart1();
DelayUs2x(200);
for(i=0;i<45;i++) //延时
{DelayMs(100);}
Uart0SendString("AT+CIPMUX=1\r\n",13); //打开多连接
for(i=0;i<5;i++) //延时
{DelayMs(100);}
Uart0SendString("AT+CIPSERVER=1,8080\r\n",21); //建立服务 端口号为8080
for(i=0;i<5;i++) //延时
{DelayMs(100);}
// Uart1SendString("uart1",5);
// Uart0SendString("ready",5);
while (1)
{
if(dealFlag == 1) //定时温度读取 在定时器中处理
{
dealFlag = 0;
if(MesCount == 0) //计数
{
MesCount =1;
Uart0SendString("AT+CIPSEND=0,10\r\n",17); //发送数据
}
else
完整版 电路图和程序代码 下载地址