当前位置: 首页 > news >正文

开源STM32F429汽车仪表盘基于LVGL界面

#需求

  设计两个仪表盘,速度和转速表盘、能源(电)表、温度表、报警图标显示、附加信息显示,这个用LVGL吧   然后通过电脑发送数据,USB转CAN总线  来操控仪表盘显示

#平台

    正点原子阿波罗STM32F429IGT6开发板。显示屏使用4.3寸显示屏,基于lvgl界面开发工具,

#视频效果

这个人发了代码就不回消息,界面定制不给钱

  部分代码:

/ FUNCTIONS 
//设置转速 传入实际转速 8000转 、 5000转
void set_zuansu(int zuansu)
{int z = zuansu /100;lv_meter_set_indicator_value(ui_mater_zhuansu, indic_zuansu, z);
}//设置速度 传入实际速度,例如:80km/h 、 50km/h
void set_speed(int speed)
{int s = round(speed/2);lv_meter_set_indicator_value(ui_mater_speed, indic_speed, s);lv_label_set_text_fmt(ui_lbl_speed, "%d",speed);
}//设置温度
void set_tmp(int temp)
{lv_bar_set_value(ui_Bar1, temp, LV_ANIM_OFF);lv_label_set_text_fmt(ui_lbl_tmp, "%d*C",temp);
}//设置电量
void set_elc(int elc)
{lv_bar_set_value(ui_bar_elc, elc, LV_ANIM_OFF);lv_label_set_text_fmt(ui_lbl_elc, "%d%%",elc);
}uint8_t visible;
void anquandai()
{if (visible) {lv_obj_add_flag(ui_aqd, LV_OBJ_FLAG_HIDDEN); // 隐藏图标lv_obj_add_flag(ui_warn, LV_OBJ_FLAG_HIDDEN); // 隐藏图标lv_obj_add_flag(ui_sc, LV_OBJ_FLAG_HIDDEN); // 隐藏图标lv_obj_add_flag(ui_left, LV_OBJ_FLAG_HIDDEN); // 隐藏图标//lv_obj_add_flag(ui_Bar1, LV_OBJ_FLAG_HIDDEN); // 隐藏图标//lv_obj_add_flag(ui_bar_elc, LV_OBJ_FLAG_HIDDEN); // 隐藏图标lv_obj_add_flag(ui_img_shuiwen, LV_OBJ_FLAG_HIDDEN); // 隐藏图标lv_obj_add_flag(ui_img_youliang, LV_OBJ_FLAG_HIDDEN); // 隐藏图标} else {lv_obj_clear_flag(ui_aqd, LV_OBJ_FLAG_HIDDEN); // 显示图标lv_obj_clear_flag(ui_warn, LV_OBJ_FLAG_HIDDEN); // 隐藏图标lv_obj_clear_flag(ui_sc, LV_OBJ_FLAG_HIDDEN); // 显示图标lv_obj_clear_flag(ui_left, LV_OBJ_FLAG_HIDDEN); // 显示图标//lv_obj_clear_flag(ui_Bar1, LV_OBJ_FLAG_HIDDEN); // 显示图标   温度bar//lv_obj_clear_flag(ui_bar_elc, LV_OBJ_FLAG_HIDDEN); // 显示图标  电能barlv_obj_clear_flag(ui_img_shuiwen, LV_OBJ_FLAG_HIDDEN); // 显示图标lv_obj_clear_flag(ui_img_youliang, LV_OBJ_FLAG_HIDDEN); // 显示图标}visible = !visible;
}
/ SCREENS 
uint16_t FlashFlag = 0;
void ui_init(void)
{lv_disp_t * dispp = lv_disp_get_default();lv_theme_t * theme = lv_theme_default_init(dispp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_RED),false, LV_FONT_DEFAULT);lv_disp_set_theme(dispp, theme);ui_Screen1_screen_init();ui____initial_actions0 = lv_obj_create(NULL);lv_disp_load_scr(ui_Screen1);FlashFlag = 1;
}

开源连接:

基于lvgl汽车仪表(平台STM32F429): #需求  设计两个仪表盘,速度和转速表盘、能源(电)表、温度表、报警图标显示、附加信息显示,这个用LVGL吧   然后通过电脑发送数据,USB转CAN总线  来操控仪表盘显示#平台    正点原子阿波罗STM32F429IGT6开发板。显示屏使用4.3寸显示屏,基于lvgl界面开发工具,https://gitee.com/szangell_2240885967/lvgl.git

http://www.xdnf.cn/news/565687.html

相关文章:

  • 游戏引擎学习第303天:尝试分开对Y轴和Z轴进行排序
  • SkyWalking 报错:sw_profile_task 索引缺失问题分析与解决
  • 【Java学习笔记】main方法
  • 虚幻基础:摄像机
  • 真实世界中的贝叶斯网络:Bootstrap、模型平均与非齐次动态的科研应用
  • GPT 等decoder系列常见的下游任务
  • 【VSCode】安装与 ssh 免密登录
  • 基于Springboot + vue3实现的流动摊位管理系统
  • curl: (35) Peer reports incompatible or unsupported protocol version.
  • 弱网服务器群到底有什么用
  • [案例七] NX二次开发标识特征的导入与布尔运算
  • YOLO训练输入尺寸代表什么 --input_width 和 --input_height 参数
  • java 集合总结
  • 小黑黑prompt表述短语积累1
  • 作物遗传与种质创新利用全国重点实验室-随笔10
  • CNN vs ViT:图像世界的范式演进
  • 【npm】npm命令大全
  • C#开发利器:SharpBoxesCore全解析
  • 智能门锁为什么需要做欧盟网络安全 EN18031 标准检测认证
  • osgEarth中视角由跟随模式切换到漫游模式后没有鼠标拖拽功能问题分析及解决方法
  • CICD遇到npm error code EINTEGRITY的问题
  • Ntfs!ATTRIBUTE_RECORD_HEADER结构$INDEX_ROOT=0x90的一个例子
  • SQL语句-常用版
  • Python学习——执行python时,键盘按下ctrl+c,退出程序
  • 系分论文《论软件系统安全分析和应用》
  • 如何使用deepseek帮助自己的工作
  • Dynamics 365 Business Central Azure application registration
  • 【泛微系统】后端开发Action常用方法
  • 新浪、京东golang一面整理
  • 大模型微调与高效训练