067、STM32项目分享:语音儿童学习书桌系统

目录

一、项目成品图片

二、项目功能简介

1.主要器件组成

2.功能详解介绍

三、项目原理图设计

四、项目PCB硬件设计

项目PCB图

五、项目程序设计

六、项目实验效果 ​编辑

七、项目包含内容

一、项目成品图片

哔哩哔哩视频链接:

https://www.bilibili.com/video/BV1QzqFBjECz/?spm_id_from=333.1387.upload.video_card.click

资料分享看文章末尾

二、项目功能简介

1.主要器件组成

本设计由STM32F103C8T6单片机+WIFI模块ESP8266-01S电路+oled屏幕电路+语音识别模块电路+DHT11温湿度传感器电路+光敏传感器电路+hc-sr04超声波传感器电路+hc-sr501人体热释传感器电路+SG90舵机+蜂鸣器电路+LED电路+按键电路+电源电路组成。

2.功能详解

(1)环境采集:DHT11温湿度传感器采集温度和湿度、光敏传感器检测光照强度是否正常、hcsr04超声波传感器传感器检测坐姿情况、人体热释传感器检测是否有人。

(2)屏幕显示:OLED屏幕显示当前温度、湿度、光照强度、坐姿情况、台灯照明状态、是否有人、书桌高度信息

(3)书桌调节:可通过按键调节书桌高度

(4)语音识别:通过语音识别控制自动手动模式切换,台灯开关、书桌高度体调节

(4)人体检测:人体热释传感器检测是否有人

(5)台灯照明:当检测到有人时,通过光敏传感器检测光照强度,光照过低时自动开启照明。

(6)智能节能:当检测到无人或者光照充足时自动关闭照明

(7)坐姿监测:超声波传感器传感器检测坐姿情况,当检测到的坐姿异常时声光报警

(8)阈值设置:可通过按键app设置温度、湿度、坐姿阈值和光照阈值、书桌高度

(9)温度提醒:温度大于设置的阈值时声光报警

(10)湿度提醒:湿度大于设置的阈值时声光报警

(11)远程控制:通过WIFI连接手机APP,APP可以查看当前环境信息数据,可调节阈值范围

三、项目原理图设计

四、项目PCB硬件设计

五、项目程序设计

复制代码
#include "stm32f10x.h"
#include "delay.h"
#include "usart.h"
#include "USART2/usart2.h"
#include "oled.h"
#include "timer.h" 
#include "adc.h"
#include "menu.h"
#include "key.h"
#include "modules.h"
#include "DHT11/dht11.h"
#include "beep.h"
#include "HCSR/hcsr.h"
#include "light.h"
#include "led.h"
#include "hcsr501.h"
#include "sg90.h"
#include "usart3.h"
#include "voice.h"

/****************破晓电子工作室*******************
		              
***          破晓单片机											
***          项目:STM32语音儿童学习书桌系统
***          BILIBILI:破晓单片机
***          小红书:破晓单片机
***          授权IP:破晓单片机
***          淘宝:破晓单片机 
***          淘宝:破晓电子 
***          版本:V01.01
***          MCU:STM32F103C8T6

******************破晓单片机***********************/

//显示界面
CaiDanJieGouTi  KeyTab[SIZE_CAIDAN]=
{
    {0 ,0 ,0 ,0 ,0 ,Main_Menu0}, 
	{1 ,1 ,1 ,1 ,1 ,Main_Menu1},  
	{2 ,2 ,2 ,2 ,2 ,Main_Menu2},  
	{3 ,3 ,3 ,3 ,3 ,Main_Menu3},   
	{4 ,4 ,4 ,4 ,4 ,Main_Menu4},
	{5 ,5 ,5 ,5 ,5 ,Main_Menu5},   
	{6 ,6 ,6 ,6 ,6 ,Main_Menu6},  
    {7 ,7 ,7 ,7 ,7 ,Main_Menu7},	 
	{8 ,8 ,8 ,8 ,8 ,Main_Menu8},   
 
} ;

