今天是2025年的元旦,首先祝大家元旦快乐,希望大家在新的一年里,身体健康,工作顺利,万事如意。 【前言】 在【GUI板免费申请活动】STM32H745I-DISCO 环境监测 - ST中文论坛活动 ST意法半导体中文论坛 这一篇中,我使用温湿度传感器制作了一个环境监测的小DEMO,这一篇是在这一篇的基础之上,添加小台灯的控制,其实实现原理是在图形界面添加一个滑动组件,一个文本组件,一个图标。其中滑动组件滑动事件产生事件的变化,将变化的值传给文本组件,实现数据的实时变动,以及通过对图标组件的ALPHA值进行变换实现图标的亮与灭。同时通过pwm的信息来控制一组IO的pwm占空比的输出,来控制小台灯的亮度。 【硬件】 STM32H745I-DISCO开发板。 5V小台灯。 MOS驱动模块。 【软件实现】 1、在TouchGFX中添加一个图标 2、添加一个文件框,添加buff 3、添加一个滑动组件,设置如下: 4、为滑动添加一个事件函数: 【STM32CubeMX工程设置】 生成工程后,使用stm32cubeMX打开工程,添加pwm配置,根据原理图我选择开发板的标准Arduino接口的ARD_D5作来pwm输出接口,IO为PA8,其原理图如下: 2、在STM32CubeMX中配置它为通用pwm输出接口。从时钟树上查到TIM1的主频为200MHz,因此我把分频系数配置为200-1,溢出值设置为1000-1,即输出为1KHz的pwm波形,初值计数值为0,就是初始化后占空比为0,LED灯关闭。 【用户代码实现】 生成工程后,使用mdk打开工程。 1、在screen_view.hpp中添加我们在touchGFX desiger上面生成的滑动组件的实现函数:
2、在screen1_view.cpp中实现这个函数:
3、在main.c中需要添加一句 编译下载到开发板。通过对滑动模块的左右调节,就可以实现显示亮度,同时也可以实时实现对小台灯的控制。 视频介绍:【STM32H745-创意小台灯】 https://www.bilibili.com/video/BV1FG6oYeExe/?share_source=copy_web&vd_source=46ffd4c7b1be3ec2b63adcc32d97b26b 附源码: |
【GUI板免费申请活动】STM32H745I-DISCO 环境监测
【圣诞专享活动】使用STM32H750显示圣诞图片和个人logo
【GUI板免费申请活动】【圣诞GUI】AI圣诞老人送礼
兔哥不务正业的GFX-01-圣诞活动
【STM32H7S78-DK评测】-3 RT-Thread 初步移植排坑记录
2024年STM32巡回研讨会——北京站观后感
2024年STM32巡回研讨会(STM32不止于芯)南京站(9月7日)
STM32不止于芯-广州站
2024年STM32“不止于芯”巡回研讨会-南京站
【STM32H7S78-DK评测】-2 H7RS芯片新特性