Kazalo:
- 1. korak: Predpogoji
- 2. korak: Izdelava odbora
- 3. korak: Shema
- Korak: Dodajte knjižnico Irremote v programsko opremo Arduino
- 5. korak: Zapišite kode z daljinskega upravljalnika
- 6. korak: Ustvarite spletno stran za daljinski upravljalnik
- 7. korak: Naložite kodo za daljinski upravljalnik v svoj Arduino
- 8. korak: Povežite se s spletnim strežnikom iz računalnika
- 9. korak: Izbirni korak: Uredite datoteko gostiteljev, da bo lažja za uporabo
Video: Daljinski upravljalnik na osnovi brskalnika Arduino (linux): 9 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Imamo otroke. Obožujem jih do potankosti, vendar vedno prikrivajo daljinski upravljalnik za satelitsko in TV, ko prižgejo otroške kanale. Po tem, ko se je to nekaj let dogajalo vsak dan, in potem, ko mi je draga žena dovolila, da imam božič Arduino, sem se odločil, da je čas, da z Arduinom naredim nekaj koristnega (v njenih očeh!). Tu imamo torej vrhunec: spletni vmesnik za Arduino, ki nadomešča moje daljinske upravljalnike in je dostopen iz mojega notranjega omrežja. Ko bom ugotovil, zakaj moj ethernetni ščit ne dovoljuje, da bi moj arduino ohranil skico, bom napisal novo skico, ki uporablja ethernetni ščit kot spletni strežnik, kar pomeni, da ne potrebujem apacheja, nameščenega v računalniku. Ostanite z nami, prišel bom!
1. korak: Predpogoji
Strojna oprema: Arduino stran: Arduino - uporabljam Arduino Uno R2 Breadboard - vašo lokalno trgovino z elektroniko ali kuhinjo, če želite verodostojno ohišje za montažo na mizo - uporabil sem staro plastično ohišje s prozornim pokrovom. Komponente: infrardeča LED - sem razpakiral eden od zlomljenega daljinskega upravljalnika (hvala otrokom!) Infrardeči sprejemnik - svojega sem dobil iz tranzistorja za daljinsko podaljšanje čarobnega očesa - uporabil sem upor BC547 - uporabil sem 1,5 k ohmski spremenljivi upor, nastavljen na 1 k ohmskih žic za mostiče - dobil sem svojega s trdnega jedra RJ45 kabelski kolut Računalniška stran: Računalnik za uporabo kot strežniški kabel USB do programske opreme Arduino: Programska oprema Arduino - iz arduino.cc neprekinjene knjižnice - iz https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (hvala Ken, odlično delo!) Spletni strežnik Apache z nameščenim PHP - apache.org Notranji naslov IP - moj je 192.168.0.9 Slika vašega daljinskega upravljalnika - google ali slika, posneta z vašo kamero. Jaz sem svojega shranil pri ločljivosti 200x600
2. korak: Izdelava odbora
Zelo priporočljivo je, da uporabite armaturo za arduino. Arduino in ploščo sem namestil v isto ohišje in vse nožice, ki jih redno uporabljam, ožičil neposredno na ploščo. Arduino zatiči, uporabljeni za ta projekt: 5v, ozemljeni Digitalni zatiči 3, 11 (pin 3 upravlja IR LED, pin 11 se poveže z IR sprejemnikom)
3. korak: Shema
Ta shema je zelo preprosta, 4 komponente in 6 žic. Priključki IR LED: Priključite eno od nog upora na digitalni zatič Arduino. 3 Priključite drugo nogo upora na osnovni zatič tranzistorja (v mojem primeru srednji krak) Priključite oddajnik tranzistorja na maso Priključite kolektor tranzistorja na negativno nogo LED (kratka noga, ravna stran LED) Priključite pozitivno nogo (dolga noga, ukrivljena stran) LED na priključke 5 -polnega IR sprejemnika (morali boste najti pinout za vaš IR sprejemnik): pin GND na ozemljitev VS pin na 5v VO pin na Arduino digitalni pin 11
Korak: Dodajte knjižnico Irremote v programsko opremo Arduino
unremote je odlična knjižnica, ki jo je napisal Ken Shirriff in je na voljo na njegovem blogu na naslovu https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Prenesite knjižnico s spletnega mesta https:// arcfn.com/files/IRremote.zip in ga namestite tako kot katero koli drugo knjižnico za arduino. Njegov blog vsebuje veliko koristnih informacij o knjižnici in kako jo namestiti.
5. korak: Zapišite kode z daljinskega upravljalnika
Tu je začetek dolgočasnega (vendar neizogibnega) dela: pritiskanje vsakega gumba na daljinskem upravljalniku, shranjevanje izhodnega niza in preslikava v virtualni daljinski upravljalnik. To morate storiti le enkrat, predvidoma bo trajalo približno 20 minut. Zaženite urejevalnik besedila, da shranite izpis. Ustvarite nov dokument in vtipkajte vsak gumb na daljinskem upravljalniku, enega v vsako vrstico: Vklop navzdol levo desno.. itd. Zaženite Arduino IDE in kliknite na "Datoteke-> Primeri-> IRremote-> IRrecvDump" in ga naložite v vaš Arduino. Ta primer bo kode za oddaljeno shranjevanje prenesel na serijska vrata. Zaženite monitor serijskih vrat in pritisnite tipko na daljinskem upravljalniku. V oknu serijskega monitorja se prikaže niz: "Decoded *: * (* bits)". Kopirajte to vrstico in jo shranite v dokument na ustrezni vrstici. Ponavljajte, dokler vsi ključi niso shranjeni v besedilni datoteki. Vem, kako zabaven je ta bit, doslej sem to naredil že dvakrat: P Zdaj moramo malo poiskati in zamenjati v besedilni datoteki: poišči "Decoded" nadomesti z "" poišči ": 0x" nadomesti z "," search for "(" replace with "," search for "bits)" replace with "" Torej za vrstico, kot je: Decoded NEC: 0x000110 (15 bitov), bi morali imeti vrstico, ki pravi: NEC, 000110, 15
6. korak: Ustvarite spletno stran za daljinski upravljalnik
Zdaj moramo preslikati gumbe na vaši sliki vašega daljinskega upravljalnika.
Uporabil sem https://www.maschek.hu/imagemap/imgmap za preslikavo gumbov in spremenil kodo, ki vam jo daje spletno mesto, da deluje.
Kliknite na "Uporabi sliko v računalniku: [izberite datoteko]", izberite svojo sliko, kliknite [naloži], kliknite [sprejmi] Na vsak gumb spustite pravokotnike, kroge itd. Za HREF vnesite /remote.php?command= in vrstico za ta gumb iz besedilnega dokumenta, na primer /remote.php?command=NEC, 000110, 15 Bilo bi pametno (in zelo pomagati pri odpravljanju napak), če izpolnite tudi Alt: z imenom gumba, vendar je odvisno od vas.
Ponovite za vsak gumb.
Končano? Potem bomo nadaljevali. Na dnu te strani je "Koda", kliknite nanjo in odprlo se bo polje s kodo za slikovno karto. Kopirajte to in jo prilepite v nov besedilni dokument. To je glavni del naše spletne strani.
Tukaj je moja celotna spletna stran, samo zamenjajte …
z zgornjo kodo in jo shranite kot remote.php v svoj spletni imenik (/var/www v linuxu) skupaj s slikami daljinskega upravljalnika. Spremenite vrstice za svoje slike:
"https://www.w3.org/TR/html4/loose.dtd">
Arduino LED nadzor
7. korak: Naložite kodo za daljinski upravljalnik v svoj Arduino
Ustvarite novo skico in vanjo prilepite naslednjo kodo:/ * * WebRemote * IR -LED mora biti priključen na pin 3 PWM Arduino. * Različica 0.1 julij 2009 * Ta koda je avtorsko zaščitena 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); vrnitev obj; } logično končano = false; char inData [64]; // ustrezna velikost bajtnega indeksa = 0; #define EOP "\ n" IRsend irsend; void setup () {Serial.begin (9600); Serijski << "Inicializirana serijska vrata" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBIT; dolg 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; zlom; } else {if (index <64) // Velikost matrike {pch += inChar; indeks ++; }}} if (konec) {// Razčlenite podatke v inData tukaj… pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // preskoči ',' ali '' // i zdaj kaže na začetek hex j = pch.lastIndexOf ('')! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j po hex sHex = 0 kaže na ',' ali ''; 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'))) prekinitev; sHex *= 16; če (k> = '0' && k <= '9') sHex += (k - '0'); sicer če (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); if (! ((k> = '0' && k = 'A' && k <= 'F'))) prekinitev; } sTemp = pch.substring (j+1); sBiti = 0; za (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBiti *= 10; if (k> = '0' && k <= '9') sBits += (k - '0'); } if (sType.length ()> 0) {Serial << pch << EOP << "Vrsta kode:" << sType << "Hex:"; Serijski.tisk (sHex, HEX); Serijski << "Bitovi:" << sBiti; } sendIt (sType, sHex, sBits); pch = ""; končano = 0; }}} void sendIt (String sType, long sHex, int sBits) {for (int i = 0; i <2; i ++) {if (sType.equals (String ("RC6")))) {irsend.sendRC6 (sHex, sBiti); } 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; zamuda (450); } zamuda (30); }}
8. korak: Povežite se s spletnim strežnikom iz računalnika
.. ali telefon ali android ali ipad ali karkoli drugega: pojdite na https:// naslov IP spletnega strežnika/remote.php v vašem brskalniku. Zame je naslov https://192.168.0.9/remote.php, vendar bo vaš nedvomno drugačen. Če vse deluje, bi morali videti sliko daljinskega upravljalnika z gumbi, na katere lahko kliknete.
9. korak: Izbirni korak: Uredite datoteko gostiteljev, da bo lažja za uporabo
Korak, ki sem ga naredil, je bil urediti datoteko gostiteljev (/etc/hosts v linuxu, C: / Windows / System32 / Drivers / etc / hosts v oknih). Upoštevajte, da je to datoteko mogoče urediti samo v skrbniškem ukaznem pozivu (windows) ali s su (linux) Dodajte vrstico ip.add.re.ss oddaljeno zamenjajte ip.add.re.ss z naslovom IP strežnika in shranite datoteko. To morate storiti na vsaki napravi, s katero želite dostopati do spletne strani s kratkim imenom. Zdaj lahko dostopate do daljinskega upravljalnika s https://remote/remote.php To je moj prvi ustrezen pouk, bodite nežni in mi sporočite, če obstajajo težave, da jih lahko odpravim.
Priporočena:
Daljinski upravljalnik na osnovi LoRa - Nadzor aparatov z velikih razdalj: 8 korakov
Daljinski upravljalnik na osnovi LoRa | Nadzor aparatov z velikih razdalj: Hej, kaj se dogaja, fantje! Akarsh tukaj iz CETech-a. V tem projektu bomo ustvarili daljinski upravljalnik, ki ga lahko uporabimo za krmiljenje različnih instrumentov, kot so LED, motorji ali če govorimo o vsakdanjem življenju, lahko nadzorujemo domačo aplikacijo
Samodejni IR -daljinski upravljalnik na osnovi temperature daljinskega upravljalnika: 7 korakov
Samodejni IR daljinski upravljalnik na osnovi temperature na arduino: Hej, kaj je, fantje! Akarsh tukaj iz CETech -a. Utrujen od prebujanja sredi trdnega spanca samo zato, ker je vaša sobna temperatura prenizka ali previsoka zaradi neumnega klimatskega sistema. Potem je ta projekt za vas. V tem projektu bomo naredili naš
PCB -ji na osnovi brskalnika: 7 korakov
PCB -ji na osnovi brskalnika: Ko se lotevate ali ustvarjate projekte, bodo nekateri lahki, nekateri pa težki. Nekatere bodo enkratne, druge pa bo treba narediti v velikem obsegu. V tem prispevku bomo raziskovali moj največji projekt doslej, Distributed Symphony in kako mikrofon
Začetek s kodiranjem na osnovi brskalnika MBlock za HyperDuino: 3 koraki
Začetek s kodiranjem na osnovi brskalnika MBlock za HyperDuino: Dobrodošli v spletni vadnici mBlock s HyperDuino. To vam bo pokazalo, kako nastaviti mBlock in naložiti kodo v svoj HyperDuino. To vam bo tudi pokazalo, kako lahko ustvarite tudi osnovno kodo za pametni avto. Za začetek skočimo takoj
Daljinski upravljalnik na osnovi Arduino za Eskate ali hidrogliser: 5 korakov (s slikami)
Arduino daljinski upravljalnik za Eskate ali Hydrofoil: Ta navodila vam bodo pokazala, kako zgraditi fizični daljinski upravljalnik za uporabo z eskatom ali električnim krilcem, vključno z vso kodo in strojno opremo, ki jo potrebujete. Obstaja veliko spajkanja, vendar je tudi zabavno narediti. Kaj lahko naredi daljinec? Co