开源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