T5L温控器继电器通过IO口实现弱电控制强电开关(智能家居)方案
(1)方案简述
在T5L温控器中,设置T5L的PIN11、PIN12、PIN13、PIN14 I/O引脚控制4路继电器,主程序通过定时读取变量地址的按键值,配置IO推挽输出模式(参考T5LIC开发指南),产生高低电平,从而控制外接设备如水阀、气阀、风机、灯具的开关。
(2)硬件接口型号:TC040C11U04 背面接口实物图和外壳打开实物图。
(3)界面组态DGUS软件中,使用按键值返回、变量图标等触控和显示控件,结合OS程序实现继电器的打开和关闭,达到控制外接设备的目的。
(4)C51代码程序例程通过0x2000变量地址不同上传值实现继电器的开关控制,以下为控制继电器的play_led函数,完整程序可参考DEMO文件。
voidplay_led(void) { ReadDGUS(0x2000,arr,2); switch(arr[1]) { case 0x01: // Water_Valve_dadu =~(Water_Valve_dadu); if(Water_Valve_dadu== 0) { Water_Valve_on(); }elseif(Water_Valve_dadu == 1) { Water_Valve_off(); } break; case 0x02: // Low_Speed_Valve_dadu= ~(Low_Speed_Valve_dadu); if(Low_Speed_Valve_dadu== 0) { Low_Speed_Valve_on(); }elseif(Low_Speed_Valve_dadu == 1) { Low_Speed_Valve_off(); } break; case 0x03: // Medium_Speed_Valve_dadu= ~(Medium_Speed_Valve_dadu); if(Medium_Speed_Valve_dadu== 0) { Medium_Speed_Valve_on(); }elseif(Medium_Speed_Valve_dadu == 1) { Medium_Speed_Valve_off(); } break; case 0x04: // High_Speed_Valve_dadu =~(High_Speed_Valve_dadu); if(High_Speed_Valve_dadu== 0) { High_Speed_Valve_on(); }elseif(High_Speed_Valve_dadu == 1) { High_Speed_Valve_off(); } break; case 0x05: // all_led_dadu= ~(all_led_dadu); if(all_led_dadu ==0) { all_led_on(); }elseif(all_led_dadu == 1) { all_led_off(); } break; default : break;
}
(5)效果展示
备注说明:如需源码,请在评论区回复邮箱获取,谢谢!
|