Obsah:

Vlastné Arduino na uchovanie tlačidiel na volante CAN s novým autorádiom: 9 krokov (s obrázkami)
Vlastné Arduino na uchovanie tlačidiel na volante CAN s novým autorádiom: 9 krokov (s obrázkami)

Video: Vlastné Arduino na uchovanie tlačidiel na volante CAN s novým autorádiom: 9 krokov (s obrázkami)

Video: Vlastné Arduino na uchovanie tlačidiel na volante CAN s novým autorádiom: 9 krokov (s obrázkami)
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, Júl
Anonim
Vlastné Arduino, ktoré uchová tlačidlá na volante CAN s novým autorádiom
Vlastné Arduino, ktoré uchová tlačidlá na volante CAN s novým autorádiom
Vlastné Arduino, ktoré uchová tlačidlá na volante CAN s novým autorádiom
Vlastné Arduino, ktoré uchová tlačidlá na volante CAN s novým autorádiom
Vlastné Arduino, ktoré uchová tlačidlá na volante CAN s novým autorádiom
Vlastné Arduino, ktoré uchová tlačidlá na volante CAN s novým autorádiom

Rozhodol som sa nahradiť pôvodné autorádio vo svojom Volve V70 -02 novým stereom, aby som si mohol užívať veci ako mp3, bluetooth a handsfree.

Moje auto má niektoré ovládacie prvky na volante pre stereo, ktoré by som chcel ešte používať. Nečakal som, že to bude problém, pretože na trhu je niekoľko adaptérov, ktoré majú byť kompatibilné s mojím autom. Čoskoro som však zistil, že nie sú! (Zdá sa, že adaptéry pre V70 môžu mať problémy s autami -02 kvôli mierne odlišnému protokolu CAN.)

Čo teda robiť? Ponechať staré stereo? Žiť život s nefungujúcimi tlačidlami? Samozrejme, že nie! Ak na trhu nie je žiadny funkčný adaptér, budeme ho musieť postaviť!

Tento návod je možné (s určitými úpravami) použiť na autá, kde tlačidlá na volante komunikujú po zbernici CAN.

Krok 1: Zistite, ako odosielať príkazy na stereo

Zistite, ako odosielať príkazy na stereo
Zistite, ako odosielať príkazy na stereo
Zistite, ako odosielať príkazy na stereo
Zistite, ako odosielať príkazy na stereo

Prvá vec, ktorú by ste mali urobiť, je zistiť, aký typ diaľkového vstupu stereo očakáva. Výrobcovia vám to zvyčajne nepovedia a pravdepodobne nemáte prístup ani k funkčným diaľkovým ovládačom pre reverzné inžinierstvo.

Diaľkový ovládač pre moje nové stereo (Kenwood) pozostáva z jedného drôtu a nepodarilo sa mi nájsť žiadne informácie o tom, ako funguje. Má však aj 3,5 mm konektor pre diaľkový vstup. Tiež som o tom nič nemohol zistiť. Existujú však informácie o 3,5 mm zdviháku iných značiek, ktoré naznačujú, že rôzne príkazy sú identifikované použitím špecifického odporu medzi špičkou a puzdrom (a voliteľne medzi krúžkom a puzdrom). Napr. https://forum.arduino.cc/index.php?topic=230068.0. Rozhodol som sa to teda skúsiť a je vybavený doskou, zväzkom odporov a 3,5 mm konektorom zapojeným do stereo systému a prepojeným s doskou. Najprv nebolo nič rozpoznané, ale stereo má menu „režim učenia“a tam bolo možné príkazy úspešne nastaviť pri použití rôzneho odporu. Úspech!

Neskôr som však zistil, že som tu urobil chybu: Nie všetky príkazy, ktoré sa stereo zdalo, by v skutočnosti fungovali. Napr. V režime učenia bolo nájdených 30 kOhm, ale neskôr to nefungovalo a pre niektoré z príkazov, ktoré som nastavil, bol rozdiel odporu taký malý, že neskôr bol spustený nesprávny príkaz.

