STM32项目分享:STM32万年历(升级版)

目录

一、前言

二、项目简介

1.功能详解

2.主要器件

三、原理图设计

四、PCB硬件设计

PCB图

五、程序设计

六、实验效果

七、资料内容

项目分享


一、前言

项目成品图片:

哔哩哔哩视频链接:

STM32万年历(升级版)

(资料分享见文末)

二、项目简介

1.功能详解

基于STM32万年历(升级版)

功能如下:

  1. 时间显示:OLED显示当前时间,包括年月日时分秒周
  2. 闹钟设置:有三个闹钟位可供设置通过按键设置闹钟,到时间蜂鸣器和LED灯声光报警
  3. 温湿度检测:使用DHT11温湿度传感器采集室内温湿度,显示在屏幕第二页
  4. 光照采集:使用BH1750传感器采集光强度,显示在屏幕的第二页
  5. 蓝牙APP:通过蓝牙连接手机APP,可远程查看室内温湿度、光照数据,一键矫正时间
  6. APP闹钟设置:手机APP可设置闹钟,方法和按键操作效果一样

2.主要器件

  • STM32F103C8T6单片机
  • OLED 屏幕
  • DHT11温湿度传感器
  • BH1750光照模块
  • BT04A蓝牙模块
  • 有源蜂鸣器
  • LED灯

三、原理图设计

四、PCB硬件设计

PCB图

五、程序设计

cpp 复制代码
#include "sys.h"
#include "usart3.h"


SENSOR SensorData;//传感器结构体定义
SYSTEM System;//系统标志位结构体定义

void mqttPublic(void);
void Threshold_Init(void);

int main(void)
{
    delay_init();//延时函数初始化  
    NVIC_Config(); //中断优先级配置
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    My_USART1();//串口1初始化 (调试打印用) 波特率:9600 
    Usart3_Init(9600);//串口3初始化 (与HC-05通信用)波特率:115200
    LED_GPIO_Config();//LED灯初始化
    Beep_Init();
    oled_Init();//oled初始化
    BH1750_Init();//BH1750初始化
    
    DHT11_Init();//温湿度传感器初始化    
    KEY_Init();//按键初始化
    Threshold_Init();//传感器阈值及执行器件开关变量初始化
    TIM1_Int_Init(99,3599);//定时器1初始化 定时扫描按键
    MyRTC_Init();//RTC时钟初始化
    while(1)			
    {
        SensorData.LightVal = bh_data_read();
        DHT11_Read_TempAndHumidity(&dht11Data);//获取温湿度;
        Mode_Decide();//模式判定 (按键1选择模式)

        if(System.BT_Pub)
        {
            u3_printf("Sensor1:%d#,Sensor2:%d#,Sensor3:%.2f#",dht11Data.temp_int,dht11Data.humi_int,SensorData.LightVal);
            System.BT_Pub=0;
        }      
    }
}
	

//传感器阈值及执行器件开关变量初始化
void Threshold_Init(void)
{ 
    System.Switch1=System.Switch2=System.Switch3=System.Switch4=0;
    System.BT_Pub=0;
    System.ClearFlag=0;
    Alarm1.Hour=10;
    Alarm1.Minute=20;   
    Alarm1.Second=0;
    Alarm2.Hour=11;
    Alarm2.Minute=20;   
    Alarm2.Second=0;  
    Alarm3.Hour=12;
    Alarm3.Minute=20;   
    Alarm3.Second=0;     
}

六、实验效果

七、资料内容

项目分享

相关推荐
电院工程师5 小时前
SIMON64/128算法Verilog流水线实现(附Python实现)
python·嵌入式硬件·算法·密码学
Shang180989357265 小时前
T41LQ 一款高性能、低功耗的系统级芯片(SoC) 适用于各种AIoT应用智能安防、智能家居方案优选T41L
人工智能·驱动开发·嵌入式硬件·fpga开发·信息与通信·信号处理·t41lq
BreezeJuvenile6 小时前
外设模块学习(8)——HC-SR04超声波模块(STM32)
stm32·单片机·嵌入式硬件·学习·超声波测距模块·hc-sr04
安庆平.Я8 小时前
STM32——定时器
stm32·单片机·嵌入式硬件·定时器
ACP广源盛139246256739 小时前
(ACP广源盛)GSV2231---DisplayPort 1.4 MST 到 HDMI 2.0/DP/Type-C 转换器(带嵌入式 MCU)
c语言·开发语言·单片机·嵌入式硬件·音视频·mst
电鱼智能的电小鱼10 小时前
基于电鱼 ARM 边缘网关的智慧工地数据可靠传输方案——断点续传 + 4G/5G冗余通信,保障数据完整上传
arm开发·人工智能·嵌入式硬件·深度学习·5g·机器学习
范纹杉想快点毕业10 小时前
12个月嵌入式进阶计划ZYNQ 系列芯片嵌入式与硬件系统知识学习全计划(基于国内视频资源)
c语言·arm开发·单片机·嵌入式硬件·学习·fpga开发·音视频
NEU-UUN11 小时前
1.2.STM32简介——全程手敲板书
stm32·单片机·嵌入式硬件
三佛科技-1341638421211 小时前
全自动削皮机方案,果蔬去皮机/削皮机MCU控制方案开发设计
单片机·嵌入式硬件
应用市场11 小时前
基于STM32的多模态智能门锁系统设计与实现
stm32·单片机·嵌入式硬件