Sadržaj:
- Korak 1: Preduvjeti
- Korak 2: Izgradnja ploče
- Korak 3: Shematski prikaz
- Korak 4: Dodajte Irremote knjižnicu u softver Arduino
- Korak 5: Snimite kodove s daljinskog upravljača
- Korak 6: Izradite web stranicu za daljinski upravljač
- Korak 7: Prenesite kod za daljinsko upravljanje na svoj Arduino
- Korak 8: Povežite se s web poslužiteljem s računala
- Korak 9: Izborni korak: Uredite datoteku domaćina kako biste je olakšali
Video: Arduino daljinski upravljač temeljen na pregledniku (linux): 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Imamo djecu. Volim ih na komade, ali stalno skrivaju daljinski upravljač za satelit i televiziju kad uključe dječje kanale. Nakon što se to svakodnevno događalo nekoliko godina, i nakon što mi je draga supruga dopustila da popijem Arduino za Božić, odlučio sam da je vrijeme da napravim nešto korisno (u njezinim očima!) S Arduinom. Dakle, ovdje imamo vrhunac toga: web-sučelje za Arduino koje zamjenjuje moje daljinske upravljače i dostupno je s moje interne mreže. Kad shvatim zašto moj ethernet štit ne dopušta arduinu da zadrži skicu, napisat ću novu skicu koja koristi ethernet štit kao web poslužitelj, što znači da mi ne treba apache instaliran na računalu. Pratite nas, stići ću!
Korak 1: Preduvjeti
Hardver: Arduino strana: Arduino - koristim Arduino Uno R2 Breadboard - vašu lokalnu trgovinu elektronike ili kuhinju ako želite autentičnu ploču za montažu - koristio sam staru plastičnu kutiju s prozirnim poklopcem Komponente: infracrvena LED - raspakirao sam jedan s pokvarenog daljinskog upravljača (hvala djeco!) Infracrveni prijemnik - ja sam svoj dobio od tranzistora za daljinsko proširenje čarobnog oka - koristio sam otpornik BC547 - koristio sam promjenjivi otpornik od 1,5 k ohma postavljen na 1 k ohm Žice za kratkospojnike - dobio sam svoj s pune jezgre RJ45 kabelski kolut Strana računala: Računalo koje će se koristiti kao poslužitelj USB vodi do Arduino softvera: Arduino softver - iz arduino.cc biblioteke za uklanjanje - s https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (hvala Ken, sjajno!) Apache web poslužitelj s instaliranim PHP -om - apache.org Interna IP adresa - moja je 192.168.0.9 Slika vašeg daljinskog upravljača - google ili slika snimljena kamerom. Ja sam svoj spremio u rezoluciji 200x600
Korak 2: Izgradnja ploče
Korištenje matične ploče za arduino se jako preporučuje. Montirao sam svoj Arduino i ploču u isto kućište i trajno ožičio sve igle koje redovito koristim izravno na ploču. Arduino pinovi koji se koriste za ovaj projekt: 5v, uzemljeni Digitalni pinovi 3, 11 (pin 3 kontrolira IC LED, pin 11 se povezuje s IC prijamnikom)
Korak 3: Shematski prikaz
Ova shema je vrlo jednostavna, 4 komponente i 6 žica. IC LED veze: Spojite jednu nogu otpornika na Arduino digitalni pin 3 Drugu nogu otpornika spojite na osnovni pin tranzistora (srednja noga u mom slučaju) Spojite odašiljač tranzistora na masu Spojite kolektor tranzistora na negativni krak LED -a (kratka noga, ravna strana LED -a) Spojite pozitivnu nogu (dugačka noga, zakrivljena strana) LED -a na 5 -polne priključke IC prijemnika (trebali biste pronaći pinout za vaš IR prijemnik): GND pin na masu VS pin na 5v VO pin na Arduino digitalni pin 11
Korak 4: Dodajte Irremote knjižnicu u softver Arduino
unremote je sjajna knjižnica koju je napisao Ken Shirriff i dostupna je s njegovog bloga na https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Preuzmite knjižnicu s https:// arcfn.com/files/IRremote.zip i instalirajte ga kao i bilo koju drugu knjižnicu za arduino. Njegov blog ima mnogo korisnih informacija o knjižnici i načinu njezine instalacije.
Korak 5: Snimite kodove s daljinskog upravljača
Evo početka dosadnog (ali neizbježnog) dijela: Pritiskom na svaki gumb na daljinskom upravljaču spremate izlazni niz i preslikavate ga na virtualni daljinski upravljač. To morate učiniti samo jednom, očekujte da će vam trebati oko 20 minuta. Pokrenite uređivač teksta da biste spremili ispis. Izradite novi dokument i upišite svaki gumb na daljinskom upravljaču, po jedan u svaki redak: Uključivanje dolje lijevo desno.. itd. Pokrenite Arduino IDE i kliknite "Datoteke-> Primjeri-> IRremote-> IRrecvDump" i prenesite ga na tvoj Arduino. Ovaj primjer će izbaciti udaljene kodove na serijski port. Pokrenite monitor serijskog porta i pritisnite tipku na daljinskom upravljaču. Vidjet ćete niz u prozoru serijskog monitora: "Decoded *: * (* bits)". Kopirajte ovaj redak i spremite ga u svoj dokument na odgovarajućem retku. Ponavljajte sve dok svi ključevi ne budu pohranjeni u tekstualnoj datoteci. Znam koliko je ovo zabavno, do sada sam to učinio dva puta: P Sada moramo malo pretražiti i zamijeniti u tekstualnoj datoteci: potražiti "Decoded" zamijeniti s "" tražiti ": 0x" zamijeniti sa "," search for "(" replace with "," search for "bits)" replace with "" Dakle, za redak kao što je: Decoded NEC: 0x000110 (15 bita) sada bismo trebali imati redak koji kaže: NEC, 000110, 15
Korak 6: Izradite web stranicu za daljinski upravljač
Sada moramo mapirati gumbe na vašoj slici vašeg daljinskog upravljača.
Koristio sam https://www.maschek.hu/imagemap/imgmap za mapiranje gumba i izmijenio kôd koji vam web stranica daje kako bi funkcionirao.
Kliknite na "Koristi sliku na svom računalu: [odaberi datoteku]", odaberite svoju sliku, kliknite [učitaj], kliknite [prihvati] Stavite pravokutnike, krugove itd. Na svaki gumb. Za HREF stavite /remote.php?command= i redak za taj gumb iz tekstualnog dokumenta, na primjer /remote.php?command=NEC, 000110, 15 Bilo bi pametno (i iznimno pomoći u otklanjanju pogrešaka) ako i ispunite Alt: s nazivom gumba, ali to ovisi o vama.
Ponovite za svaki gumb.
Sve gotovo? Zatim ćemo nastaviti. Pri dnu stranice nalazi se "Kôd", kliknite na nju i otvorit će se okvir s kodom za slikovnu kartu. Kopirajte to i zalijepite u novi tekstualni dokument. Ovo je glavni dio naše web stranice.
Evo moje cijele web stranice, samo zamijenite…
s gornjim vlastitim kodom i spremite ga kao remote.php u svoj web imenik (/var/www na linuxu) zajedno sa slikama na daljinskom upravljaču. Promijenite linije za svoje slike:
"https://www.w3.org/TR/html4/loose.dtd">
Arduino LED kontrola
Korak 7: Prenesite kod za daljinsko upravljanje na svoj Arduino
Napravite novu skicu i zalijepite sljedeći kod u nju:/ * * WebRemote * IR LED mora biti spojen na Arduino PWM pin 3. * Verzija 0.1 srpanj 2009 * Ovaj kod zaštićen je Gregory Fenton, https://labby.co. uk/2012/02/unremote-arduino-experimentation/ * IRremote Library copyright 2009 Ken Shirriff, https://arcfn.com */#include template inline Print & operator << (Print & obj, T arg) {obj.print (arg); povratak obj; } boolean završeno = false; char inData [64]; // Veličina prema potrebi indeks bajta = 0; #define EOP "\ n" IRsend irsend; void setup () {Serial.begin (9600); Serijski << "Serijski port inicijaliziran" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBitovi; dugi sHex; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); if (indeks == 0) {pch = ""; } if (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {END = true; indeks = 0; pauza; } else {if (indeks <64) // Veličina niza {pch += inChar; indeks ++; }}} if (završeno) {// Ovdje raščlanite podatke u inData … pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // preskočite ',' ili '' // i sada pokazuje početak hex -a j = pch.lastIndexOf ('')! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j sada pokazuje ',' ili '' nakon hex sHex = 0; sTemp = pch.substring (i, j); if (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); za (i = 0; i <sTemp.length (); i ++) {k = sTemp ; if (! ((k> = '0' && k = 'A' && k <= 'F'))) break; sHex *= 16; if (k> = '0' && k <= '9') sHex += (k - '0'); inace if (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); if (! ((k> = '0' && k = 'A' && k <= 'F'))) break; } sTemp = pch.substring (j+1); sBitovi = 0; za (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBitovi *= 10; if (k> = '0' && k <= '9') sBitovi += (k - '0'); } if (sType.length ()> 0) {Serial << pch << EOP << "Vrsta koda:" << sType << "Hex:"; Serijski ispis (sHex, HEX); Serijski << "Bitovi:" << sBitovi; } sendIt (sType, sHex, sBits); pch = ""; završio = 0; }}} void sendIt (String sType, long sHex, int sBits) {for (int i = 0; i <2; i ++) {if (sType.equals (String ("RC6")))) {irsend.sendRC6 (sHex, sBitovi); } else if (sType.equals (String ("RC5"))) {irsend.sendRC5 (sHex, sBits); } else if (sType.equals (String ("SONY")))) {irsend.sendSony (sHex, sBits); } else if (sType.equals (String ("NEC")))) {if (! i) irsend.sendNEC (sHex, sBits); } else if (sType.equals (String ("")))) {Serial << "Delaying" << EOP; kašnjenje (450); } kašnjenje (30); }}
Korak 8: Povežite se s web poslužiteljem s računala
.. ili telefon ili android ili ipad ili što već: idite na https:// webserver IP address/remote.php u svom pregledniku. Za mene je adresa https://192.168.0.9/remote.php, ali vaša će nesumnjivo biti drugačija. Ako sve radi, trebali biste vidjeti sliku daljinskog upravljača s gumbima na koje možete kliknuti.
Korak 9: Izborni korak: Uredite datoteku domaćina kako biste je olakšali
Korak koji sam učinio je bio urediti datoteku domaćina (/etc/hosts na linuxu, C: / Windows / System32 / Drivers / etc / hosts na Windowsima). Imajte na umu da se ova datoteka može uređivati samo u administrativnom naredbenom retku (windows) ili su (linux) Dodajte redak ip.add.re.ss daljinski zamijenite ip.add.re.ss s IP adresom poslužitelja i spremite datoteku. To biste trebali učiniti na svakom uređaju s kojim želite pristupiti web stranici s kratkim imenom. Sada daljinskom upravljaču možete pristupiti putem https://remote/remote.php Ovo je moje prvo odgovarajuće uputstvo, budite nježni i javite mi ako postoje problemi kako bih ih mogao riješiti.
Preporučeni:
TV daljinski upravljač postaje RF daljinski -- NRF24L01+ Vodič: 5 koraka (sa slikama)
TV daljinski upravljač postaje RF daljinski || Vodič za NRF24L01+: U ovom projektu ću vam pokazati kako sam koristio popularni nRF24L01+ RF IC za bežično podešavanje svjetline LED trake putem tri beskorisna gumba na daljinskom upravljaču televizora. Započnimo
Automatski IR daljinski upravljač temeljen na Arduinu: 7 koraka
Automatski IR daljinski upravljač temeljen na Arduinu, temeljen na temperaturi: Hej, što ima, dečki! Akarsh ovdje iz CETech -a. Umorni ste od buđenja usred zdravog sna samo zato što vam je sobna temperatura preniska ili previsoka zbog vašeg glupog klima -uređaja. Onda je ovaj projekt za vas. U ovom ćemo projektu napraviti naš
IRduino: Arduino daljinski upravljač - oponašajte izgubljeni daljinski upravljač: 6 koraka
IRduino: Arduino daljinski upravljač - oponašajte izgubljeni daljinski upravljač: Ako ste ikada izgubili daljinski upravljač za televizor ili DVD uređaj, znate koliko je frustrirajuće morati hodati do, pronaći i koristiti gumbe na samom uređaju. Ponekad ti gumbi čak ne nude istu funkcionalnost kao daljinski. Primiti
Glazbeni generator temeljen na vremenu (Midi generator temeljen na ESP8266): 4 koraka (sa slikama)
Glazbeni generator temeljen na vremenu (Midi Generator temeljen na ESP8266): Bok, danas ću vam objasniti kako napraviti vlastiti mali glazbeni generator temeljen na vremenu. Baziran je na ESP8266, koji je poput Arduina, a reagira na temperaturu, kišu i intenzitet svjetla. Ne očekujte da će to učiniti cijele pjesme ili akorde
Daljinski video daljinski upravljač za računalo Video player: 6 koraka
Daljinski video daljinski upravljač za računalo Video player: Izrađujem daljinski upravljač koji se povezuje s računalom putem USB -a. Veliki daljinski upravljač omogućuje mom djetetu odabir i reprodukciju videozapisa na starom računalu. Ovo je relativno jednostavan projekt. Osnovna komponenta je ili USB tipkovnica ili bežična USB tipkovnica. Zatim