Sadržaj:
- Korak 1: Preduvjeti
- Korak 2: Izgradnja odbora
- Korak 3: Shema
- Korak 4: Dodajte Irremote biblioteku u Arduino softver
- Korak 5: Snimite kodove sa svojih daljinskih upravljača
- Korak 6: Kreirajte web stranicu za daljinski upravljač
- Korak 7: Prenesite kod za daljinsko upravljanje na svoj Arduino
- Korak 8: Povežite se sa web serverom sa svog računara
- Korak 9: Opcionalni korak: Uredite datoteku domaćina kako biste je olakšali
Video: Arduino daljinski upravljač zasnovan na pregledniku (linux): 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Imamo djecu. Obožavam 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 njenim 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. Kada shvatim zašto moj ethernet štit ne dopušta mom 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čunaru. 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 ohma Žice za kratkospojnike - dobio sam svoj sa punog jezgra RJ45 kabelskog valjka Strana računara: Računar koji će se koristiti kao server USB vodi do Arduino softvera: Arduino softver - iz arduino.cc biblioteke za uklanjanje - sa https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (hvala Ken, odlično obavljeno!) Apache web server sa 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 sačuvao u rezoluciji 200x600
Korak 2: Izgradnja odbora
Preporučuje se upotreba matične ploče za arduino. Montirao sam svoj Arduino i ploču u isto kućište i trajno ožičio sve igle koje redovno koristim izravno na ploču. Arduino pinovi korišteni za ovaj projekt: 5v, uzemljeni Digitalni pinovi 3, 11 (pin 3 kontrolira IC LED, pin 11 se povezuje s IC prijemnikom)
Korak 3: Shema
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š IC prijemnik): GND pin na masu VS pin na 5v VO pin na Arduino digitalni pin 11
Korak 4: Dodajte Irremote biblioteku u Arduino softver
unremote je sjajna biblioteka koju je napisao Ken Shirriff i dostupna je sa njegovog bloga na https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Preuzmite biblioteku sa https:// arcfn.com/files/IRremote.zip i instalirajte ga kao i bilo koju drugu biblioteku za arduino. Njegov blog ima mnogo korisnih informacija o biblioteci i načinu njene instalacije.
Korak 5: Snimite kodove sa svojih daljinskih upravljača
Evo početka dosadnog (ali neizbježnog) dijela: Pritiskom na svako dugme na daljinskom upravljaču spremate izlazni niz i preslikavate ga na virtualni daljinski upravljač. Morate to učiniti samo jednom, očekujte da će vam trebati oko 20 minuta. Pokrenite uređivač teksta da biste spremili ispis. Kreirajte novi dokument i otkucajte svako dugme na daljinskom upravljaču, po jedno u svakom retku: Uključite se dolje lijevo desno.. itd. Pokrenite Arduino IDE i kliknite na "Datoteke-> Primjeri-> IRremote-> IRrecvDump" i prenesite ga na vaš Arduino. Ovaj primjer će izbaciti udaljene kodove na serijski port. Pokrenite monitor serijskog porta i pritisnite taster na daljinskom upravljaču. U prozoru serijskog monitora ćete vidjeti niz: "Decoded *: * (* bits)". Kopirajte ovu liniju i spremite je u svoj dokument na odgovarajućoj liniji. 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 sa "" tražiti ": 0x" zamijeniti sa "," search for "(" replace with "," search for "bits)" replace with "" Dakle, za red kao što je: Decoded NEC: 0x000110 (15 bita) sada bismo trebali imati red koji kaže: NEC, 000110, 15
Korak 6: Kreirajte 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čunaru: [odaberi datoteku]", odaberite svoju sliku, kliknite [otpremi], kliknite [prihvati] Na svako dugme ispustite pravokutnike, krugove itd. Za HREF stavite /remote.php?command= i red za to dugme iz tekstualnog dokumenta, na primjer /remote.php?command=NEC, 000110, 15 Bilo bi pametno (i neizmjerno pomoći u otklanjanju grešaka) ako i ispunite Alt: s imenom gumba, ali to ovisi o vama.
Ponovite za svako dugme.
Sve završeno? 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 potpune web stranice, samo zamijenite…
s gornjim vlastitim kodom i spremite ga kao remote.php u svoj web direktorij (/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
Kreirajte novu skicu i zalijepite sljedeći kôd 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 biblioteka autorska prava 2009 Ken Shirriff, https://arcfn.com */#include predložak inline Print & operator << (Print & obj, T arg) {obj.print (arg); return obj; } logičko 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 sBits; long sHex; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); if (indeks == 0) {pch = ""; } if (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {završeno = tačno; indeks = 0; break; } else {if (indeks <64) // Veličina niza {pch += inChar; index ++; }}} if (završeno) {// Raščlanite podatke u inData ovdje… 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); sBits = 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 << "Tip koda:" << sType << "Hex:"; Serial.print (sHex, HEX); Serijski << "Bitovi:" << sBitovi; } sendIt (sType, sHex, sBits); pch = ""; završeno = 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 sa web serverom sa svog računara
.. ili telefon ili android ili ipad ili šta već: idite na https:// webserver IP adresu/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 vašeg daljinskog upravljača s gumbima na koje možete kliknuti.
Korak 9: Opcionalni korak: Uredite datoteku domaćina kako biste je olakšali
Korak koji sam učinio je bio da uredim datoteku domaćina (/etc/hosts na linux -u, C: / Windows / System32 / Drivers / etc / hosts na Windowsima). Imajte na umu da se ova datoteka može uređivati samo u administrativnoj naredbenoj liniji (windows) ili pomoću 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 možete pristupiti daljinskom upravljaču putem https://remote/remote.php Ovo je moje prvo odgovarajuće uputstvo, budite nježni i obavijestite me ako postoje problemi kako bih ih mogao riješiti.
Preporučuje se:
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 dugmeta na daljinskom upravljaču televizora. Hajde da počnemo
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 tipke na samom uređaju. Ponekad ti gumbi čak ne nude istu funkcionalnost kao daljinski. Primiti
Arduino daljinski upravljač za skakanje ili hidrogliser: 5 koraka (sa slikama)
Arduino daljinski upravljač za Eskate ili hidrogliser: Ovo uputstvo će vam pokazati kako izgraditi fizički daljinski upravljač za upotrebu s eskatom ili električnim hidrogliserom, uključujući sav kôd i hardver koji su vam potrebni. Uključeno je mnogo lemljenja, ali je i zabavno za napraviti. Šta daljinski može učiniti? Co
Kako oponašati daljinski upravljač za televizor ili drugo pomoću Arduino Irliba: 3 koraka (sa slikama)
Kako oponašati daljinski upravljač TV -a ili drugo pomoću Arduino Irliba: Uvod Pozdrav svima i dobrodošli na moj prvi Instructable.Danas ćemo naučiti, kako naslov kaže, oponašati daljinski upravljač za e TV ili nešto slično što radi s infracrvenim signalima pomoću Arduina (bilo koji model) .Problem je bio: Kako mogu prenijeti kodove na
Daljinski video daljinski upravljač za računare Video player: 6 koraka
Video daljinski upravljač za malu djecu za PC Video player: Izrađujem daljinski upravljač koji se povezuje s računarom putem USB -a. Veliki daljinski upravljač omogućuje mom djetetu odabir i reprodukciju videozapisa na starom računaru. Ovo je relativno jednostavan projekt. Osnovna komponenta je ili USB tastatura ili bežična USB tastatura. Zatim