Preto odporúčam, aby ste na všetky diaľkové príkazy, ktoré chcete zvládnuť, použili nepájivú dosku s rezistormi a prepínacími tlačidlami a v skutočnosti vyskúšali, že všetky budú fungovať.

Ak vaše autorádio nemôže prijímať vstup rovnakým spôsobom, potom budete musieť zistiť, ako funguje, aby ste mohli prispôsobiť toto riešenie. Ak na to nemôžete prísť, máte problém.

Krok 2: Zistite, kde sa pripojiť k zbernici CAN

Zistite, kde sa môžete pripojiť k zbernici CAN
Zistite, kde sa môžete pripojiť k zbernici CAN

Musíte nájsť dobré miesto na pripojenie k zbernici CAN. Pretože nahrádzate staré stereo, ktoré komunikuje cez CAN, mali by ste to nájsť za stereom. Zbernica CAN sa skladá z dvojice skrútených vodičov (CAN-L a CAN_H). Pre istotu si prezrite schému zapojenia vášho auta.

Krok 3: Reverzné inžinierstvo správ CAN

Reverzné inžinierstvo správ CAN
Reverzné inžinierstvo správ CAN

Pokiaľ vám spoločnosť Google nemôže povedať, aké správy CAN by ste mali počúvať, budete sa musieť pripojiť k zbernici CAN a vykonať reverzné inžinierstvo. Použil som Arduino Uno a štít CAN. (Štít CAN v skutočnosti nepotrebujete, ako neskôr uvidíte, môžete namiesto neho použiť niektoré lacné komponenty na doske.)

Poraďte sa s Googlom a zistite, akú prenosovú rýchlosť by ste mali používať pri pripájaní k autu. (Typicky zistíte, že existuje vysokorýchlostná a nízkorýchlostná sieť CAN. Pripojíte sa k nízkorýchlostnej sieti.)

Budete tiež musieť naprogramovať Arduino na zaznamenávanie všetkých správ CAN cez sériové rozhranie, aby ste ich mohli uložiť do súboru denníka vo vašom počítači. Štandardné Arduino IDE neuloží údaje do súboru denníka, ale môžete použiť napr. Namiesto toho tmel.

Predtým, ako začnete písať svoj program, musíte nainštalovať knižnicu CAN_BUS_Shield.

Tu je niekoľko pseudokódov, ktoré vám pomôžu začať s programom:

nastaviť()

{init serial connection init CAN library} loop () {if CAN message is receive {read CAN message format log log write write log entry to serial}}

Rady:

Na prístup k funkciám knižnice CAN použijete inštanciu triedy MCP_CAN:

MCP_CAN m_can;

Init CAN:

while (m_can.begin ()! = CAN_OK)

{oneskorenie (1000); }

Vyhľadajte a prečítajte si správy CAN:

while (m_can.checkReceive () == CAN_MSGAVAIL)

