Sisukord:
- 1. samm: eeltingimused
- 2. samm: juhatuse loomine
- 3. samm: skemaatiline
- Samm: lisage Arduino tarkvarasse Irremote'i raamatukogu
- Samm: salvestage kaugjuhtimispuldi koodid
- Samm: looge kaugjuhtimispuldi jaoks veebileht
- Samm: laadige kaugjuhtimispuldi kood oma Arduinole üles
- Samm 8: Ühendage oma arvutist veebiserveriga
- 9. samm: valikuline toiming: muutke oma hostifaili, et seda oleks lihtsam kasutada
Video: Arduino brauseripõhine kaugjuhtimispult (linux): 9 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Meil on lapsed. Ma armastan neid tükkideks, kuid lastekanalite sisselülitamisel peidavad nad satelliidi ja teleri kaugjuhtimispulti. Pärast seda, kui see juhtus iga päev mitu aastat ja pärast seda, kui mu kallis naine lubas mul jõulude ajal Arduino võtta, otsustasin, et on aeg teha midagi kasulikku (tema silmis!) Arduinoga. Siin on meil selle kulminatsioon: veebipõhine liides Arduinole, mis asendab minu kaugjuhtimispuldid ja on juurdepääsetav minu sisevõrgust. Kui ma saan aru, miks mu Etherneti kilp ei luba arduinol visandit säilitada, kirjutan uue visandi, mis kasutab veebiserverina Etherneti kilpi, mis tähendab, et ma ei vaja arvutisse installitud apache'i. Püsige lainel, ma tulen kohale!
1. samm: eeltingimused
Riistvara: Arduino pool: Arduino - ma kasutan Arduino Uno R2 leivaplaati - teie kohalikku elektroonikapoodi või kööki, kui soovite autentset leivaplaati Paigalduskarp - kasutasin vana läbipaistva kaanega plastkorpust Komponendid: infrapuna -LED üks katkisest kaugjuhtimispuldist (aitäh lastele!) Infrapuna vastuvõtja - sain oma maagilise silma kaugjuhtimispikendist Transistor - kasutasin BC547 takistit - kasutasin 1,5k oomi muutuva takisti komplekti 1k ohm Leivaplaadi hüppaja juhtmed - sain oma tahke südamikuga RJ45 kaablirullilt Arvuti pool: arvuti, mida kasutada serverina USB -juhe Arduino tarkvarale: Arduino tarkvara - arduino.cc irremote raamatukogust - aadressilt https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (aitäh Ken, suurepärane töö!) Apache veebiserver, kuhu on installitud PHP - apache.org Sisemine IP -aadress - minu oma on 192.168.0.9 Teie kaugjuhtimispuldi pilt - google või teie kaameraga tehtud pilt. Salvestasin oma eraldusvõimega 200x600
2. samm: juhatuse loomine
Arduino jaoks on väga soovitatav kasutada leivaplaati. Paigaldasin oma Arduino ja leivalaua samasse ümbrisesse ja ühendasin kõik tihvtid, mida regulaarselt kasutan, otse leivaplaadile. Selle projekti jaoks kasutatavad Arduino tihvtid: 5v, maandatud digitaalsed tihvtid 3, 11 (tihvt 3 juhib IR -LED -i, tihvt 11 ühendub IR -vastuvõtjaga)
3. samm: skemaatiline
See skeem on väga lihtne, 4 komponenti ja 6 juhtmest. IR -LED -ühendused: Ühendage takisti üks jalad Arduino digitaalse tihvtiga 3 Ühendage takisti teine jalg transistori aluspinnaga (minu puhul keskmine jalg) Ühendage transistori emitter maandusega transistorist LED -i negatiivse jala külge (lühike jalg, LED -i tasane külg) Ühendage LED -i positiivne jalg (pikk jalg, kõver külg) 5 -pin pistikuga IR -vastuvõtja ühendustega (peate leidma pistiku teie IR -vastuvõtja): GND tihvt maandatud VS -nööpnõel 5 -V VO -pinniga Arduino digitaalsele tihvtile 11
Samm: lisage Arduino tarkvarasse Irremote'i raamatukogu
irremote on suurepärane raamatukogu, mille on kirjutanud Ken Shirriff ja mis on saadaval tema ajaveebis aadressil https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Laadige raamatukogu alla aadressilt https:// arcfn.com/files/IRremote.zip ja installige see nagu kõik muud arduino teegid. Tema ajaveebis on palju kasulikku teavet raamatukogu ja selle installimise kohta.
Samm: salvestage kaugjuhtimispuldi koodid
Siin on igava (kuid vältimatu) osa algus: iga kaugjuhtimispuldi nupu vajutamine, väljundstringi salvestamine ja virtuaalse kaugjuhtimispuldi vastendamine. Peate seda tegema ainult üks kord, eeldatavasti võtab see aega umbes 20 minutit. Väljundi salvestamiseks käivitage tekstiredaktor. Looge uus dokument ja tippige välja kõik kaugjuhtimispuldi nupud, üks rea kohta: sisselülitamine üles ja alla vasakule paremale jne. Käivitage Arduino IDE ja klõpsake "Failid-> Näited-> IRremote-> IRrecvDump" ja laadige see üles teie Arduino. See näide tühjendab kaugkoodid jadaporti. Käivitage jadapordi monitor ja vajutage kaugjuhtimispuldi klahvi. Näete jadamonitori aknas stringi: "Dekodeeritud *: * (* bitti)". Kopeerige see rida ja salvestage see oma dokumendile vastaval real. Korrake seda seni, kuni kõik võtmed on tekstifaili salvestatud. Ma tean, kui lõbus see bitt on, olen seda seni teinud kaks korda: P Nüüd peame tekstifailis natuke otsima ja asendama: otsige "dekodeeritud" asendage "" otsige ": 0x" asenda "," otsi "(" asenda "," otsi "bitte") asenda "" Nii et sellise rea puhul nagu: dekodeeritud NEC: 0x000110 (15 bitti) peaks meil nüüd olema rida, mis ütleb: NEC, 000110, 15
Samm: looge kaugjuhtimispuldi jaoks veebileht
Nüüd peame kaardistama teie kaugjuhtimispuldi kujutise nupud.
Kasutasin nuppude kaardistamiseks https://www.maschek.hu/imagemap/imgmap ja muutsin selle toimimiseks koodi, mille veebisait teile annab.
Klõpsake "Kasuta pilti oma arvutis: [vali fail]", vali oma pilt, klõpsa [üleslaadimine], klõpsa [nõustu] Viska ristkülikud, ringid jms igale nupule. HREF -i jaoks sisestage /remote.php?command= ja selle nupu rida tekstidokumendist, näiteks /remote.php?command=NEC, 000110, 15 Oleks mõistlik (ja aitaks silumisel tohutult kaasa), kui täidaksite ka Alt: nupu nimega, kuid see on teie otsustada.
Korrake iga nupu puhul.
Kõik tehtud? Siis jätkame. Selle lehe allosas on "Kood", klõpsake seda ja avaneb kast, mis näitab pildikaardi koodi. Kopeerige see ja kleepige see uude tekstidokumenti. See on meie veebisaidi peamine osa.
Siin on minu täielik veebisait, lihtsalt asendage…
oma ülaltoodud koodiga ja salvestage see koos kaugjuhtimispiltidega oma veebikataloogi (/var/www Linuxis) failina remote.php. Muutke oma piltide ridu:
"https://www.w3.org/TR/html4/loose.dtd">
Arduino LED -juhtimine
Samm: laadige kaugjuhtimispuldi kood oma Arduinole üles
Looge uus visand ja kleepige sinna järgmine kood:/ * * WebRemote * Arduino PWM pin 3. peab olema ühendatud IR -LED. * Versioon 0.1, juuli 2009 * Selle koodi autoriõigus Gregory Fenton, https://labby.co. uk/2012/02/irremote-arduino-experimentation/ * IRremote'i raamatukogu autoriõigus 2009 Ken Shirriff, https://arcfn.com */#include template inline Print & operator << (Print & obj, T arg) {obj.print (arg); tagastama obj; } loogiline lõpp = vale; char inData [64]; // Suurus vastavalt vajadusele baitindeks = 0; #define EOP "\ n" IRsaada irsend; void setup () {Serial.begin (9600); Seeria << "Sarjaport initsialiseeritud" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; pikk sHex; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); kui (indeks == 0) {pch = ""; } if (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {lõppenud = tõene; indeks = 0; murda; } else {if (indeks <64) // Massiivi suurus {pch += inChar; indeks ++; }}} if (lõppenud) {// Sõeluda inData andmed siin… pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.alamstring (0, i); i ++; // vahele jätta ',' või '' // i osutab nüüd heksade j = pch.lastIndexOf ('') algusesse! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j osutab nüüd ',' või '' peale kuusnurka sHex = 0; sTemp = pch.alamstring (i, j); if (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); jaoks (i = 0; i <sTemp.length (); i ++) {k = sTemp ; kui (! ((k> = '0' && k = 'A' && k <= 'F'))) murda; sHex *= 16; kui (k> = '0' && k <= '9') sHex += (k - '0'); muidu kui (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); kui (! ((k> = '0' && k = 'A' && k <= 'F'))) murda; } sTemp = pch.alamstring (j+1); sBits = 0; jaoks (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBitti *= 10; kui (k> = '0' && k <= '9') sBitti += (k - '0'); } if (sType.length ()> 0) {Serial << pch << EOP << "Koodi tüüp:" << sType << "Hex:"; Serial.print (sHex, HEX); Seeria << "Bits:" << sBits; } sendIt (sType, sHex, sBits); pch = ""; lõppenud = 0; }}} void sendIt (String sType, long sHex, int sBits) {for (int i = 0; i <2; i ++) {if (sType.equals (String ("RC6"))) {irsend.sendRC6 (sHex, sBits); } 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 (""))) {Seeria << "Viivitamine" << EOP; viivitus (450); } viivitus (30); }}
Samm 8: Ühendage oma arvutist veebiserveriga
.. või telefon või android või ipad või mis iganes: minge oma brauseris aadressile https:// veebiserveri IP -aadress/remote.php. Minu jaoks on aadress https://192.168.0.9/remote.php, kuid teie oma on kahtlemata erinev. Kui kõik töötab, peaksite nägema kaugjuhtimispuldi pilti nuppudega, mida saate klõpsata.
9. samm: valikuline toiming: muutke oma hostifaili, et seda oleks lihtsam kasutada
Minu samm oli redigeerida oma hostifaili (/etc/hosts Linuxis, C: / Windows / System32 / Drivers / etc / hosts Windowsis). Pange tähele, et seda faili saab redigeerida ainult administraatori käsureal (Windows) või su (linux). Lisage rida ip.add.re.ss remote asendage ip.add.re.ss serveri IP -aadressiga ja salvestage fail. Peaksite seda tegema igas seadmes, millele soovite lühikese nimega veebilehele pääseda. Nüüd pääsete kaugjuhtimispuldile juurde aadressil https://remote/remote.php. See on minu esimene õige juhend, olge õrn ja andke mulle teada, kui on probleeme, et saaksin need parandada.
Soovitan:
Arduino: ajaprogrammid ja kaugjuhtimispult Androidi rakendusest: 7 sammu (piltidega)
Arduino: ajaprogrammid ja kaugjuhtimispult Androidi rakendusest: Olen alati mõelnud, mis juhtub kõigi nende Arduino tahvlitega, mida inimesed pärast lahedate projektide lõpetamist ei vaja. Tõde on natuke häiriv: mitte midagi. Olen seda täheldanud oma pere kodus, kus isa üritas oma kodu ehitada
Varju valguskast - IR -kaugjuhtimispult Arduino abil: 8 sammu (piltidega)
Varjude valguskast - juhtimine IR -kaugjuhtimispuldi abil Arduino abil: see juhend juhendab, kuidas järgmiste jõulude ajal varjukülge teha. Saate ise oma toa kaunistada või teha selle oma sõbrale kingituseks. See varjukarp võib muuta erinevat värvi, segades värvi punase, sinise, rohelise värviga
Traadita kaugjuhtimispult, kasutades 2,4 GHz NRF24L01 moodulit koos Arduinoga - Nrf24l01 4 kanaliga / 6 kanaliga saatja vastuvõtja nelikopterile - Rc helikopter - Rc lennuk Arduino abil: 5 sammu (piltidega)
Traadita kaugjuhtimispult, kasutades 2,4 GHz NRF24L01 moodulit koos Arduinoga | Nrf24l01 4 kanaliga / 6 kanaliga saatja vastuvõtja nelikopterile | Rc helikopter | Rc -lennuk Arduino abil: Rc -auto käitamiseks | Quadcopter | Droon | RC lennuk | RC paat, meil on alati vaja vastuvõtjat ja saatjat, oletame, et RC QUADCOPTERi jaoks on vaja 6 kanaliga saatjat ja vastuvõtjat ning seda tüüpi TX ja RX on liiga kulukad, nii et teeme selle oma
Tim's Cybot Arduino NANO kaugjuhtimispult: 31 sammu (piltidega)
Tim's Cybot Arduino NANO kaugjuhtimispult: selle projekti eesmärk on luua infrapuna kaugjuhtimispult, et juhtida 2001. aastal alguse saanud ajakirjaga Ultimate Real Robots saadud originaalset Cybot. Puldi valmistamise põhjus: (väike ajalugu) Enne IR -toru osad
Arduino põhine GSM/SMS kaugjuhtimispult: 16 sammu (piltidega)
Arduino põhine GSM/SMS kaugjuhtimispult:! ! ! N O T I C E! ! ! Kuna minu piirkonnas uuendatakse kohalikku mobiiltelefonitorni, ei saa ma seda GSM -moodulit enam kasutada. Uuem torn ei toeta enam 2G -seadmeid. Seetõttu ei saa ma sellele projektile enam toetust anda. Sellise wi