【单片机毕业设计6-基于stm32c8t6的智能衣柜系统】

【单片机毕业设计6-基于stm32c8t6的智能衣柜系统】


前言

🔥这里是小殷学长,单片机毕业设计篇6基于stm32的智能衣柜系统
🧿创作不易,拒绝白嫖可私

在这里插入图片描述


一、功能介绍

------------------------------------------智能衣柜系统-----------------------------------------
1.OLED可实时显示当前温湿度,光敏值和衣柜,风扇,灯光状态(开/关)
2.可通过按键进行温湿度阈值修改和风扇,衣柜门开关的控制
3.超过阈值蜂鸣器发出警报
4 通过蓝牙将当前各个数据发送到手机蓝牙APP上,并可通过蓝牙进行界面切换和参数修改
5.通过语音进行界面切换和参数修改
功能可定制


🔥 实物展示
在这里插入图片描述

二、硬件部分

下面为该毕设中所用到的相关硬件说明,具体参数不做细节描述

硬件材料

在这里插入图片描述

PCB和原理图

在这里插入图片描述

在这里插入图片描述

三、软件部分

在这里插入图片描述

main.c部分代码

int main(void)
{		

	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
	delay_init();
	LED_Init();               //LED初始化
	Fan_Init();                //风扇初始化
	Buzzer_Init();            //蜂鸣器初始化
	DHT11_Init();             //温湿度初始化
	servo_init();             //sg90舵机初始化
	Init_Usart();             //串口初始化
	Exit_Init();              //按键外部中断初始化
	Lsens_Init();             //光敏初始化
	OLED_Init();              //OLED初始化
	OLED_Clear(0);
	Buzzer_Voice();
	Servo_Run(45);
	while(1)
	{	
		  DHT11_Read_Data(&temp,&humi);
		  Interface_Task(index_mode);     //界面显示
		  Logical_Task();                 //逻辑处理
		  ldr_task();                     //光敏处理
		  Usart_Task();                   //串口任务
		  TIM_SetCompare1(TIM3,current_duty);		
	}
}
void Logical_Task(void)
{
  //开门即开灯
	light_flag = (door_flag == 1)?(1):(0);     //三目运算
	if(light_flag == 0)
	{
		 current_duty = 0;
	}
	//将各项数据发送到手机蓝牙端 2s更新一次
	if(usart_flag == 1)
	{
		usart_flag = 0;
	  sprintf((char *)send_buf,"[%02d:%02d:%02d]-R_T[%02d] R_H[%02d]- S_T[%02d] S_H[%02d]\r\n",hour,min,sec,temp,humi,s_temp,s_humi);
		 USART1_SendString((unsigned char *)"-----------current data---------\r\n");
		 USART1_SendString(send_buf);
		 USART1_SendString((unsigned char *)"--------------------------------\r\n"); 
	}
	//风扇控制
	if((fan_flag == 1 && flag1 == 0) || (flag1 ==1))
	{
		FAN_ON() ;
	}
	else if(fan_flag == 0 && flag1 == 0 || flag1 == 0)
	{
		FAN_OFF();
	}
	
	//门开关
	if(door_flag == 1)
	{
		if(flag == 0)
		{			
			Servo_Run(135);
			flag = 1;
		}
	}
	else
	{
		if(flag == 1)
		{
				Servo_Run(45);
			  flag = 0;
		}
	}
	//温湿度阈值判断
	fan_flag = ((temp > s_temp || humi > s_humi ) ) ?(1):(0);
	//温度过高报警提示
	if((temp > s_temp || humi > s_humi ))
	{
		Buzzer_Voice();
		Buzzer_Voice();
	}
}

总结

上面为基于stm32f103c8t6的智能衣柜系统设计相关的大致介绍,源码,pcb和原理图以及相关文档说明做了详细说明,有需可私

在这里插入图片描述

🧿创作不易,拒绝白嫖

在这里插入图片描述

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于STM32C8T6的简易计算器是一种基于单片机的计算器设备,它可以执行基本的数学计算,例如加法、减法、乘法和除法等操作。 该计算器的硬件部分由STM32C8T6单片机作为核心控制器,具有一块液晶显示屏、按键和一些必要的电子元件组成。单片机通过读取按键输入来获取用户输入的数值和操作符,并将操作结果显示在液晶屏上。 软件部分是基于STM32C8T6单片机的编程代码,它通过轮询方式来检测按键的输入,并根据用户的操作符选择对应的算术操作。例如,当用户按下“+”键时,计算器将获取两个数值,执行加法运算,并将结果显示在液晶屏上。 为了实现这个简易计算器,需要进行以下步骤: 1. 配置STM32C8T6单片机的IO口和外设(液晶屏、按键)的连接。 2. 编写按键输入的检测函数,根据不同的按键设置中断或轮询检测方式。 3. 编写数值输入函数,用于获取用户输入的数值,并设置合适的数据类型来存储这些数值。 4. 编写算术操作函数,根据操作符进行相应的数学运算,并返回计算结果。 5. 编写显示函数,将计算结果显示到液晶屏上。 6. 将以上所有函数整合到一个主程序中,实现简易计算器的整体功能。 STM32C8T6作为一款强大的微控制器,具有丰富的资源和功能,可以通过编程来灵活控制各种外设和实现复杂的功能。基于其上的简易计算器是一个简单的应用案例,但在实现过程中需要仔细规划和编码,确保功能的正确实现和良好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小殷学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值