本帖最后由 驴友花雕 于 2024-1-12 20:00 编辑
本例实验使用四路继电器模块
四路继电器模块是一种可以通过单片机或其他数字信号控制的开关模块,它可以实现对高电压或高电流设备的开关控制。
四路继电器模块的特点有:
1、它有四个继电器,每个继电器可以独立控制一个负载,最大可以承受10A 250VAC或10A 30VDC的电压和电流。
2、它采用光耦隔离的方式,可以有效地防止信号干扰和保护控制器。
3、它有输出信号指示灯,可以直观地显示每个继电器的工作状态。
4、它有二极管续流保护,可以防止继电器的反向电流对控制器造成损坏。
5、它的外部连线采用旋转压接端子,可以方便地连接和拆卸线缆。
6、它的尺寸较小,只有70mmX17mmX20mm,可以节省空间和便于安装。
四路继电器模块的电原理如图。
它的使用方法也很简单,只需要将控制器的数字输出口连接到模块的输入端,然后将需要控制的设备连接到模块的输出端,就可以通过控制器的程序来控制继电器的吸合和断开。四路继电器模块可以应用在各种场合,例如控制电灯、电机、风扇、水泵等设备。
【花雕动手做】实验三十七:带状态指示灯的简版四路继电器逐一控制
实验开源代码
- #include "asr.h"
- extern "C"{ void * __dso_handle = 0 ;}
- #include "setup.h"
-
- uint32_t snid;
- void ASR_CODE();
- void app();
-
- //{speak:小伦-日常,vol:12,speed:10,platform:haohaodada,version:V3}
- //{playid:10001,voice:欢迎使用人工智能AI语音助手,用智能管家唤醒我}
- //{playid:10002,voice:我退下了,用智能管家唤醒我}
-
- /*描述该功能...
- */
- void ASR_CODE(){
- //语音识别功能框,与语音识别成功时被自动调用一次。
- set_state_enter_wakeup(15000);
- switch (snid) {
- case 0:
- digitalWrite(4,0);
- break;
- case 1:
- digitalWrite(2,0);
- break;
- case 2:
- digitalWrite(2,1);
- break;
- case 3:
- digitalWrite(3,0);
- break;
- case 4:
- digitalWrite(3,1);
- break;
- case 5:
- digitalWrite(5,0);
- break;
- case 6:
- digitalWrite(5,1);
- break;
- case 7:
- digitalWrite(6,0);
- break;
- case 8:
- digitalWrite(6,1);
- break;
- case 9:
- digitalWrite(2,0);
- digitalWrite(3,0);
- digitalWrite(5,0);
- digitalWrite(6,0);
- break;
- case 10:
- digitalWrite(2,1);
- digitalWrite(3,1);
- digitalWrite(5,1);
- digitalWrite(6,1);
- break;
- }
-
- }
-
- void sys_sleep_hook()
- {
- digitalWrite(4,1);
-
- }
-
- void app(){
- //操作系统的一个线程,独立主循环任务,可支持多个类似线程任务。
- //当存在多个线程任务时,注意优先级与占用内存设置。
- while (1) {
- delay(100);
- }
- vTaskDelete(NULL);
- }
-
- void hardware_init(){
- //需要操作系统启动后初始化的内容
- vol_set(7);
- xTaskCreate(app,"app",128,NULL,4,NULL);
- vTaskDelete(NULL);
- }
-
- void setup()
- {
- //需要操作系统启动前初始化的内容
- //{ID:0,keyword:"唤醒词",ASR:"智能管家",ASRTO:"我在"}
- //{ID:1,keyword:"命令词",ASR:"打开一号继电器",ASRTO:"已经打开继电器一"}
- //{ID:2,keyword:"命令词",ASR:"关闭一号继电器",ASRTO:"已经关闭继电器一"}
- //{ID:3,keyword:"命令词",ASR:"打开二号继电器",ASRTO:"已经打开继电器二"}
- //{ID:4,keyword:"命令词",ASR:"关闭二号继电器",ASRTO:"已经关闭继电器二"}
- //{ID:5,keyword:"命令词",ASR:"打开三号继电器",ASRTO:"已经打开继电器三"}
- //{ID:6,keyword:"命令词",ASR:"关闭三号继电器",ASRTO:"已经关闭继电器三"}
- //{ID:7,keyword:"命令词",ASR:"打开四号继电器",ASRTO:"已经打开继电器四"}
- //{ID:8,keyword:"命令词",ASR:"关闭四号继电器",ASRTO:"已经关闭继电器四"}
- //{ID:9,keyword:"命令词",ASR:"打开所有继电器",ASRTO:"已经打开所有继电器"}
- //{ID:10,keyword:"命令词",ASR:"关闭所有继电器",ASRTO:"已经关闭所有继电器"}
- setPinFun(4,FIRST_FUNCTION);
- pinMode(4,output);
- digitalWrite(4,1);
- setPinFun(2,FIRST_FUNCTION);
- pinMode(2,output);
- digitalWrite(2,1);
- setPinFun(3,FIRST_FUNCTION);
- pinMode(3,output);
- digitalWrite(3,1);
- setPinFun(5,FIRST_FUNCTION);
- pinMode(5,output);
- digitalWrite(5,1);
- setPinFun(6,FIRST_FUNCTION);
- pinMode(6,output);
- digitalWrite(6,1);
- }
复制代码
训练模型与编译烧录
实验记录视频
【【花雕动手做】ASRPRO语音识别(32)---简版四路继电器语音控制】[url=https://www.bilibili.com/video/B ... a9be994cbb4a86cc987]https://www.bilibili.com/video/BV1Xe41127Da/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987[/url]
[media=x,500,375] https://www.bilibili.com/video/B ... a9be994cbb4a86cc987[/media]
|