基于Qt的汽车仪表模拟
![HMI-6-[整体计划]:阶段性梳理_Qt](https://s2.51cto.com/images/blog/202107/27/550fd033c1504697e6d907b819e06aec.gif)
先看下效果图,目前只开发了液晶仪表部分。因为液晶仪表是用软件来模拟仪表,这种在视觉上虽然做的很好看了,但是可靠性相较于传统的仪表相对较弱,目前市场上面为了保证虚拟仪表系统的稳定性,大多会采用定制的实时系统入QNX等系统。
那么我目前这个仪表是用Qt开发出来的,而Qt的跨平台可以很轻松的编译一个QNX的版本出来。虽然目前只是实现了这个液晶仪表这部分,但是呢,整体规划还是比较打的哈。
看下目前的整个文件的结构。
![HMI-6-[整体计划]:阶段性梳理_框架_02](https://s2.51cto.com/images/blog/202107/27/42fc4613a80aeb84ad945799d9845589.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
整个HMI项目分为两个大文件夹,一个Code和一个Document,即一个为代码,一个为辅助文档。下面重点处理下代码部分的文件逻辑
![HMI-6-[整体计划]:阶段性梳理_框架_03](https://s2.51cto.com/images/blog/202107/27/89ca8aae50f07fee798cbe9ec6905490.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
这个是目前整个代码部分的一个文件的结构。
黑色:表示为文件夹
红色:表示为文件
控制面板(ControlPanel):这个控制整个系统的逻辑,将来包括模拟发动机,变速箱什么的。
核心(Core):核心区域,这里目前只有main文件和Loader文件,未来还不知道能放点啥了。
抬头显示(Hud):这个就是模拟车上投射在玻璃上的那个显示界面
液晶仪表(MeterDisplay):液晶仪表显示界面,就是上面图中的那个
多媒体(MulitifunctionDisplay):就是模拟汽车上的多媒体
资源文件(Recourses):存放项目中的所有资源
:Qt项目文件
HMI1.0.0_resource.rc:图标文件
controlpanel.qrc:控制面板资源文件
core.qrc:核心资源文件
meterdisplay.qrc:液晶仪表资源文件
![HMI-6-[整体计划]:阶段性梳理_汽车仪表_04](https://s2.51cto.com/images/blog/202107/27/96165c9d59ea2f292c36872dd71f4811.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
液晶仪表部分,这里计划会有三种展现模式,舒适模式、节能模式和运动模式。目前还在实现舒适模式阶段。
![HMI-6-[整体计划]:阶段性梳理_HMI_05](https://s2.51cto.com/images/blog/202107/27/012b353cb131deed74745fb16e3a5a33.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
舒适模式下,我大致分为了几个区域
最上面的标题区域(Title)
最下面的信息区域(Bottom)
左侧的转速表(TachoMeter)
右侧的速度表(SpeedMeter)
左侧迷你显示屏(LeftMiniDiskplay)
中间的中心显示屏(CenterDisplay)
右侧迷你显示屏(RightMiniDisplay)
提示灯显示(lightcontrol)
![HMI-6-[整体计划]:阶段性梳理_结构_06](https://s2.51cto.com/images/blog/202107/27/a62a3de81e0ba9c67447f21ca68d0584.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
在细分就是入上图所示了。
![]()
















