当前位置: 首页> 教育> 幼教 > 沈阳快速排名优化_江浦企业管理咨询服务有限公司_4001688688人工服务_乐天seo培训

沈阳快速排名优化_江浦企业管理咨询服务有限公司_4001688688人工服务_乐天seo培训

时间:2025/7/9 13:26:50来源:https://blog.csdn.net/qq_44016222/article/details/146112312 浏览次数:1次
沈阳快速排名优化_江浦企业管理咨询服务有限公司_4001688688人工服务_乐天seo培训

目录

一、前言

二、项目简介

1.功能详解

2.主要器件

三、原理图设计

四、PCB硬件设计

PCB图 

五、程序设计 

六、实验效果 

七、资料内容

项目分享


一、前言

项目成品图片:

哔哩哔哩视频链接:

STM32智能家居语音系统(ASRPRO版)

(资料分享见文末) 

二、项目简介

1.功能详解

基于STM32的智能家居语音系统(ASRPRO版)

功能如下:

  1. 基于STM32F103C8T6主控芯片
  2. 检测功能:系统检测周围 温湿度数据、烟雾浓度、光照强度
  3. 显示功能:将检测到的数据显示在oled屏幕上
  4. 手动模式:按键控制LED灯、风扇、窗帘、加湿器的开关
  5. 自动模式:温湿度、烟雾、光照阈值控制灯、窗帘、风扇、加湿器开关以及报警,
  6. 语音控制:系统也可以通过语音指令控制,LED灯、风扇、窗帘(步进电机模拟)、加湿器的运行。
  7. PWM调光/速:系统中的LED灯和风扇都支持PWM调节
  8. 阈值调节:系统传感器阈值大小可以通过按键自行设置调节
  9. 接入云平台:系统通过ESP8266 WIFI模块连接网络,接入机智云服务器
  10. 远程控制:可以通过APP查看传感器数据,以及远程控制
     

2.主要器件

  • STM32F103C8T6单片机
  • OLED 屏幕
  • DHT11温湿度传感器
  • MQ-2烟雾传感器
  • BH1750光照传感器
  • ESP8266-01S(WIFI模块)
  • ASRPRO语音模块
  • 有源蜂鸣器
  • 风扇模块
  • 大功率LED灯模块
  • 加湿器模块
  • 继电器
     

三、原理图设计

四、PCB硬件设计

PCB图 

五、程序设计 

#include "stm32f10x.h"                  // Device header
#include "oled.h"
#include "adcx.h"
#include "sensormodules.h"
#include "dht11.h"
#include "key.h"
#include "tim2.h"
#include "tim3.h"
#include "flash.h"
#include "motor.h"
#include "pwm.h"
#include "usart.h"
#include "iwdg.h"
#include "relay.h"
#include "usart3.h"	
#include "BH1750.h"
#include "fan.h"SensorModules sensorData;			//声明传感器模块的结构体变量
SensorThresholdValue Sensorthreshold;	//声明传感器阈值结构体变量
SystemState	systemState;	//声明系统状态结构体变量#define FLASH_START_ADDR	0x0801f000	//写入的起始地址uint8_t oledPages = 1;	//系统显示页面int main(void)
{OLED_Init();DHT11_Init();Key_Init();MOTOR_Init();Buzzer_Init();Relay_Init();Init_BH1750();LED_Init();Fan_Init();ADCX_Init();Timer2_Init(9, 14398);Uart2_Init(9600);Uart1_Init(115200);IWDG_Init();Uart3_Init();PWM_Init(100 - 1, 720 - 1);Sensorthreshold.tempValue = FLASH_R(FLASH_START_ADDR);	//从指定页的地址读FLASHSensorthreshold.humiValue = FLASH_R(FLASH_START_ADDR+2);	//从指定页的地址读FLASHSensorthreshold.luxValue = FLASH_R(FLASH_START_ADDR+4);	//从指定页的地址读FLASHSensorthreshold.smokeValue = FLASH_R(FLASH_START_ADDR+6);	//从指定页的地址读FLASHSensorthreshold.flameValue = FLASH_R(FLASH_START_ADDR+8);	//从指定页的地址读FLASHGENERAL_TIM_Init();userInit();		//完成机智云初始赋值gizwitsInit();	//开辟一个环形缓冲区gizwitsSetMode(WIFI_AIRLINK_MODE);Delay_ms(1000);while (1){IWDG_ReloadCounter();	//使能重装载寄存器计数SensorScan();	//获取传感器数据switch (oledPages){case DISPLAY_PAGE1:OLED_Menu1();	//显示主页面1固定信息SensorDataDisplay1();//显示传感器1数据/* 手动模式下按键控制执行器的运行 */if (!systemState.mode){LED_PWM_KEY();	//LED按键控制Fan_PWM_KEY();	//风扇按键控制/* 按键控制步进电机的运行 */if(KeyNum == KEY_4 && systemState.motorCommand.motorLocation == motorLocation_OFF){KeyNum = 0;systemState.motorCommand.motorAnterogradeFlag = 1;}else if ((KeyNum == KEY_4 && systemState.motorCommand.motorLocation == motorLocation_ON)){KeyNum = 0;systemState.motorCommand.motorReversalFlag = 1;}}/*按键按下时切换模式*/if (KeyNum == KEY_1){KeyNum = 0;systemState.mode = !systemState.mode;if (!systemState.mode){Buzzer_OFF();Relay_OFF();}}/*按键按下时进入阈值设计界面*/if (KeyNum == KEY_Long1){KeyNum = 0;oledPages = SETTINGS_PAGE;OLED_Clear();}Asrpro();	//语音控制MotorOperation();	//步进电机控制break;case SETTINGS_PAGE:OLED_Option(SetSelection());	//实现阈值设置页面的选择功能OLED_SetInterfacevoid();	//显示阈值设置界面1的固定内容ThresholdModification(SetSelection());	//实现阈值调节功能	//判断是否退出阈值设置界面if (KeyNum == KEY_2){KeyNum = 0;oledPages = DISPLAY_PAGE1;	//跳转到主界面OLED_Clear();	//清屏//存储修改的传感器阈值至flash内	FLASH_W(FLASH_START_ADDR, Sensorthreshold.tempValue,Sensorthreshold.humiValue,Sensorthreshold.luxValue, Sensorthreshold.smokeValue, Sensorthreshold.flameValue);}break;default: break;}userHandle();	//更新机智云数据点变量存储的值gizwitsHandle((dataPoint_t *)&currentDataPoint);	//数据上传至机智云					}
}

六、实验效果 

七、资料内容

项目分享

关键字:沈阳快速排名优化_江浦企业管理咨询服务有限公司_4001688688人工服务_乐天seo培训

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: