当前位置:   article > 正文

STM32项目分享:智能家居语音系统_基于stm32智能家居语音控制系统

基于stm32智能家居语音控制系统

目录

一、前言

二、项目简介

1.功能详解

2.主要器件

三、原理图设计

四、PCB硬件设计

1.PCB图 

2.PCB打板焊接图:

五、程序设计 

六、实验效果 

七、包含内容

项目分享


一、前言

项目成品图片:

哔哩哔哩视频链接:

https://www.bilibili.com/video/BV1K94y1H7mk/?share_source=copy_web&vd_source=097fdeaf6b6ecfed8a9ff7119c32faf2

(资料分享见文末) 

二、项目简介

1.功能详解

基于STM32的智能家居语音系统

功能如下:

  1. 温湿度采集:系统通过DHT11模块采集温湿度
  2. 烟雾监测:通过MQ-2模块采集环境中烟雾浓度
  3. 光照强度采集:通过BH1750传感器采集环境光照强度
  4. 窗帘控制:通过步进电机转动模拟窗帘控制
  5. 风扇控制:通过继电器和指示灯模拟风扇驱动
  6. 照明控制:通过继电器和指示灯模拟照明驱动
  7. 蜂鸣器报警:环境烟雾异常情况下蜂鸣器报警
  8. OLED显示:显示温湿度、光照强度和烟雾浓度
  9. APP功能:使用机智云APP,包括功能有控制照明灯和风扇开关、显示当前温湿度信息
  10. 自动模式:烧录自动模式程序,系统根据光强大小控制窗帘和LED灯的开闭,同时禁止手动模式的APP控制

2.主要器件

  • STM32F103C8T6最小系统板
  • DHT11温湿度传感器
  • OLED显示屏(4针I2C协议)
  • WiFi模块(ESP8266-01s)
  • MQ-2烟雾传感器
  • BH1750光照强度传感器
  • 28BYJ51步进电机
  • 继电器
  • 蜂鸣器
  • LED灯

三、原理图设计

四、PCB硬件设计

1.PCB图 

2.PCB打板焊接图:

五、程序设计 

  1. int main ( void )
  2. {
  3. /* 系统时钟树配置 */
  4. RCC_Configuration();
  5. /* 中断系统配置 */
  6. NVIC_Configuration();
  7. /* 初始化硬件延时, 使用滴答定时器完成 */
  8. delay_init();
  9. /* 板级初始化 */
  10. DEBUG_UART_Config( );
  11. DEBUG_LOG("Bsp init\n");
  12. /* 上电延时,等待各个模块运行稳定 */
  13. delay_ms( 200 );
  14. RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOF, ENABLE); //使能相应接口的时钟,以及RCC_APB2Periph_AFIO
  15. GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); //禁用JTAG
  16. /* 初始化定时器3, 中断频率 1000hz */
  17. FML_TIME_Init();
  18. FML_TIME_Register(Sys_timer_handle, 1); //系统时间片,1tick = 1ms
  19. FML_TIME_Start(Sys_timer_handle); //开启定时
  20. /* 配置按键引脚 */
  21. //Key_GPIO_Config(p_SysParamHandle->p_keyhandle);
  22. /* LED Fan IO 初始化 */
  23. LED_Init( );
  24. BEEP_Init();
  25. Moto_Init();
  26. /* dht11 初始化 */
  27. DHT11_Init();
  28. /* 语音模块初始化 */
  29. ld3322_init( );
  30. RegisterLd3322(p_SysParamHandle->psLdHandle, CmdList, CMD_NUM); /*!< 注册指令参数表 */
  31. Switch_GPIO_Config( );
  32. /* 机智云SDK初始化 */
  33. Gizwits_Init();
  34. /* 0.96OLED初始化 */
  35. OLED_Init();
  36. BH1750_Init();
  37. ADC_Sensor_Init();
  38. /*!< 延时确保初始页面错误 */
  39. delay_ms(300);
  40. /* OLED显示初始画面 */
  41. OLED_InitPage( );
  42. while ( 1 )
  43. {
  44. /* 传感器数据 */
  45. if (p_SysParamHandle->u32SensorTim == 0)
  46. {
  47. p_SysParamHandle->u32SensorTim = 200;
  48. p_SysParamHandle->u16Lightness = bh_data_read( ); //!< 读取光照强度
  49. get_mq2_value( &p_SysParamHandle->fMqValue ); //!< 读取烟雾浓度
  50. DHT11_Read_TempAndHumidity( p_SysParamHandle->psDHT11DataHandle );//!< 读取温湿度
  51. }
  52. /* ld3320语音识别模块 */
  53. uint16_t index;
  54. if (psLdHandle->bl_rev_cmd_flg == CMD_REV_OK)
  55. {
  56. psLdHandle->bl_rev_cmd_flg = CMD_REV_NO_OK;
  57. for (index=0; index<psLdHandle->u16_cmd_num; index++)
  58. {
  59. if (!strcmp(psLdHandle->pCmdTable[index].cmd_str, psLdHandle->pu8_rev_cmd_buf))
  60. {
  61. psLdHandle->pCmdTable[index].funCallback();
  62. DEBUG_LOG("Ld3322 check OK\n");
  63. break;
  64. }
  65. }
  66. if (index == psLdHandle->u16_cmd_num)
  67. {
  68. DEBUG_LOG("Ld3322 Erorr\n");
  69. }
  70. User_MemSet(psLdHandle->pu8_rev_cmd_buf, 0x0, 30);
  71. }
  72. /* 机智云云端协议处理 - 任务 */
  73. gizwitsHandle( p_SysParamHandle->p_DataPoint );
  74. /* 机智云数据同步 - 任务 */
  75. app_SyncData_Task( p_SysParamHandle );
  76. /* oled参数更新 - 任务 */
  77. char str[16] = {0};
  78. if (p_SysParamHandle->u32LcdUpdateTim == 0)
  79. {
  80. /* 任务时间重装载 */
  81. p_SysParamHandle->u32LcdUpdateTim = 1000;
  82. sprintf(str, "%d", p_SysParamHandle->psDHT11DataHandle->temp_int);
  83. OLED_ShowCnAndAsciiStr(40, 0, str, 2);
  84. sprintf(str, "%d", p_SysParamHandle->psDHT11DataHandle->humi_int);
  85. OLED_ShowCnAndAsciiStr(40, 2, str, 2);
  86. sprintf(str, "%d", p_SysParamHandle->u16Lightness);
  87. OLED_ShowCnAndAsciiStr(80, 4, str, 2);
  88. sprintf(str, "%.2f", p_SysParamHandle->fMqValue);
  89. OLED_ShowCnAndAsciiStr(80, 6, str, 2);
  90. /* 机智云事件处理 - 线程 */
  91. app_GizwitsDataEvent_Handle( p_SysParamHandle );
  92. }
  93. }
  94. }

六、实验效果 

七、资料内容

项目分享

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/883712
推荐阅读
相关标签
  

闽ICP备14008679号