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

#需求

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

#平台

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

#视频效果

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

部分代码:

cpp 复制代码
/ 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); // 显示图标  电能bar
			
			  lv_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

相关推荐
暖焰核心18 分钟前
GPIO ——从端口位电路到八种工作模式
stm32
老k一步步来27 分钟前
鸣志驱动器 Alarm_CodeTypeDef 状态报警位详解
嵌入式硬件
星栖与芯1 小时前
LiteOS-M 切换汇编逐行图解(5):HalPendSV 任务切换的现场搬运(五阶段逐行)
汇编·stm32·嵌入式硬件·harmonyos
2601_958352901 小时前
不改PCB也能调拾音方向?真相在这。
前端·嵌入式硬件·回声消除·语音模块·降噪处理
M78佐菲1 小时前
ARM学习笔记(四)
linux·arm开发·笔记·嵌入式硬件·学习
半导体憨包1 小时前
光伏组件级MLPE功率优化器DCDC:25年寿命+IP67+雷击,怎么设计才不“翻车“?
嵌入式硬件·硬件工程·dc-dc·半导体芯片
LCG元1 小时前
STM32F103 双ADC交错采样实战:DUALMOD寄存器拆解、DMA位宽陷阱与1.71MSPS有效采样率实测
stm32·单片机·嵌入式硬件
Industio_触觉智能2 小时前
瑞芯微RK3576开发板部署模型|端侧Agent工具调用实现拆解
嵌入式硬件·agent·智能硬件·开发板·瑞芯微·端侧部署·rk3576
星栖与芯11 小时前
LiteOS-M 切换汇编逐行图解(4):中断三件套与 HalTaskSchedule 触发
汇编·stm32·单片机·嵌入式硬件·harmonyos
G***技17 小时前
告别物联网碎片化:杰和LH707+LM2-100-V0联合方案给出标准答案
人工智能·嵌入式硬件