Sadržaj:

Prilagođeni Arduino za zadržavanje gumba na upravljaču CAN s novim stereo sustavom za automobil: 9 koraka (sa slikama)
Prilagođeni Arduino za zadržavanje gumba na upravljaču CAN s novim stereo sustavom za automobil: 9 koraka (sa slikama)

Video: Prilagođeni Arduino za zadržavanje gumba na upravljaču CAN s novim stereo sustavom za automobil: 9 koraka (sa slikama)

Video: Prilagođeni Arduino za zadržavanje gumba na upravljaču CAN s novim stereo sustavom za automobil: 9 koraka (sa slikama)
Video: Как управлять несколькими серводвигателями с помощью одного потенциометра с Arduino 2024, Srpanj
Anonim
Prilagođeni Arduino za zadržavanje gumba na upravljaču CAN s novim stereo sustavom za automobile
Prilagođeni Arduino za zadržavanje gumba na upravljaču CAN s novim stereo sustavom za automobile
Prilagođeni Arduino za zadržavanje gumba na upravljaču CAN s novim stereo sustavom za automobile
Prilagođeni Arduino za zadržavanje gumba na upravljaču CAN s novim stereo sustavom za automobile
Prilagođeni Arduino za zadržavanje gumba na upravljaču CAN s novim stereo sustavom za automobile
Prilagođeni Arduino za zadržavanje gumba na upravljaču CAN s novim stereo sustavom za automobile

Odlučio sam zamijeniti originalni stereo uređaj u svom Volvu V70 -02 novim stereo uređajem kako bih mogao uživati u stvarima poput mp3 -a, bluetootha i handsfree -a.

Moj auto ima neke komande na upravljaču za stereo koje bih volio i dalje koristiti. Nisam očekivao da će to biti problem jer na tržištu postoji nekoliko adaptera koji bi trebali biti kompatibilni s mojim automobilom. Međutim, ubrzo sam saznao da nisu! (Čini se da bi adapteri za V70 mogli imati problema s automobilima -02 zbog nešto drugačijeg CAN protokola.)

Što onda učiniti? Zadržati stari stereo uređaj? Živjeti život s neradnim gumbima? Naravno da ne! Ako na tržištu nema ispravnog adaptera, morat ćemo ga izgraditi!

Ovo se uputstvo može primijeniti (s nekim prilagodbama) na automobile u kojima gumbi na upravljaču komuniciraju preko CAN sabirnice.

Korak 1: Saznajte kako poslati naredbe na stereo uređaj

Saznajte kako poslati naredbe na stereo uređaj
Saznajte kako poslati naredbe na stereo uređaj
Saznajte kako poslati naredbe na stereo uređaj
Saznajte kako poslati naredbe na stereo uređaj

Prvo što trebate učiniti je saznati koju vrstu daljinskog ulaza stereo očekuje. Proizvođači vam to obično neće reći, a vjerojatno nemate ni pristup radnim daljinskim upravljačima za obrnuti inženjering.

Daljinski ulaz za moj novi stereo uređaj (Kenwood) sastoji se od jedne žice i nisam uspio saznati nikakve informacije o tome kako radi. Međutim, ima i priključak od 3,5 mm za daljinski ulaz. Ni ja nisam mogao ništa saznati o tome. No, postoje neke informacije o utičnici od 3,5 mm za druge marke koje sugeriraju da se različite naredbe identificiraju primjenom specifičnog otpora između vrha i rukava (i po izboru između prstena i čahure). Npr. https://forum.arduino.cc/index.php?topic=230068.0. Stoga sam odlučio isprobati, opremljen matičnom pločom, hrpom otpornika i utikačem od 3,5 mm koji je priključen na stereo i spojen na matičnu ploču. Isprva se ništa nije prepoznalo, ali stereo ima izbornik "način učenja" i tamo se naredbe mogu uspješno postaviti uz primjenu različitih otpora. Uspjeh!

Međutim, kasnije sam otkrio da sam pogriješio: neće sve naredbe koje je stereo izgleda naučio zapravo funkcionirati. Npr. 30 kOhm je pronađeno u načinu učenja, ali kasnije nije radilo, a za neke od naredbi koje sam postavio razlika otpora je bila toliko mala da se kasnije aktivirala pogrešna naredba.

Stoga vam preporučujem da upotrijebite ploču s otpornicima i tipkama za prebacivanje za sve daljinske naredbe s kojima želite rukovati i zapravo provjerite funkcioniraju li sve.

Ako vaš stereo uređaj ne može primiti ulaz na isti način, morat ćete shvatiti kako radi kako biste mogli prilagoditi ovo rješenje. Ako uopće ne možete shvatiti, onda imate problem.

Korak 2: Saznajte gdje se spojiti na CAN sabirnicu

Saznajte gdje se možete spojiti na CAN sabirnicu
Saznajte gdje se možete spojiti na CAN sabirnicu

Morate pronaći dobro mjesto za spajanje na CAN sabirnicu. Budući da zamjenjujete stari stereo uređaj koji komunicira putem CAN -a, trebali biste to pronaći iza stereo uređaja. CAN sabirnica sastoji se od para upletenih žica (CAN-L i CAN_H). Da biste bili sigurni, pogledajte shemu ožičenja vašeg automobila.

Korak 3: Obrnuti inženjering CAN poruka

Obrnuti inženjering CAN poruka
Obrnuti inženjering CAN poruka

Osim ako vam Google ne može reći koje CAN poruke trebate slušati, morat ćete se spojiti na CAN sabirnicu i izvršiti obrnuti inženjering. Koristio sam Arduino Uno i CAN štit. (Zaista vam ne treba CAN štit, kao što ćete vidjeti kasnije, umjesto toga možete koristiti neke jeftine komponente na ploči.)

Obratite se Googleu kako biste saznali koju brzinu prijenosa trebate koristiti pri povezivanju s automobilom. (Obično ćete otkriti da postoji velika i niska brzina CAN mreže. Spajate se na mrežu niske brzine.)

Također ćete morati programirati Arduino za bilježenje svih poruka CAN preko serijskog sučelja, tako da ih možete spremiti u datoteku dnevnika na vašem računalu. Standardni Arduino IDE neće spremati podatke u datoteku dnevnika, ali možete koristiti npr. Umjesto kita.

Prije nego počnete pisati svoj program, morate instalirati biblioteku CAN_BUS_Shield.

Evo nekoliko pseudo kodova koji će vam pomoći da započnete svoj program:

postaviti()

{init serial connection init CAN library} loop () {ako je primljena CAN poruka {read CAN message format log entry write log entry to serial}}

Savjeti:

Za pristup funkciji knjižnice CAN koristit ćete instancu klase MCP_CAN:

MCP_CAN m_can;

Init MOŽE:

while (m_can.begin ()! = CAN_OK)

{kašnjenje (1000); }

Provjerite i pročitajte CAN poruke:

dok (m_can.checkReceive () == CAN_MSGAVAIL)

{// Dobijte CAN ID, duljinu poruke i podatke o poruci m_can.readMsgBufID (& m_canId, & m_msgLen, m_msgBuf); // Učinite nešto s podacima o poruci ovdje}

Ako vam je potrebna dodatna pomoć, u kasnijem koraku možete pronaći vezu do mog programa. Knjižnica CAN štita također sadrži primjer. Ili provjerite upute mviljoen2 koje uključuju sličan korak.

Prvo će vam trebati referentna datoteka koja će vam pomoći filtrirati podatke. Prebacite paljenje u radio način i zabilježite sve na nekoliko minuta bez dodirivanja bilo kakvih gumba.

Zatim za svaki od gumba počnite s bilježenjem, pritisnite gumb i zaustavite bilježenje.

Kada završite, morate filtrirati sve što se nalazi u vašem referentnom dnevniku iz dnevnika gumba kako biste pronašli svoje kandidate. Otkrio sam da je ostalo još mnogo poruka pa sam napravio još zapisa i tada zahtijevao da "kandidati za naredbu A moraju biti u svim datotekama s gumbima A i ni u jednoj referentnoj datoteci". To mi je ostavilo samo nekoliko mogućnosti da isprobam.

Dnevnici će sadržavati mnogo poruka pa ćete za to morati napisati neki program ili eventualno koristiti Excel. (Koristio sam program s vrlo teškim kodiranim uvjetima za svoje potrebe pa se bojim da ne mogu ponuditi program koji možete koristiti.)

Upozorenje: Ne možete biti sigurni da će gumb uvijek proizvesti identičnu poruku. Neki od bitova mogu sadržavati povećavajuće brojače itd. (Međutim, osim što ID poruke može biti isti.)

Ako slučajno imate Volvo V70 -02, ovo je ono što tražite:

  • ID poruke: 0x0400066Byte0: 0x00, 0x40, 0x80 ili 0xc0 (nije važno)
  • Byte1: 0x00 (nije važno)
  • Byte2: 0x00 (nije važno)
  • Byte3: 0x00-0x07 (nije važno)
  • Byte4: 0x1f (nije važno)
  • Byte5: 0x40 (nije važno)
  • Byte6: 0x40 (nije važno)
  • Byte7: Identifikator gumba: 0x77 = pojačavanje glasnoće, 0x7b = smanjivanje glasnoće, 0x7d = sljedeći zapis, 0x7e = prethodni zapis.

Kad vjerujete da ste pronašli naredbe, možda bi bilo dobro izmijeniti program tako da zapisuje samo zanimljive poruke. Pogledajte prozor serijskog dnevnika dok pritisnete gumbe kako biste provjerili jeste li identificirali ispravne poruke.

Korak 4: Prototip hardvera

Prototip hardvera
Prototip hardvera

Vaš hardver mora biti u stanju:

  1. Identificirajte naredbe primljene na CAN sabirnici
  2. Pošaljite naredbe u drugom formatu u stereo uređaj

Ako imate dovoljno prostora, možete koristiti Arduino i CAN štit za prvi dio, a za drugi priključiti dodatni hardver. Međutim, postoje neki nedostaci:

  • Troškovi CAN štita
  • Veličina
  • Arduino napajanje neće biti sretno ako je izravno spojeno na vaše automobile 12V (vjerojatno će raditi, ali život će mu se vjerojatno skratiti).

Pa sam umjesto toga upotrijebio sljedeće:

  • Atmega 328, "Arduino mozak". (Postoje neke varijante, nabavite onu koja je jednaka onoj na Arduino Uno. Možete je kupiti sa ili bez Arduino pokretačkog programa.)
  • 16 MHz kristalni + kondenzatori za signal sata.
  • MCP2551 MOŽE primopredajnik.
  • MCP2515 CAN kontroler.
  • TSR1-2450, pretvara 6,5-36V u 5V. (Ne koristi se u prototipu jer softver neće brinuti o napajanju.)
  • CD4066B prekidač koji će se koristiti pri slanju naredbi na stereo.
  • Par otpornika. (Vrijednosti se mogu pronaći u shemama Eagle u kasnijem koraku.)

Dobra stvar s ovom konfiguracijom je što je potpuno kompatibilna s Arduinom i knjižnicom CAN štita.

Ako želite rukovati s više od četiri gumba, razmislite o upotrebi nečeg drugog osim CD4066B. CD4066B se može opisati kao četiri prekidača u jednom, a svakim upravlja jedan od Atmegas GPIO pinova. Na svaki prekidač priključen je otpornik koji se može koristiti za kontrolu otpora koji se koristi kao ulaz u stereo. Dakle, ovo se lako može koristiti za slanje četiri različite naredbe. Ako se kombiniraju, tada se mogu dobiti dodatne vrijednosti otpora. Ovdje dolazi do pogreške koju sam ranije spomenuo. Imam četiri gumba, ali planirao sam implementirati dva od njih dugim i kratkim pritiskom kako bih dobio šest različitih naredbi. No na kraju sam saznao da ne mogu pronaći kombinaciju otpornika koja bi mi dala šest radnih kombinacija. Vjerojatno bi bilo moguće umjesto toga spojiti analogni izlazni signal na stereo (3,5 mm vrh). (Imajte na umu da Atmega nema prave analogne izlazne pinove pa bi bio potreban neki dodatni hardver.)

Za potrebe testiranja također sam napravio jednostavan simulator "automobila i stereo" za povezivanje sa svojim prototipom. Olakšava otklanjanje pogrešaka i ako ne uživate sjediti u automobilu i programirati, mogu vam to preporučiti.

Prototip je ilustriran donjom pločicom na slici. Za napajanje, programiranje i serijsko bilježenje priključen je na Arduino Uno gdje je uklonjen čip Atmega.

Gornja ploča je simulator automobila + stereo koji će se koristiti za početno testiranje prototipa.

Predviđeno je da prototip + simulator radi ovako:

  • Pritisnite jednu od tipki za prebacivanje na ploči simulatora. (To su vaši gumbi na upravljaču.)
  • Kada program simulatora otkrije gumb, on će poslati odgovarajuću CAN poruku svakih 70 ms sve dok je gumb pritisnut. (Budući da su zapisi koje sam ranije uzeo ukazivali na to kako to funkcionira u mom automobilu.) Također će slati mnogo "smeće" CAN poruka za simulaciju drugog prometa u autobusu.
  • CAN poruke se šalju na CAN sabirnici.
  • Prototip prima poruke CAN.
  • MCP2515 baca sve nepovezane poruke na temelju ID -a poruke.
  • Kada MCP2515 primi poruku koju treba obraditi, to će pokazati da ima poruku u redu.
  • Atmega će pročitati poruku i odlučiti koji gumb treba smatrati aktivnim.
  • Atmega će također pratiti kada je zadnja poruka primljena, nakon određenog vremena gumb će se smatrati otpuštenim. (CAN poruke samo pokazuju da je gumb dolje, a ne da je pritisnut ili otpušten.)
  • Ako se gumb smatra aktivnim, tada će se aktivirati jedan ili više prekidača na CD4066B.
  • Simulator (koji sada djeluje kao vaš stereo) otkrit će da se otpor javlja između vrha i rukava. (Vrh je spojen na 3.3V, a preko otpornika na analogni ulazni pin. Kad nijedna naredba nije aktivna, ovaj pin će očitati 3.3V, kada je naredba aktivna, vrijednost će se smanjiti i identificirati naredbu.
  • Dok je naredba aktivna, aktivirat će se i odgovarajuća LED dioda. (Postoji šest LED dioda jer sam planirao koristiti različite duge / kratke pritiske za dvije svoje tipke.)

Za više pojedinosti o prototipu hardvera, pogledajte Eagle sheme u kasnijem koraku.

Dodatni detalji o hardveru ploče simulatora:

  • Kristal 16 MHz
  • Kondenzatori od 22 pF
  • LED otpornike treba odabrati na temelju svojstava LED dioda
  • Otpornik spojen na A7 i 3.3V, odaberite npr. 2 kOhm (nije kritično).
  • Otpornici spojeni na MCP2551 i MCP2515 su pull-up / pull-down. Odaberite npr. 10 kOhm.

(Ili možete koristiti CAN štit za "CAN dio" simulatora ako želite.)

Važno je da znate kako se Atmega pinovi preslikavaju u Arduino pinove pri projektiranju hardvera.

(Nemojte spajati LED diode izravno na CD 4066B, on može podnijeti samo nisku struju. To sam pokušao kad sam prvi put testirao izlaz i čip je postao beskoristan. Dobra stvar je što sam ih kupio samo zato što su tako su jeftini.)

Korak 5: Programiranje osigurača

Možda ste u prethodnom koraku primijetili da prototip nema zasebne komponente za generiranje signala takta na MCP2515. To je zato što već postoji kristal od 16 MHz koji se koristi kao signal sata Atmega koji možemo koristiti. Ali ne možemo ga jednostavno povezati izravno s MCP2515 i prema zadanim postavkama nema signala izlaza sata na Atmegi.

(Ako želite, možete preskočiti ovaj korak i umjesto toga dodati dodatni hardver za sat.)

Međutim, možemo koristiti nešto što se naziva "programiranje osigurača" kako bismo omogućili signal takta na jednom od GPIO pinova.

Prvo ćete morati locirati datoteku pod nazivom "Board.txt" koju koristi vaš Arduino IDE. Morat ćete kopirati unos za Arduino Uno, dati mu novi naziv i promijeniti vrijednost za low_fuses.

Moja nova ploča izgleda ovako:

################################################# #############Na temelju Arduino Uno#Promjene:#niski_ osigurači promijenjeni su iz 0xff u 0xbf kako bi se omogućilo 16 MHz takta#out na Atmega PB0/pin 14 = Arduino D8

clkuno.name = Sat je isključen (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.extended.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.kuri = arduna.build.vari.kuru

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

Imajte na umu da se izlaz sata aktivira postavljanjem kontrolnog bita na 0.

Kad stvorite novu ploču u datoteci za konfiguraciju ploča, morat ćete snimiti novi pokretački program na Atmegu. Postoje različiti načini za to, upotrijebio sam metodu opisanu na

Nakon što to učinite, ne zaboravite odabrati novu vrstu ploče, a ne Arduino Uno kada učitavate program na Atmegu.

Korak 6: Softver

Softver
Softver

Vrijeme je da glupi hardver učinite pametnim dodavanjem nekog softvera.

Evo nekoliko pseudo koda za prototip:

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 poruka je primljena) {za svaku naredbu gumba {ako CAN poruka pripada naredba gumba {lastReceivedTime = sada lastReceivedCmd = cmd}}} if now> lastReceivedTime + cmdTimeout {lastReceivedCmd = none} za svaku naredbu gumba {if lastReceivedCmd je naredba gumba {set command pin output = on} else {set command pin output = off }}}

cmdTimeout odlučuje koliko bismo trebali čekati prije nego uzmemo u obzir zadnji aktivni gumb koji je pušten. Budući da se naredbe poruka CAN poruke gumba šalju otprilike svakih 70 ms, mora biti veće od onog s određenom marginom. No, ako je prevelik, doći će do zaostajanja. Tako se 100 ms čini kao dobar kandidat.

Ali što je pas čuvar? To je korisna mala hardverska značajka koja nas može spasiti u slučaju sudara. Zamislite da imamo grešku koja uzrokuje rušenje programa dok je aktivna naredba za pojačavanje glasnoće. Tada bismo završili sa stereo na maksimalnoj glasnoći! No ako se nadzorni pas ne resetira za određeno vrijeme, odlučit će da se dogodilo nešto neočekivano i jednostavno će izvršiti poništavanje.

void setup ()

{// dopustiti max 250 ms za petlju wdt_enable (WDTO_250MS); // ostale init stvari} void loop () {wdt_reset (); // raditi stvari}

MOŽE li filter? Pa, možete konfigurirati CAN kontroler da odbaci sve poruke koje ne odgovaraju filtru tako da softver ne mora gubiti vrijeme na poruke do kojih nam nije stalo.

bez potpisa duga maska = 0x1fffffff; // Uključi svih 29 bitova zaglavlja u masku

nepotpisani dugi filterId = 0x0400066; // Brinemo samo o ovoj CAN poruci id m_can.init_Mask (0, CAN_EXTID, mask); // Maska 0 se odnosi na filter 0-1 m_can.init_Mask (1, CAN_EXTID, maska); // Maska 1 se odnosi na 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);

Za više pojedinosti o postavljanju filtra + maske provjerite kôd knjižnice CAN i dokumentaciju CAN kontrolera.

Također možete postaviti CAN kontroler da poveća prekid kada se primi poruka (koja nije filtrirana). (Nije uključeno u gornji primjer, ali postoji neki kôd za to u mom programu.) U ovom slučaju to zapravo ne dodaje nikakvu vrijednost i moglo bi biti zbunjujuće ako niste navikli na programiranje.

Ukratko, to je bio prototip softvera. Ali trebamo i neki kôd za ploču simulatora:

lastSentTime = 0

minDelayTime = 70 setup () {konfigurirajte pinove A0-A5 kao izlazne pinove konfigurirajte pinove D4-D7 kao ulazne pinove s unutarnjim izvlačenjem. init CAN} loop () {send "junk" can msg set set activeButton = none za svaki gumb {ako se gumb pritisne {set activeButton = button}} ako je activeButton! = nema {if now> lastSentTime + minDelayTime {naredba gumba za slanje može poslati poruku } postavi lastSentTime = sada} inval = pročitaj pin A7 prije (cmd) {if (min <inval <max) {led on} else {led off}} pričekaj 1 ms}

Ovo će kontinuirano slati "neželjene" CAN poruke otprilike svakih ms, a dok se gumb pritisne odgovarajuća naredba svakih 70 ms.

Možda ćete morati prijaviti ulaz na pin A7 pritiskom na različite tipke kako biste saznali odgovarajuće vrijednosti za min i max varijable koje pripadaju svakom gumbu. (Ili ga možete izračunati, ali čitanjem unosa dobit ćete preciznije vrijednosti.)

Morate biti malo oprezni kada programirate pin načine. Ako ste slučajno namjestili pinove koji namjeravaju koristiti unutarnje izvlačenje kao izlazne pinove, tada ćete stvoriti potencijalni prečac koji će oštetiti vaš Arduino kada postavite izlaz visoko.

Ako želite provjeriti moje programe, možete ih preuzeti ovdje:

  • CAN program za bilježenje poruka
  • Program za ploču simulatora
  • Program za prototip / završnu ploču

Morate biti svjesni da ti programi ovdje zapravo ne odgovaraju pseudo kodu, sadrže puno "dodatnih" stvari koje zapravo nisu potrebne, a ako niste upoznati s objektno orijentiranim programiranjem, vjerojatno će biti malo teško čitati.

Korak 7: Završni hardver

Završni hardver
Završni hardver
Završni hardver
Završni hardver
Završni hardver
Završni hardver

Kad ste zadovoljni sa svojim programom (ne zaboravite testirati prototip u automobilu nakon završnog testiranja sa simulatorskom pločom) vrijeme je za izgradnju pravog hardvera.

Ovdje imate tri mogućnosti:

  • Brzo i prljavo - lemite stvari zajedno na prototipnu ploču PCB -a.
  • Hardcore DIY - urežite vlastitu PCB.
  • Lijen način - naručite profesionalnu PCB za lemljenje komponenti.

Ako ne žurite, mogu vam preporučiti posljednju opciju. Ako vam je potreban samo mali PCB poput ovoga, vrlo je jeftino naručiti ga iz Kine. (I tada ćete vjerojatno dobiti desetak komada pa si možete priuštiti neke greške u lemljenju.)

Za naručivanje PCB -a morate poslati svoj dizajn u Gerber formatu. Za to postoje različiti programi. Koristio sam Eagle koji mogu preporučiti. Možete očekivati nekoliko sati da to naučite, ali onda radi dobro. Za male ploče poput ove možete ga koristiti besplatno.

Budite oprezni pri izradi dizajna. Ne želite čekati četiri tjedna na isporuku samo da biste saznali da ste učinili nešto pogrešno.

(Ako imate dobre vještine lemljenja, možete dizajnirati komponente za površinsku montažu i dobiti zaista mali adapter. Nisam.)

Zatim naručite na pr. https://www.seeedstudio.com/fusion_pcb.html. Slijedite upute za generiranje Gerber datoteka iz vašeg dizajna. Također možete dobiti pregled rezultata kako biste bili sigurni da je u redu.

(Na kraju sam morao odabrati druge otpornike za R4-R7 koji nisu navedeni na slici sa shemama. Umjesto toga koristio sam 2k, 4.7k, 6.8k i 14.7k.)

I zapamtite - nemojte miješati numeriranje Atmega pinova s Arduino numeriranjem!

Preporučujem da ne lemite čip Atmega izravno već koristite utičnicu. Tada ga možete jednostavno ukloniti u slučaju da ga trebate ponovno programirati.

Korak 8: Montaža automobila

Montaža automobila
Montaža automobila
Montaža automobila
Montaža automobila

Sada na najzabavniji dio - montirajte ga u automobil i počnite ga koristiti! (Nakon što ste za njega izradili / kupili futrolu.)

Ako ste već potpuno testirali prototip u svom automobilu, sve bi trebalo funkcionirati savršeno.

(Kao što sam ranije spomenuo, nisam, pa sam morao zamijeniti neke otpornike i napraviti neke promjene u svom programu.)

Također razmislite trebate li ga montirati iza stereo uređaja ili negdje drugdje. Našao sam dobro mjesto iznad pretinca za rukavice gdje ga mogu dohvatiti iz pretinca za rukavice, a da ništa ne rastavim. To bi moglo biti korisno ako ga kasnije odlučim nadograditi.

Konačno mi gumbi opet rade! Kako bih mogao preživjeti dva mjeseca bez njih?

Korak 9: Buduća poboljšanja

Kao što je spomenuto, ako napravim ovu verziju 2.0, zamijenit ću 4066B s nečim drugim (vjerojatno digitalnim potenciometrom) radi veće fleksibilnosti.

Postoji i mnogo drugih stvari koje možete učiniti. Npr. dodajte bluetooth modul i napravite aplikaciju za daljinsko upravljanje za svoj telefon. Ili GPS modul, kada ste blizu kuće, možete automatski pojačati glasnoću i poslati poruku "prozori dolje" CAN tako da svi vaši susjedi mogu uživati u vašoj prekrasnoj glazbi.

Preporučeni: