电子说
第1步:我需要的部分
放大器。因为我的汽车收音机包括放大器,当我拿出车载收音机时我也取下放大器在它中。
一个canbus屏蔽。 canbus屏蔽是必要的,能够从canbus线读取can-bus命令。可以包含一些汽车信息。我使用这个屏蔽来检测诸如音量调高,静音和音量调低按钮之类的滚轮按钮命令。在汽车收音机后面有两条可以使用的总线电缆。其中一个是Canbus - HIGH,另一个是Canbus-LOW。此电缆必须连接到SeeedStudio canbus屏蔽上的绿色插座。
Arduino Mega
Arduino mega负责解析canbus数据并将其发送到Android片剂。将数据发送到Android平板电脑是一项非常复杂的工作,因为起初我决定使用USB Host Shield,我完成了所有工作。但事实证明,USB Host屏蔽和Canbus屏蔽不能同时工作,因为它们都使用SPI通过相同的引脚与Arduino进行通信。我试图更换USB主机屏蔽使用的引脚,但它没有工作。所以我删除了USB Host Shield并使用蓝牙模块与Android平板电脑进行通信。
和A面板适配器
这是我的汽车和我的汽车模型的面板适配器。我把Android平板电脑放在这个适配器中。看起来很好。我买了它来自ebay。
第2步:收集系统
收集这些项目后,最终系统如上图所示。
这个系统看起来很复杂,但这就是我的多媒体播放器的工作原理。需要12V至5V直流转换器才能为Android平板电脑充电。我的车从不削减功率,所以平板电脑总是100%充电。它永远不会关闭。因此,当连接充电器时,我不需要对平板电脑进行更改。在我的情况下,这不是必需的。
让我们继续编程。我最喜欢的部分。
步骤3:编程
使用Seeed canbus shield可以嗅探汽车的canbus数据。总线是一个通信系统,每个数据包都有一个id及其有效载荷。
点击滚轮按钮可能很难找到相关的ID。您可能想要使用串行com分析器。但我很幸运。经过几次尝试,我发现了与滚轮按钮clicks.it相关的必要ID。它是“0xbf”。下面是一部分用于识别按钮点击的arduino代码。
switch (buf[0]) {
case 16:
buttonState=VolUp;
break;
case 17:
buttonState=VolDown;
break;
case 22:
buttonState=Back;
break;
case 21:
buttonState=Forward;
break;
case 32:
buttonState=Mute;
break;
case 25:
buttonState=Voice;
break;
case 28:
buttonState=Phone;
break;
case 7:
buttonState=OK;
break;
case 4:
buttonState=Up;
case 5:
buttonState=Down;
break;
default:
buttonState=Nothing;
break;
}
从canbus收集的信息通过蓝牙传输到Android平板电脑。在Android平板电脑上有一个小应用程序负责,例如,单击滚轮按钮时减小音量。还有一个菜单活动来打开其他应用程序。
全部0条评论
快来发表一下你的评论吧 !