093、STM32项目分享开源:蓝牙智能晾衣架系统

目录

一、项目成品图片

二、项目功能简介

1.主要器件组成

2.功能详解介绍

三、项目原理图设计

四、项目PCB硬件设计

项目PCB图

五、项目程序设计

六、项目实验效果 ​编辑

七、项目包含内容

一、项目成品图片

哔哩哔哩视频链接:

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

资料分享看文章末尾

二、项目功能简介

1.主要器件组成

本设计由STM32F103C8T6单片机+蓝牙模块电路+OLED屏幕电路+DHT11温湿度传感器电路+SNR9813语音识别电路+光照传感器电路+雨滴传感器+ULN2003步进电机电路+继电器模块电路+加热电路+按键电路+电源电路组成。

2.功能详解

1、环境采集:DHT11温湿度传感器采集温度和湿度、雨滴传感器检测是否下雨、光敏传感器检测光照情况。

2、屏幕显示:OLED屏幕显示当前温度、湿度、光照强度、天气情况是否下雨、晾衣架状态、烘干状态和模式等信息。

3、下雨检测:通过雨滴传感器检测是否下雨。

4、光照检测:光敏传感器检测光照强度。

5、模式选择:选择自动模式和手动模式切换。

6、手动晾晒:通过app远程控制晾衣架伸出和收回功能,也可通过按键控制晾衣架伸出和收回功能。

7、自动晾晒:当下雨了或者阳光太低时,能自动收起晾衣架上的衣服。当天气良好时,能自动伸展开衣架晒衣服。具有识别晴天雨天的功能,自动实现收晾衣服功能。

8、语音控制:通过语音识别模块控制晾衣架伸出和收回。

9、自动烘干:检测到湿度大于60%湿度值自动开启烘干模式(手动模式下也可以手动打开和关闭烘干)。

10、阈值设置:可以设置光照和湿度阈值。

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

三、项目原理图设计

四、项目PCB硬件设计

五、项目程序设计

复制代码
#include "stm32f10x.h"
#include "delay.h"
#include "usart.h"
#include "GPIO/gpio.h"
#include "MYDATA/mydata.h"
#include "OLED/oled.h"
#include "timer.h" 
#include "HC05/hc05.h"
#include "ADC/adc.h"
#include "USART2/usart2.h"
#include "uln2003.h"
#include "DHT11/dht11.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
{
	uint16_t yuyin_flag;//	
	uint16_t xiayu_falg;//	
	uint16_t mode;//		
	uint16_t light;//
 
}SensorModulesValue;

typedef struct
{
	uint16_t lighyz;	 
	uint16_t humiyz;		
 
}SensorThresholdValue;

typedef struct
{
	uint8_t lyjfalg;	 
	uint8_t tianqi;		
 				
}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初始化
			ULN2003_IO_Init();//ULN2003初始化
			light_Init();//light初始化
			yudi_Init();//yudi初始化
			hot_Init();//hot初始化
        	HC05_Init();  
			SensorThresholdSet();//阈值初始化
			uart1_init(9600);
			delay_ms(100);
			uart2_init(9600);
			delay_ms(100);	
  
			OLEDGUI_Clear();				//OLED清屏
	while(1)
	{	
            //获取按键值     
			key_scan();		
            //进入菜单界面显示处理数据
			GetKeylnput(&Keystatus); 
            //获取传感器数据
			SensorDataGet();

            //数据上传	
			currentDataPoint.valueTEMP=SensorData.TEMP;
			currentDataPoint.valueHUMI=SensorData.HUMI;
			currentDataPoint.valueligh=SensorData.ligh;		
			currentDataPoint.valuexiayu_falg=SensorData.xiayu_falg;
  
			delay_ms(100);	
 
	}	
 }

六、项目实验效果 ​

​

七、项目包含内容

​​

图像 小部件

相关推荐
吠品5 小时前
智谱开源 ZCode 之后,真正的考试才开始
单片机·嵌入式硬件·1024程序员节
Chery11407 小时前
高速ADC与精密DAC怎么选?DP9230D与DP8532D应用解析
嵌入式硬件·物联网·射频工程
时早玖沐9 小时前
给 AstrBot 写一个天气推送插件:12 次提交、6 个坑
python·开源·ai编程
SL_staff10 小时前
制造业订单交付总踩坑?用结构化节点协同模型重构计划系统
java·开源·全栈
小李不想当小白10 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
LCG米10 小时前
STM32驱动W5500以太网模块实测:TCP吞吐瓶颈定位、TX指针回绕陷阱与断线重连保活落地
stm32·单片机·嵌入式硬件·tcp/ip
不悔哥10 小时前
开源 CrewTrack:ESP32 加 RFID,自己组一台刷卡考勤机
开源
SL_staff11 小时前
APS动态重排实践:在多品种小批量场景下实现5分钟插单响应
java·开源·产品
尼喃11 小时前
662K/65Z5三脚稳压芯片规格书—PW6566B33/B30引脚功能
嵌入式硬件
创界工坊工作室11 小时前
63-基于STC89C52霍尔传感器的智能化电能表设计
stm32·单片机·嵌入式硬件·51单片机·proteus