//传感器变量声明
typedef struct
{
	u8 temp;//
	u8 humi;//
	uint16_t light;//
	uint16_t juli;//
	uint16_t youren;//
	uint16_t yuyin;//
	uint16_t gaodu;//
}SensorModulesValue;

typedef struct
{
	uint8_t tempTV;//阈值
	uint8_t humiTV;//阈值
	uint16_t lightTV;//阈值
	uint16_t juliTV;//阈值
}SensorThresholdValue;

typedef struct
{
	uint8_t BEEPFlag;
	uint8_t LEDFlag;
	uint8_t MODEFlag;				
}DriveFlag;

int main(void)
 {
			delay_init();
			TIM3_Int_Init(9,7199);//定时器初始化
			OLEDGUI_Config(); 				//OLED 	
			OLEDGUI_DispString(30,16,"Init...",16,1);	  	 
	 		key_Init();//按键初始化
	 		Adc_Init();//Adc初始化
			beep_Init();//beep初始化
			DHT11_Init();//DHT11初始化
			hcsr_Init();//hcsr初始化
			led_Init();//led初始化
			HCSR501_Init();//HCSR501初始化
			relay_Init();//relay初始化
			SG90_Init();//SG90初始化
 
			SensorThresholdSet();//阈值初始化
			uart1_init(9600);
			delay_ms(100);
			uart2_init(9600);
			delay_ms(100);	
			memset((uint8_t *)&currentDataPoint, 0, sizeof(dataPoint_t));	 
			gizwitsInit();
			OLEDGUI_Clear();				//OLED清屏
	while(1)
	{	
            //获取按键值     
			key_scan();		
            //进入菜单界面显示处理数据
			GetKeylnput(&Keystatus); 
            //获取传感器数据
			SensorDataGet();

            //数据上传	
			currentDataPoint.valueTemp=SensorData.temp;
			currentDataPoint.valueHumi=SensorData.humi;
			currentDataPoint.valueLight=SensorData.light;
			currentDataPoint.valueJuli=SensorData.juli;	
			currentDataPoint.valuegaodu=SensorData.gaodu;					
			currentDataPoint.valueYouren=SensorData.youren;
			currentDataPoint.valueLED=DriveFlagData.LEDFlag;		
  
			gizwitsHandle((dataPoint_t *)&currentDataPoint);

            //数据下发
			Sensorthreshold.tempTV=currentDataPoint.valueTempyz;
			Sensorthreshold.humiTV=currentDataPoint.valueHumiyz;
			Sensorthreshold.lightTV=currentDataPoint.valuelightyz;
			Sensorthreshold.juliTV=currentDataPoint.valuejuliyz;
			delay_ms(100);	
 
	}	
 }

六、项目实验效果 ​

七、项目包含内容

相关推荐
梁朝辉10 小时前
STM32H750VBT6中ADCINP与INN什么区别
stm32·单片机·嵌入式硬件
省四收割者11 小时前
一文详解信号完整性(1)
python·嵌入式硬件·数学建模·信息与通信·信号处理·智能硬件
崇山峻岭之间12 小时前
单片机无感FOC驱动之ADC
单片机·嵌入式硬件
Ligocious13 小时前
1.点亮一颗小小的LED
单片机·嵌入式硬件
KaifuZeng16 小时前
通信与接口协议面试八、CAN通信
单片机·嵌入式硬件·面试·通信与接口协议
智源单片机设计17 小时前
基于单片机的直流电机双闭环调速系统设计
单片机·嵌入式硬件
kebidaixu18 小时前
两轮车换电 BMS 的模拟前端中颖 SH367306 AFE 芯片详解
stm32
kebidaixu18 小时前
两轮车换电 BMS 的模拟前端中颖 SH367306 AFE 芯片调试实录:四个关键问题与解决方案
stm32
KaifuZeng1 天前
通信与接口协议面试一、基本概念
嵌入式硬件·通信与接口协议