你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【GUI板免费申请活动】STM32H745I-DISCO 调光小台灯

[复制链接]
lugl 发布时间:2025-1-1 21:00

今天是2025年的元旦,首先祝大家元旦快乐,希望大家在新的一年里,身体健康,工作顺利,万事如意。

【前言】

【GUI板免费申请活动】STM32H745I-DISCO 环境监测 - ST中文论坛活动 ST意法半导体中文论坛

这一篇中,我使用温湿度传感器制作了一个环境监测的小DEMO,这一篇是在这一篇的基础之上,添加小台灯的控制,其实实现原理是在图形界面添加一个滑动组件,一个文本组件,一个图标。其中滑动组件滑动事件产生事件的变化,将变化的值传给文本组件,实现数据的实时变动,以及通过对图标组件的ALPHA值进行变换实现图标的亮与灭。同时通过pwm的信息来控制一组IO的pwm占空比的输出,来控制小台灯的亮度。

【硬件】

STM32H745I-DISCO开发板。

5V小台灯。

MOS驱动模块。

【软件实现】

1、在TouchGFX中添加一个图标

2、添加一个文件框,添加buff

image.png

3、添加一个滑动组件,设置如下:

image.png

4、为滑动添加一个事件函数:

image.png

【STM32CubeMX工程设置】

生成工程后,使用stm32cubeMX打开工程,添加pwm配置,根据原理图我选择开发板的标准Arduino接口的ARD_D5作来pwm输出接口,IO为PA8,其原理图如下:

image.png

2、在STM32CubeMX中配置它为通用pwm输出接口。从时钟树上查到TIM1的主频为200MHz,因此我把分频系数配置为200-1,溢出值设置为1000-1,即输出为1KHz的pwm波形,初值计数值为0,就是初始化后占空比为0,LED灯关闭。

image.png

【用户代码实现】

生成工程后,使用mdk打开工程。

1、在screen_view.hpp中添加我们在touchGFX desiger上面生成的滑动组件的实现函数:

class Screen1View : public Screen1ViewBase
{
public:
    Screen1View();
    virtual ~Screen1View() {}
    virtual void setupScreen();
    virtual void tearDownScreen();
        void set_temp_hum(float temp, float hum);
        void handleTickEvent();
        virtual void lightChange(int value);  //滑动组装值变化事件回调函数
protected:
};

2、在screen1_view.cpp中实现这个函数:

  void Screen1View::lightChange(int value)
{
    Unicode::snprintf(texLightBuffer,10,"%d",value);  //更改文本显示
    texLight.invalidate();
    imageLight.setAlpha((int)value*2.5);  //更改图片显示
    imageLight.invalidate();
    __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, value*10);  //修改pwm占空比
}

3、在main.c中需要添加一句HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);来开启定时器

编译下载到开发板。通过对滑动模块的左右调节,就可以实现显示亮度,同时也可以实时实现对小台灯的控制。

视频介绍:【STM32H745-创意小台灯】 https://www.bilibili.com/video/BV1FG6oYeExe/?share_source=copy_web&vd_source=46ffd4c7b1be3ec2b63adcc32d97b26b

附源码:

收藏 评论1 发布时间:2025-1-1 21:00

举报

1个回答
背影101 回答时间:2025-1-13 16:19:47
点赞

所属标签

ST中文论坛活动

即日起开启活动话题入口,之后的活动统一都放在此处,欢迎大家的加入!


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版