{// Získať ID CAN, dĺžku správy a údaje správy m_can.readMsgBufID (& m_canId, & m_msgLen, m_msgBuf); // Urobte niečo s údajmi správy tu}

Ak potrebujete ďalšiu pomoc, v neskoršom kroku nájdete odkaz na môj program. Knižnica štítu CAN obsahuje aj príklad. Alebo si pozrite pokyny mviljoen2, ktoré obsahujú podobný krok.

Najprv budete potrebovať referenčný súbor, ktorý vám pomôže filtrovať údaje. Prepnite zapaľovanie do režimu rádia a všetko zaznamenávajte na niekoľko minút bez toho, aby ste sa dotkli akýchkoľvek tlačidiel.

Potom pre každé z tlačidiel začnite protokolovať, stlačte tlačidlo a zastavte zaznamenávanie.

Keď ste hotoví, musíte z protokolov tlačidiel odfiltrovať všetko, čo je vo vašom referenčnom denníku, aby ste našli svojich kandidátov. Zistil som, že stále zostáva veľa správ, urobil som viac protokolov a potom som požadoval, aby „kandidáti na príkaz A museli byť vo všetkých súboroch tlačidiel A a v žiadnom z referenčných súborov“. Zostalo mi teda len niekoľko možností, ako to skúsiť.

Protokoly budú obsahovať veľa správ, takže na to budete musieť napísať nejaký program alebo prípadne použiť program Excel. (Na svoje potreby som použil program s veľmi pevne kódovanými podmienkami, takže sa obávam, že nemôžem ponúknuť program, ktorý môžete použiť.)

Slovo varovanie: Nemôžete si byť istí, že tlačidlo vždy vydá rovnakú správu. Niektoré z bitov môžu obsahovať prírastkové čítače atď. (Môžete však zmeniť ID správy, aby bolo rovnaké.)

Ak náhodou máte Volvo V70 -02, hľadáte to:

  • ID správy: 0x0400066Byt0: 0x00, 0x40, 0x80 alebo 0xc0 (nezaujíma)
  • Bajt 1: 0x00 (je mi to jedno)
  • Byte2: 0x00 (je mi to jedno)
  • Byte3: 0x00-0x07 (je mi to jedno)
  • Byte4: 0x1f (je mi to jedno)
  • Byte5: 0x40 (je mi to jedno)
  • Byte6: 0x40 (je mi to jedno)
  • Byte7: Identifikátor tlačidla: 0x77 = zvýšenie hlasitosti, 0x7b = zníženie hlasitosti, 0x7d = nasledujúca skladba, 0x7e = predchádzajúca skladba.

Keď sa domnievate, že ste našli príkazy, môže byť vhodné program upraviť tak, aby zaznamenával iba zaujímavé správy. Pri stlačení tlačidiel sa pozrite do okna sériového denníka a overte, či ste identifikovali správne správy.

Krok 4: Hardvérový prototyp

Hardvérový prototyp
Hardvérový prototyp

Váš hardvér musí byť schopný:

  1. Identifikujte príkazy prijaté na zbernici CAN
  2. Odosielajte príkazy do iného formátu v stereu

Ak máte dostatok miesta, môžete na prvú časť použiť štít Arduino a CAN a na druhú časť pripojiť ďalší hardvér. Existujú však určité nevýhody:

  • Náklady na štít CAN
  • Veľkosť
  • Napájací zdroj Arduino nebude šťastný, ak je pripojený priamo k vašim automobilom na 12V (pravdepodobne bude fungovať, ale jeho životnosť sa pravdepodobne skráti).

Namiesto toho som použil nasledujúce:

  • Atmega 328, „mozog Arduina“. (Existuje niekoľko variantov, získajte ten, ktorý je rovnaký ako na Arduino Uno. Môžete si ho kúpiť s bootloaderom Arduino alebo bez neho.)
  • 16 MHz kryštál + kondenzátory pre hodinový signál.
  • Vysielač a prijímač CAN MCP2551.
  • Ovládač CAN MCP2515.
  • TSR1-2450, prevádza 6,5-36V na 5V. (V prototype sa nepoužíva, pretože softvér sa nebude starať o napájanie.)
  • Prepínač CD4066B, ktorý sa bude používať pri odosielaní príkazov do stereo systému.
  • Pár rezistorov. (Hodnoty nájdete v schémach Eagle v neskoršom kroku.)

Dobrá vec v tejto konfigurácii je, že je plne kompatibilná s Arduino a knižnicou štítov CAN.

Ak chcete ovládať viac ako štyri tlačidlá, mali by ste zvážiť použitie iného ako CD4066B. CD4066B možno opísať ako štyri prepínače v jednom, každý ovládaný jedným z pinov Atmegas GPIO. Ku každému prepínaču je pripojený odpor, ktorý je možné použiť na ovládanie odporu použitého ako vstup do stereo. To sa dá ľahko použiť na odoslanie štyroch rôznych príkazov. Ak sú kombinované, je možné získať ďalšie hodnoty odporu. Tu nastáva chyba, ktorú som už spomenul. Mám štyri tlačidlá, ale plánoval som implementovať dve z nich ako dlhé a krátke stlačenie, aby som dostal šesť rôznych príkazov. Nakoniec som však zistil, že nemôžem nájsť kombináciu odporov, ktorá by mi dala šesť pracovných kombinácií. Pravdepodobne by bolo možné namiesto toho pripojiť analógový výstupný signál k stereu (hrot 3,5 mm). (Všimnite si toho, že Atmega nemá žiadne skutočné analógové výstupné piny, takže bude potrebný ďalší hardvér.)

Na účely testovania som tiež vytvoril jednoduchý simulátor „auta a stereo“, ktorý sa pripojí k môjmu prototypu. Uľahčuje ladenie a pokiaľ vás nebaví sedieť v aute a programovať, môžem to odporučiť.

Prototyp je znázornený na obrázku na spodnej strane dosky. Pokiaľ ide o napájanie, programovanie a sériové protokolovanie, je pripojený k Arduino Uno, kde bol odstránený čip Atmega.

Horná doska je stereo simulátor auta +, ktorý bude slúžiť na počiatočné testovanie prototypu.

Simulátor prototypu + má fungovať takto:

  • Stlačte jedno z tlačidiel prepínača na doske simulátora. (Toto sú tlačidlá na vašom volante.)
  • Akonáhle program simulátora zistí stlačenie tlačidla, bude odosielať zodpovedajúcu správu CAN každých 70 ms, pokiaľ je tlačidlo stlačené. (Pretože denníky, ktoré som urobil predtým, naznačovali, že to v mojom aute funguje.) Bude tiež odosielať veľa „nevyžiadaných“správ CAN na simuláciu ďalšej premávky v autobuse.
  • Správy CAN sa odosielajú na zbernici CAN.
  • Prototyp prijíma správy CAN.
  • MCP2515 vyhadzuje všetky nesúvisiace správy na základe ID správy.
  • Keď MCP2515 prijme správu, s ktorou by sa malo zaobchádzať, bude znamenať, že má správu zaradenú do poradia.
  • Atmega si správu prečíta a rozhodne, ktoré tlačidlo by sa malo považovať za aktívne.
  • Atmega bude tiež sledovať, kedy bola prijatá posledná správa, po určitom čase bude tlačidlo považované za uvoľnené. (Hlásenia CAN informujú iba o tom, že tlačidlo je stlačené, nie o tom, že bolo stlačené alebo uvoľnené.)
  • Ak je tlačidlo považované za aktívne, aktivuje sa jeden alebo viac prepínačov na disku CD4066B.
  • Simulátor (teraz funguje ako vaše stereo) zistí, že je medzi špičkou a rukávom vyvíjaný odpor. (Špička je pripojená k 3,3 V a cez odpor k analógovému vstupnému kolíku. Keď nie je aktívny žiadny príkaz, tento pin bude čítať 3,3 V, keď je príkaz aktívny, hodnota sa zníži a príkaz identifikuje.
  • Kým je príkaz aktívny, aktivuje sa aj zodpovedajúca LED. (Existuje šesť diód, pretože som plánoval použiť dve dlhé tlačidlá na dlhé / krátke stlačenie.)

Ďalšie podrobnosti o hardvéri prototypu nájdete v schémach Eagle v neskoršom kroku.

Ďalšie podrobnosti o hardvéri dosky simulátora:

  • 16 MHz kryštál
  • Kondenzátory 22 pF
  • Rezistory LED by mali byť zvolené na základe vlastností LED
  • Rezistor zapojený do A7 a 3,3V, zvoľte napr. 2 kOhm (nie je kritické).
  • Rezistory pripojené k MCP2551 a MCP2515 sú vyťahovacie / sťahovacie. Vyberte napr. 10 kOhm.

(Ak chcete, môžete použiť štít CAN pre „časť CAN“simulátora.)

Pri navrhovaní hardvéru je dôležité, aby ste vedeli, ako sú kolíky Atmega mapované na kolíky Arduino.

(Nepripájajte žiadne diódy priamo k disku CD 4066B, dokáže zvládnuť iba nízky prúd. Skúsil som to pri prvom testovaní výstupu a čip sa stal nepoužiteľným. Dobrá vec je, že som ich kúpil niekoľko len preto, že sú tak lacné.)

Krok 5: Programovanie poistiek

Možno ste si v predchádzajúcom kroku všimli, že prototyp nemá žiadne samostatné komponenty na generovanie hodinového signálu do MCP2515. Je to preto, že ako hodinový signál Atmega už existuje kryštál 16 MHz, ktorý môžeme použiť. Nemôžeme ho však jednoducho pripojiť priamo k MCP2515 a v predvolenom nastavení nie je na zariadení Atmega signál hodinového výstupu.

(Ak chcete, môžete tento krok preskočiť a namiesto toho pridať ďalší hardvér hodín.)

Môžeme však použiť niečo, čo sa nazýva „programovanie poistiek“, aby sme na jednom z pinov GPIO povolili signál o výstupe.

Najprv budete musieť nájsť súbor s názvom „boards.txt“, ktorý používa vaše Arduino IDE. Budete musieť skopírovať záznam pre Arduino Uno, dať mu nový názov a zmeniť hodnotu pre low_fuses.

Moja nová doska vyzerá takto:

###################################################################### ####### ###############Na základe Arduino Uno#Zmeny:#low_fuses sa zmenilo z 0xff na 0xbf, aby sa umožnil takt 16 MHz#výstup na Atmega PB0/pin 14 = Arduino D8

clkuno.name = Vyradenie (Arduino Uno)

clkuno.upload.protocol = arduino clkuno.upload.maximum_size = 32256 clkuno.upload.speed = 115200 clkuno.bootloader.low_fuses = 0xbf clkuno.bootloader.high_fuses = 0xde clkuno.bootloader.ebootdobu = 0xde.bootloader.file = optiboot_atmega328.hex clkuno.bootloader.unlock_bits = 0xff clkuno.bootloader.lock_bits = 0xcf clkuno.build.mcu = atmega328p clkuno.build.f_cpu = 16000000L clkuno.build.core = arduino

##############################################################

Všimnite si toho, že časový limit sa aktivuje nastavením jeho ovládacieho bitu na 0.

Keď v konfiguračnom súbore dosiek vytvoríte novú dosku, budete musieť do Atmega napáliť nový zavádzací program. Existujú rôzne spôsoby, ako to urobiť, použil som metódu popísanú v

Keď to urobíte, pri odosielaní programu na server Atmega vyberte nový typ dosky a nie Arduino Uno.

Krok 6: Softvér

Softvér
Softvér

Čas urobiť z nemého hardvéru inteligentného pridaním nejakého softvéru.

Tu je niekoľko pseudo kódov pre prototyp:

lastReceivedTime = 0

lastReceivedCmd = none cmdTimeout = 100 setup () {enable watchdog configure pins D4-D7 as output pins init CAN setup CAN filter} loop () {reset watchdog if (CAN message is receive) {for each button command {if CAN message includes to príkaz tlačidla {lastReceivedTime = teraz lastReceivedCmd = cmd}}} ak teraz> lastReceivedTime + cmdTimeout {lastReceivedCmd = none} pre každý príkaz tlačidla {ak lastReceivedCmd je príkaz tlačidla {set command pin output = on} else {set command pin output = off }}}

cmdTimeout rozhoduje o tom, ako dlho by sme mali čakať, kým zvážime uvoľnenie posledného aktívneho tlačidla. Pretože tlačidlá príkazov správy CAN sa odosielajú približne každých 70 ms, musí byť väčšia ako s určitým okrajom. Ak je však príliš veľký, dôjde k oneskoreniu. 100 ms sa teda javí ako dobrý kandidát.

Ale čo je to strážny pes? Je to malá užitočná hardvérová funkcia, ktorá nás môže zachrániť v prípade havárie. Predstavte si, že máme chybu, ktorá spôsobuje zlyhanie programu, keď je aktívny príkaz na zvýšenie hlasitosti. Potom by sme skončili so stereom pri maximálnej hlasitosti! Ak sa však strážny pes konkrétny čas nevynuluje, rozhodne, že sa stalo niečo neočakávané, a jednoducho vykoná reset.

neplatné nastavenie ()

{// povoliť max. 250 ms pre slučku wdt_enable (WDTO_250MS); // ostatné inicializačné veci} void loop () {wdt_reset (); // robiť veci}

CAN filter? Radič CAN môžete nakonfigurovať tak, aby zahodil všetky správy, ktoré sa netýkajú filtra, aby softvér nemusel strácať čas správami, ktoré nás nezaujímajú.

nepodpísaná dlhá maska = 0x1fffffff; // Do masky zahrňte všetkých 29 bitov hlavičky

nepodpísaný dlhý filterId = 0x0400066; // Staráme sa iba o túto správu CAN id m_can.init_Mask (0, CAN_EXTID, maska); // Maska 0 platí pre filter 0-1 m_can.init_Mask (1, CAN_EXTID, maska); // Maska 1 platí pre filter 2-5 m_can.init_Filt (0, CAN_EXTID, filterId); m_can.init_Filt (1, CAN_EXTID, filterId); m_can.init_Filt (2, CAN_EXTID, filterId); m_can.init_Filt (3, CAN_EXTID, filterId); m_can.init_Filt (4, CAN_EXTID, filterId); m_can.init_Filt (5, CAN_EXTID, filterId);

Bližšie informácie o nastavení filtra + masky nájdete v kóde knižnice CAN a v dokumentácii k radiču CAN.

Môžete tiež nastaviť radič CAN, aby vyvolal prerušenie pri prijatí správy (ktorá nie je odfiltrovaná). (Nie je zahrnutý v príklade vyššie, ale v mojom programe je na to nejaký kód.) V tomto prípade to skutočne nepridáva žiadnu hodnotu a môže to byť mätúce, ak nie ste zvyknutí na programovanie.

V skratke to bol prototyp softvéru. Potrebujeme však aj kód pre dosku simulátora:

lastSentTime = 0

minDelayTime = 70 setup () {konfigurovať piny A0-A5 ako výstupné piny konfigurovať piny D4-D7 ako vstupné piny s vnútorným vytiahnutím. init CAN} loop () {send "junk" can msg set activeButton = none for each button {if button is printed {set activeButton = button}} if activeButton! = none {if now> lastSentTime + minDelayTime {send button command can message } set lastSentTime = now} inval = čítať pin A7 foreach (cmd) {if (min <inval <max) {led on} else {led off}} wait for 1 ms}

To bude nepretržite odosielať „nevyžiadané“správy CAN približne každých ms a pri stlačení tlačidla každých 70 ms príslušný príkaz.

Možno budete musieť zapísať vstup na pin A7 stlačením rôznych tlačidiel, aby ste zistili vhodné hodnoty pre minimálnu a maximálnu premennú patriacu ku každému tlačidlu. (Alebo to môžete vypočítať, ale v skutočnosti prečítaním vstupu získate presnejšie hodnoty.)

Pri programovaní režimov pinov musíte byť trochu opatrní. Ak omylom nastavíte piny určené na použitie interného sťahovania ako výstupné piny, vytvoríte potenciálnu skratku, ktorá poškodí vaše Arduino, keď nastavíte výstup vysoko.

Ak si chcete pozrieť moje programy, dajú sa stiahnuť tu:

  • Program na zaznamenávanie správ CAN
  • Program pre dosku simulátora
  • Program pre prototyp / konečnú dosku

Mali by ste si uvedomiť, že tieto programy sa tu v skutočnosti nezhodujú s pseudokódom, obsahujú veľa „extra“vecí, ktoré v skutočnosti nie sú potrebné, a ak nie ste oboznámení s objektovo orientovaným programovaním, môže byť čítanie pravdepodobne trochu ťažké..

Krok 7: Konečný hardvér

Konečný hardvér
Konečný hardvér
Konečný hardvér
Konečný hardvér
Konečný hardvér
Konečný hardvér

Keď ste so svojim programom spokojní (nezabudnite otestovať prototyp v aute po konečnom testovaní na doske simulátora), je načase skonštruovať skutočný hardvér.

Tu máte tri možnosti:

  • Rýchle a špinavé - spájkujte veci dohromady na doske prototypu DPS.
  • Hardcore DIY - leptajte si vlastnú DPS.
  • Lenivý spôsob - objednajte si profesionálnu DPS na spájkovanie komponentov.

Ak sa neponáhľate, môžem vám odporučiť poslednú možnosť. Ak potrebujete iba taký malý PCB, je veľmi lacné ho objednať z Číny. (A potom pravdepodobne dostanete desať kusov alebo tak, aby ste si mohli dovoliť chyby pri spájkovaní.)

Na objednanie DPS budete potrebovať svoj návrh vo formáte Gerber. Na to existuje rôzny softvér. Použil som Eagle, ktorý môžem odporučiť. Môžete očakávať, že sa to naučíte niekoľko hodín, ale potom to funguje dobre. V prípade malých dosiek, ako je táto, ju môžete použiť zadarmo.

Pri vytváraní dizajnu buďte opatrní. Nechcete čakať štyri týždne na doručenie, aby ste zistili, že ste urobili niečo zlé.

(Ak máte dobré spájkovacie schopnosti, môžete navrhnúť súčiastky na povrchovú montáž a získať skutočne malý adaptér. Ja nie.)

Potom objednajte napr. https://www.seeedstudio.com/fusion_pcb.html. Postupujte podľa pokynov na generovanie súborov Gerber z vášho návrhu. Môžete tiež získať ukážku výsledku a uistiť sa, že je v poriadku.

(Nakoniec som musel vybrať iné odpory pre R4-R7, ako sú uvedené na schematickom obrázku. Namiesto toho som použil 2k, 4,7k, 6,8k a 14,7k.)

A pamätajte - nezamieňajte si číslovanie pinov Atmega s číslovaním pinov Arduino!

Odporúčam, aby ste čip Atmega nespájkovali priamo, ale použili ste zásuvku. Potom ho môžete ľahko odstrániť v prípade, že ho budete musieť preprogramovať.

Krok 8: Montáž do auta

Montáž do auta
Montáž do auta
Montáž do auta
Montáž do auta

Teraz k najzábavnejšej časti - namontujte ho do auta a začnite ho používať! (Potom, čo ste na to vyrobili / kúpili puzdro.)

Ak ste už prototyp vo svojom aute úplne vyskúšali, všetko by malo fungovať perfektne.

(Ako som už spomenul, neurobil som to, takže som musel vymeniť niektoré odpory a vykonať určité zmeny v mojom programe.)

Zvážte tiež, či by ste ho mali namontovať za stereo alebo niekde inde. Našiel som dobré miesto nad svojou odkladacou schránkou, kde sa k nej dostanem zvnútra odkladacej schránky bez toho, aby som čokoľvek rozoberal. To môže byť užitočné, ak sa ho neskôr rozhodnem aktualizovať.

Konečne moje tlačidlá opäť fungujú! Ako som mohol bez nich prežiť dva mesiace?

Krok 9: Budúce zlepšenia

Ako už bolo spomenuté, ak urobím verziu 2.0, kvôli väčšej flexibilite nahradím 4066B niečím iným (pravdepodobne digitálnym potenciometrom).

Existuje aj veľa ďalších vecí, ktoré môžete robiť. Napr. pridajte modul bluetooth a vytvorte aplikáciu diaľkového ovládania pre svoj telefón. Alebo modul GPS, potom keď ste blízko domova, môžete automaticky zvýšiť hlasitosť a odoslať správu CAN „windows down“, aby si všetci vaši susedia mohli vychutnať vašu úžasnú hudbu.

Odporúča: