Sadržaj:
- Korak 1: Saznajte kako poslati naredbe na stereo uređaj
- Korak 2: Saznajte gdje se možete spojiti na CAN sabirnicu
- Korak 3: Obrnuti inženjering CAN poruka
- Korak 4: Hardverski prototip
- Korak 5: Programiranje osigurača
- Korak 6: Softver
- Korak 7: Završni hardver
- Korak 8: Montiranje automobila
- Korak 9: Buduća poboljšanja
Video: Prilagođeni Arduino za zadržavanje gumba na upravljaču CAN sa novim stereo uređajem za automobil: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
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.)
Pa šta 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 uputstvo se može primijeniti (s nekim prilagodbama) na automobile u kojima tipke na upravljaču komuniciraju preko CAN sabirnice.
Korak 1: Saznajte kako poslati naredbe na stereo uređaj
Prvo što trebate učiniti je saznati koju vrstu daljinskog ulaza stereo očekuje. Obično vam proizvođači to neće reći, a vjerojatno ni vi nemate 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 opcionalno između prstena i rukava). Npr. https://forum.arduino.cc/index.php?topic=230068.0. Pa sam odlučio pokušati s tim, opremljen matičnom pločom, gomilom otpornika i utikačem od 3,5 mm koji je priključen na stereo i spojen na matičnu ploču. U početku ništa nije prepoznato, 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 naučio zaista 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.
Zato preporučujem da koristite ploču s otpornicima i tipkama za prebacivanje za sve daljinske komande kojima želite upravljati i da zapravo testirate da li će sve funkcionirati.
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 možete spojiti na CAN sabirnicu
Morate pronaći dobro mjesto za povezivanje 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 dijagram ožičenja vašeg automobila.
Korak 3: Obrnuti inženjering CAN poruka
Osim ako vam Google ne može reći koje CAN poruke trebate slušati, morat ćete se povezati 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 kasnije vidjeti, umjesto toga možete koristiti neke jeftine komponente na matičnoj ploči.)
Obratite se Googleu kako biste saznali koju brzinu prijenosa trebate koristiti pri povezivanju na automobil. (Obično ćete otkriti da postoji CAN mreža velike i niske brzine. Povezujete se na mrežu niske brzine.)
Također ćete morati programirati Arduino za bilježenje svih CAN poruka 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 kit.
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 serijska veza init CAN biblioteka} loop () {ako je primljena CAN poruka {pročitajte CAN format zapisa zapisa u dnevnik unesite zapis u serijsku}}
Savjeti:
Za pristup funkciji biblioteke CAN koristit ćete instancu klase MCP_CAN:
MCP_CAN m_can;
Init CAN:
while (m_can.begin ()! = CAN_OK)
{kašnjenje (1000); }
Provjerite i pročitajte CAN poruke:
dok (m_can.checkReceive () == CAN_MSGAVAIL)
{// Dobijte CAN ID, dužinu 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. Biblioteka CAN štita također sadrži primjer. Ili provjerite uputstva mviljoen2 koja uključuju sličan korak.
Prvo će vam trebati referentna datoteka koja će vam pomoći u filtriranju podataka. Prebacite paljenje u radio način i zapišite sve na par minuta bez dodirivanja bilo kojeg dugmeta.
Zatim za svako od dugmadi počnite sa logovanjem, pritisnite dugme i zaustavite evidentiranje.
Kada završite, morate filtrirati sve što se nalazi u vašem referentnom dnevniku iz dnevnika dugmeta da biste pronašli svoje kandidate. Otkrio sam da je ostalo još mnogo poruka pa sam napravio više zapisa, a zatim zatražio da "kandidati za naredbu A moraju biti u svim datotekama dugmeta 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 možda koristiti Excel. (Koristio sam program sa vrlo teškim kodiranim uslovima za svoje potrebe pa se bojim da ne mogu ponuditi program koji možete koristiti.)
Upozorenje: Ne možete biti sigurni da će dugme 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)
- Bajt 1: 0x00 (nije važno)
- Bajt2: 0x00 (nije važno)
- Bajt3: 0x00-0x07 (nije važno)
- Bajt4: 0x1f (nije važno)
- Bajt5: 0x40 (nije važno)
- Bajt6: 0x40 (nije važno)
- Bajt 7: Identifikator dugmeta: 0x77 = pojačavanje zvuka, 0x7b = smanjivanje jačine zvuka, 0x7d = sledeća numera, 0x7e = prethodna numera.
Kada vjerujete da ste pronašli naredbe, možda bi bilo dobro izmijeniti program tako da zapisuje samo zanimljive poruke. Pogledajte prozor serijskog dnevnika dok pritiskate dugmad da biste potvrdili da ste identifikovali ispravne poruke.
Korak 4: Hardverski prototip
Vaš hardver mora biti u stanju da:
- Identificirajte naredbe primljene na CAN sabirnici
- Pošaljite komande 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 spojeno izravno na vaše automobile 12V (vjerojatno će raditi, ali će mu se vjerovatno skratiti vijek trajanja).
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 CAN 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 -a u kasnijem koraku.)
Dobra stvar s ovom konfiguracijom je što je potpuno kompatibilna s Arduino i CAN knjižnicom š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č je priključen 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 greške koju sam ranije spomenuo. Imam četiri dugmeta, ali sam planirao implementirati dva od njih dugim i kratkim pritiskom kako bih dobio šest različitih naredbi. Ali na kraju sam otkrio da ne mogu pronaći kombinaciju otpornika koja bi mi dala šest radnih kombinacija. Umjesto toga, vjerojatno bi bilo moguće 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, napravio sam i jednostavan simulator "automobila i stereo" za povezivanje sa svojim prototipom. Olakšava otklanjanje greš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.
Prototip + simulator treba raditi ovako:
- Pritisnite jedno od prekidača na ploči simulatora. (To su vaša dugmad na upravljaču.)
- Kada program simulatora otkrije dugme, on će poslati odgovarajuću CAN poruku svakih 70 ms sve dok je dugme pritisnuto. (Budući da su zapisi koje sam ranije uzeo ukazivali na to kako to funkcionira u mom automobilu.) Također će slati puno "neželjenih" CAN poruka za simulaciju drugog prometa u autobusu.
- CAN poruke se šalju na CAN sabirnici.
- Prototip prima CAN poruke.
- MCP2515 baca sve nepovezane poruke na osnovu 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 koje dugme treba smatrati aktivnim.
- Atmega će također pratiti kada je zadnja poruka primljena, nakon određenog vremena dugme će se smatrati otpuštenim. (CAN poruke samo pokazuju da je dugme pritisnuto, a ne da je pritisnuto ili otpušteno.)
- Ako se dugme smatra aktivnim, tada će se aktivirati jedan ili više prekidača u 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. Kada nijedna naredba nije aktivna, ovaj pin će č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 dva svoja dugmeta.)
Za više detalja o prototipu hardvera, pogledajte Eagle sheme u kasnijem koraku.
Dodatni detalji o hardveru ploče simulatora:
- 16 MHz kristal
- 22 pF kondenzatori
- LED otpornike treba izabrati na osnovu 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.
(Ne povezujte nikakve LED diode izravno na CD 4066B, on može podnijeti samo nisku struju. Pokušao sam to kada 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 takta signala prema 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 na 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 novo ime i promijeniti vrijednost za low_fuses.
Moja nova ploča izgleda ovako:
################################################# #############Na temelju Arduino Uno#Promjene:#low_fuses promijenjeno iz 0xff u 0xbf kako bi se omogućio radni takt od 16 MHz#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 = arcdo.no.build.kuri
##############################################################
Imajte na umu da se izlaz sata aktivira postavljanjem njegovog kontrolnog bita na 0.
Kada stvorite novu ploču u datoteci za konfiguraciju ploča, morat ćete narezati novi pokretački program na Atmegu. Postoje različiti načini za to, koristio 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
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 komandu dugmeta {ako CAN poruka pripada naredba dugmeta {lastReceivedTime = sada lastReceivedCmd = cmd}}} if now> lastReceivedTime + cmdTimeout {lastReceivedCmd = none} za svaku naredbu dugmeta {if lastReceivedCmd je komanda dugmeta {set command pin output = on} else {set command pin output = off }}}
cmdTimeout odlučuje koliko bismo trebali čekati prije nego razmotrimo zadnje aktivno dugme koje je pušteno. Budući da se naredbe poruka CAN poruke gumba šalju otprilike svakih 70 ms, mora biti veće od onog s određenom marginom. Ali ako je prevelik, doći će do zaostajanja. Dakle, 100 ms izgleda kao dobar kandidat.
Ali šta 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 povećanje glasnoće. Tada bismo završili sa stereo zvukom na maksimalnoj glasnoći! Ali 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 (); // radi stvari}
MOŽE li filter? Pa, možete konfigurirati CAN kontroler da odbaci sve poruke koje ne odgovaraju filteru tako da softver ne mora gubiti vrijeme na poruke do kojih nam nije stalo.
nepotpisana duga maska = 0x1fffffff; // Uključuje svih 29 bitova zaglavlja u masku
nepotpisani dugi filterId = 0x0400066; // Brinemo samo o ovoj CAN poruci id m_can.init_Mask (0, CAN_EXTID, maska); // 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 detalja o tome kako postaviti filter + masku provjerite kôd biblioteke CAN i dokumentaciju o CAN kontroleru.
Također možete postaviti CAN kontroler da pokrene prekid kada se primi poruka (koja nije filtrirana). (Nije uključeno u gornji primjer, ali postoji neki kod za njega 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 svako dugme {ako se dugme pritisne {set activeButton = button}} ako je activeButton! = ništa {if now> lastSentTime + minDelayTime {komanda dugmeta za slanje može poslati poruku } postavi lastSentTime = sada} inval = očitaj pin A7 za svaki (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 dugme 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 možete to izračunati, ali zapravo čitanje unosa će vam dati preciznije vrijednosti.)
Morate biti malo oprezni kada programirate pin načine. Ako ste slučajno namjestili pinove namijenjene korištenju internog pullapa kao izlazne pinove, tada ćete stvoriti potencijalnu prečicu koja će oštetiti vaš Arduino kada postavite izlaz visoko.
Ako želite provjeriti moje programe, možete ih preuzeti ovdje:
- CAN program za evidentiranje poruka
- Program za ploču simulatora
- Program za prototip / završnu ploču
Trebali biste biti svjesni da se ti programi zapravo ne podudaraju s pseudo kodom, 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
Kada 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 PCB prototipnu ploču.
- Hardcore DIY - urežite vlastitu PCB.
- Lijen način - naručite profesionalnu PCB ploču za lemljenje komponenti.
Ako ne žurite, mogu vam preporučiti posljednju opciju. Ako vam je potreban samo mali ovakav PCB, 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.)
Da biste naručili PCB -ove, 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 funkcionira dobro. Za male ploče poput ove možete ga koristiti besplatno.
Budite oprezni pri izradi dizajna. Ne želite čekati četiri sedmice 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 npr. 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 osim onih koji su navedeni na slici sa shemama. Umjesto toga, koristio sam 2k, 4.7k, 6.8k i 14.7k.)
I zapamtite - nemojte brkati numeriranje Atmega pinova s Arduino numeriranjem!
Preporučujem da ne lemite Atmega čip izravno već koristite utičnicu. Tada ga možete lako ukloniti u slučaju da ga trebate ponovno programirati.
Korak 8: Montiranje automobila
Sada na najzabavniji dio - montirajte ga u automobil i počnite ga koristiti! (Nakon što ste za njega napravili / kupili futrolu.)
Ako ste već potpuno testirali prototip u svom automobilu, sve bi trebalo savršeno funkcionirati.
(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 kasnije odlučim nadograditi.
Konačno moja dugmad ponovo 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 jačinu zvuka i poslati poruku „prozori dolje“CAN tako da svi vaši susjedi mogu uživati u vašoj divnoj muzici.
Preporučuje se:
Ključevi upravljača do stereo adaptera za automobil (CAN sabirnica -> ključ1): 6 koraka
Ključevi upravljača na stereo adapteru za automobil (CAN sabirnica -> Ključ 1): Nekoliko dana nakon kupovine polovnog automobila, otkrio sam da ne mogu reproducirati muziku sa svog telefona putem stereo uređaja u automobilu. Još je više frustriralo to što je automobil imao bluetooth, ali je dopuštao samo glasovne pozive, a ne i muziku. Takođe je imao USB port za Windows Phone, ali ja
Truba za automobil - prilagođeni zvučni efekti: 4 koraka (sa slikama)
Car Truba - prilagođeni zvučni efekti: Instalirao sam prilagođene zvučne efekte u svoj automobil na osnovu YouTube videa Marka Roberta i Volim praviti stvari. Po mom mišljenju, osnovna sirena zahtijeva više opcija za efikasnu komunikaciju između vozača. Tamo gdje sam iz standardne sirene za automobile ima
Smanjivanje potrošnje energije releja - Zadržavanje u odnosu na pokupnu struju: 3 koraka
Smanjivanje potrošnje energije releja - Zadržavanje naspram struje prikupljanja: Većini releja je za početak potrebno više struje za aktiviranje nego što je potrebno za držanje releja nakon što se kontakti zatvore. Struja potrebna za držanje releja (struja zadržavanja) može biti znatno manja od početne struje potrebne za aktiviranje
Programirajte svoj Arduino s Android uređajem putem Bluetootha: 6 koraka (sa slikama)
Programirajte svoj Arduino s Android uređajem putem Bluetootha: Pozdrav, u ovom uputstvu želim vam pokazati kako programirati svoj Arduino Uno s vašim Android uređajem putem Bluetootha. Vrlo je jednostavno, a tako jeftino. Također nam omogućava da programiramo naš Arduino gdje god poželimo preko bežičnog bluetootha … Dakle
Daljinsko isključivanje ili ponovno pokretanje računara s uređajem ESP8266: 10 koraka (sa slikama)
Daljinsko isključivanje ili ponovno pokretanje računara sa uređajem ESP8266: Da budemo jasni, isključujemo VAŠ računar, a ne računar nekog drugog. Priča ide ovako: Moj prijatelj na Facebooku mi je poslao poruku i rekao da ima desetak računara koji rade hrpa matematike, ali svako jutro u 3 ujutro zaključavaju se. S