第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平板電腦上有一個小應用程序負責,例如,單擊滾輪按鈕時減小音量。還有一個菜單活動來打開其他應用程序。
-
平板
+關注
關注
1文章
593瀏覽量
65390 -
儀表板
+關注
關注
0文章
35瀏覽量
9153
發布評論請先 登錄
相關推薦
評論