dwinForumAdmin 发表于 2021-8-23 15:17:22

【分享】T5L温控器继电器通过IO口实现弱电控制强电开关(...

T5L温控器继电器通过IO口实现弱电控制强电开关(智能家居)方案

(1)方案简述
在T5L温控器中,设置T5L的PIN11、PIN12、PIN13、PIN14I/O引脚控制4路继电器,主程序通过定时读取变量地址的按键值,配置IO推挽输出模式(参考T5LIC开发指南),产生高低电平,从而控制外接设备如水阀、气阀、风机、灯具的开关。




(2)硬件接口型号:TC040C11U04背面接口实物图和外壳打开实物图。

(3)界面组态DGUS软件中,使用按键值返回、变量图标等触控和显示控件,结合OS程序实现继电器的打开和关闭,达到控制外接设备的目的。

(4)C51代码程序例程通过0x2000变量地址不同上传值实现继电器的开关控制,以下为控制继电器的play_led函数,完整程序可参考DEMO文件。
voidplay_led(void){         ReadDGUS(0x2000,arr,2);         switch(arr)          {                   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)效果展示



备注说明:如需源码,请在评论区回复邮箱获取,谢谢!

页: [1]
查看完整版本: 【分享】T5L温控器继电器通过IO口实现弱电控制强电开关(...