极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 127799|回复: 42

利用Arduino自制汽车智能液晶仪表

[复制链接]
发表于 2016-1-7 16:06:10 | 显示全部楼层 |阅读模式
本帖最后由 Argeeker 于 2016-1-8 14:05 编辑

最近开始学Arduino,刚好对车感兴趣就做了个简单的仪表,主要功能点:
1、利用CAN模块,接入汽车CAN网关,提取车速、转速、油量、车门开关状态、水温、时间、车外温度、总行驶里程、OPS等信息;
2、使用一块4.3寸的液晶,显示采集到的车辆信息;
3、利用TTL接口蓝牙模块与手机通讯,显示手机上百度导航的HUD信息、显示手机(安卓系统)上的所有提醒信息(如微信、QQ、短信)、显示来电信息;


用到的器件很少:
1块Mega2560板、1个HC05蓝牙模块、1个MCP2515 CAN模块、1块串口屏、一个蜂鸣器;
MCP2515库淘宝店家给的,直接用就好了;HC05蓝牙模块和串口屏的驱动很简单,就是串口收发操作;
总体上来说,制作难度很低,代码也简单。


功能比价简单,成品大概如下,欢迎拍砖:



上面是主板和CAN模块,蓝牙模块比较小,我直接就固定到屏幕后面了。

外壳是用3D打印机打印出来的,比较粗糙,请无视那巨大的接缝。

附上我所用MCP2515模块的库文件(含例程);

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2016-1-7 16:57:42 | 显示全部楼层
很好奇,汽车的CAN协议哪里有啊?
回复 支持 反对

使用道具 举报

发表于 2016-1-7 18:36:59 | 显示全部楼层
PINKWALKMAN 发表于 2016-1-7 16:57
很好奇,汽车的CAN协议哪里有啊?

用ODBII协议即可。。。
X宝上类似模块卖了很多年了。。。
一般物理位置在驾驶台下。专门都留有一个口。 设备插在口上,解读CAN总线数据,蓝牙或者其他方式发送到接收端。
成熟技术
很多车辆维修厂用来读取或者修改行车电脑数据就是用这个口,可读取和修改很多仪表盘不会公布的各类行车电脑核心数据。 算是连接电喷车辆的大脑了。
比如瞬时油耗等关键数据都可以有效获取。
回复 支持 反对

使用道具 举报

发表于 2016-1-7 18:37:02 | 显示全部楼层
好东西   赞一个
回复 支持 反对

使用道具 举报

发表于 2016-1-7 18:41:30 | 显示全部楼层
其实建议 手机连接之类的功能可以考虑关闭。毕竟对安全构成影响。直接用车载扩音对话或者耳机可能更好

另外,建议用翻转屏。。。就是把屏幕投影到挡风玻璃上。这样更简洁,科技感更强。 目前部分手机APP已有类似功能。 貌似百度地图APP就有。 技术很简单 但是很人性化。 可以有效避免开车时候低头看屏幕的情况。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-7 22:30:18 | 显示全部楼层
darkorigin 发表于 2016-1-7 18:41
其实建议 手机连接之类的功能可以考虑关闭。毕竟对安全构成影响。直接用车载扩音对话或者耳机可能更好

另 ...


这个东东不是从OBD取车辆信息,而是直接从CAN总线解码车辆信息;并且是放在驾驶座正前方的,驾驶者不用低头看信息内容。利用前挡风玻璃反射的方式,目前还有些缺陷:一是贴膜的玻璃会有重影;而是白天效果不好;
回复 支持 反对

使用道具 举报

发表于 2016-1-7 22:32:27 | 显示全部楼层
晚上好,我想请问一下,绿色板上面是使用mega2560做主控吗?我看到屏幕上的绘图很好看,请问大概是怎么做到的呢?
回复 支持 反对

使用道具 举报

发表于 2016-1-7 22:40:50 | 显示全部楼层
lz你的第3是怎么做到的?自己写个app分析屏幕上的信息然后通过蓝牙发给仪表?
回复 支持 反对

使用道具 举报

发表于 2016-1-7 23:09:59 | 显示全部楼层
这些信息仪表上本来就有,再提取出来显示有什么意义?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-7 23:54:08 | 显示全部楼层
新人用户组限制多,统一答复吧:
回复#7楼:用是mega2560;屏幕上那些素材是在pc上设计好的,然后上传到串口屏;
回复#8楼:是通过监听广播来截取通知信息,然后通过蓝牙发送到仪表上;
回复#9楼:这个仪表放在驾驶位正前方,不需要低头看仪表(请原谅开车的新手,上路不敢轻易低头),另外,这个仪表整合了导航信息和手机提醒消息以及来电信息的显示,比自带仪表显示的内容更丰富。
回复 支持 反对

使用道具 举报

发表于 2016-1-8 07:57:26 | 显示全部楼层
樓主有可能分享相關的製作方法及原碼嗎?
謝謝
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-8 08:10:43 | 显示全部楼层
6881087 发表于 2016-1-8 07:57
樓主有可能分享相關的製作方法及原碼嗎?
謝謝

制作方法和代码都很简单,用的都是现成的:
1块Mega2560板、1个HC05蓝牙模块、1个MCP2515 CAN模块、1块串口屏、一个蜂鸣器;
MCP2515库淘宝店家给的,直接用就好了;HC05蓝牙模块和串口屏的驱动很简单,就是串口收发操作;
总体上来说,制作难度很低,代码也简单。
回复 支持 反对

使用道具 举报

发表于 2016-1-8 08:47:19 | 显示全部楼层
Argeeker 发表于 2016-1-7 23:54
新人用户组限制多,统一答复吧:
回复#7楼:用是mega2560;屏幕上那些素材是在pc上设计好的,然后上传到串 ...

监听广播?
意思是百度导航在导航过程中有广播可以被其他app监听到?
LZ有没有这方面的具体资料?我用导航 广播做关键字都搜不到。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-8 09:34:41 | 显示全部楼层
tempchar 发表于 2016-1-8 08:47
监听广播?
意思是百度导航在导航过程中有广播可以被其他app监听到?
LZ有没有这方面的具体资料?我用导 ...

导航信息不是通过广播接收的,是通过导航提供的sdk接收的
回复 支持 反对

使用道具 举报

发表于 2016-1-8 10:19:52 | 显示全部楼层
Argeeker 发表于 2016-1-8 09:34
导航信息不是通过广播接收的,是通过导航提供的sdk接收的

啊?
那使用的时候是直接用你的app选择终点路线,然后由app把导航信息通过蓝牙发送?
你做这个app的工作量不小啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 09:17 , Processed in 0.050401 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表