Sisällysluettelo:
- Vaihe 1: Edellytykset
- Vaihe 2: Hallituksen rakentaminen
- Vaihe 3: Kaavio
- Vaihe 4: Lisää Irremote -kirjasto Arduino -ohjelmistoon
- Vaihe 5: Tallenna koodit kaukosäätimistäsi
- Vaihe 6: Luo verkkosivu kaukosäätimellesi
- Vaihe 7: Lataa kaukosäätimen koodi Arduinollesi
- Vaihe 8: Muodosta yhteys verkkopalvelimeen tietokoneeltasi
- Vaihe 9: Valinnainen vaihe: Muokkaa isäntätiedostoa sen käytön helpottamiseksi
Video: Arduino -selainpohjainen kaukosäädin (linux): 9 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Meillä on lapsia. Rakastan heitä palasiksi, mutta he piilottavat jatkuvasti satelliitin ja television kaukosäätimen, kun he laittavat lasten kanavat päälle. Tämän jälkeen tapahtui päivittäin useita vuosia, ja kun rakas vaimoni antoi minulle mahdollisuuden saada Arduinon jouluksi, päätin, että on aika tehdä jotain hyödyllistä (hänen silmissään!) Arduinon kanssa. Joten tässä meillä on sen huipentuma: verkkopohjainen käyttöliittymä Arduinolle, joka korvaa kaukosäätimeni ja on käytettävissä sisäisestä verkostani. Kun ymmärrän, miksi ethernet -kilveni ei salli arduinoni pitää luonnosta, kirjoitan uuden luonnoksen, joka käyttää ethernet -suojaa verkkopalvelimena, eli en tarvitse apachea tietokoneeseeni. Pysy kuulolla, tulen sinne!
Vaihe 1: Edellytykset
Laitteisto: Arduino -puoli: Arduino - Käytän Arduino Uno R2 -leipälevyä - paikallista elektroniikkamyymälääsi tai keittiötä, jos haluat aitoa leipälevyä Asennuskotelo - Käytin vanhaa muovikoteloa läpinäkyvällä kannella Komponentit: Infrapuna -LED - I desoldered yksi rikkoutuneesta kaukosäätimestä (kiitos lapsille!) Infrapunavastaanotin - sain omani taikasilmäkauko -ohjaimesta Transistori - Käytin BC547 -vastusta - Käytin 1,5 k ohmin muuttuvaa vastusta, joka asetettiin 1 k ohmin leipälevyn hyppyjohtoihin - sain omani kiinteästä RJ45 -kaapelikelasta Tietokonepuoli: Tietokone, jota käytetään palvelimena USB -liitäntä Arduino -ohjelmistoon: Arduino -ohjelmisto - arduino.cc -irremote -kirjastosta - osoitteesta https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (kiitos Ken, hienoa työtä!) Apache -verkkopalvelin, johon on asennettu PHP - apache.org Sisäinen IP -osoite - minun on 192.168.0.9 Kuva kaukosäätimestäsi - google tai kameralla otettu kuva. Tallensin omani 200x600 resoluutiolla
Vaihe 2: Hallituksen rakentaminen
Leipälaudan käyttäminen arduinoon on erittäin suositeltavaa. Asensin Arduinon ja leipälautani samaan koteloon ja johdotin kaikki säännöllisesti käyttämäni tapit suoraan leipälautaan pysyvästi. Tässä projektissa käytetyt Arduino -nastat: 5v, maadoitetut digitaaliset nastat 3, 11 (nasta 3 ohjaa IR -LEDiä, nasta 11 yhdistää IR -vastaanottimen)
Vaihe 3: Kaavio
Tämä kaavio on hyvin yksinkertainen, 4 komponenttia ja 6 johtoa. IR -LED -liitännät: Liitä yksi vastuksen jaloista Arduinon digitaaliseen nastaan 3 Kytke vastuksen toinen jalka transistorin pohjatappiin (minun tapaukseni keskijalka) Kytke transistorin lähetin maahan Kytke keräin transistorista LED -valon negatiiviseen osaan (lyhyt jalka, LED -valon tasainen puoli) IR -vastaanotin): GND -nasta maadoitettuun VS -nastaan 5 voltin VO -nastaan Arduinon digitaaliseen nastaan 11
Vaihe 4: Lisää Irremote -kirjasto Arduino -ohjelmistoon
irremote on loistava kirjasto, jonka on kirjoittanut Ken Shirriff ja joka on saatavilla hänen blogistaan osoitteessa https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Lataa kirjasto osoitteesta https:// arcfn.com/files/IRremote.zip ja asenna se kuten mikä tahansa muu arduino -kirjasto. Hänen blogissaan on paljon hyödyllistä tietoa kirjastosta ja sen asentamisesta.
Vaihe 5: Tallenna koodit kaukosäätimistäsi
Tässä on tylsä (mutta väistämätön) osa: Kauko -ohjaimen jokaisen painikkeen painaminen, tulostusjonon tallentaminen ja sen yhdistäminen virtuaaliseen kaukosäätimeen. Sinun tarvitsee vain tehdä se kerran, odota noin 20 minuuttia. Käynnistä tekstieditori tallentaaksesi tuloksen. Luo uusi asiakirja ja kirjoita kaikki kaukosäätimen painikkeet, yksi per rivi: Käynnistä Alas Vasen Oikea.. jne. Käynnistä Arduino IDE ja napsauta "Tiedostot-> Esimerkit-> IRremote-> IRrecvDump" ja lataa se sinun Arduino. Tämä esimerkki tyhjentää etäkoodit sarjaporttiin. Käynnistä sarjaporttimonitori ja paina kaukosäätimen näppäintä. Sarjanäyttöikkunassa näkyy merkkijono: "Dekoodattu *: * (* bittiä)". Kopioi tämä rivi ja tallenna se asiakirjaan sopivalla rivillä. Toista, kunnes kaikki avaimet on tallennettu tekstitiedostoon. Tiedän kuinka hauskaa tämä bitti on, olen tehnyt sen kahdesti tähän mennessä: P Meidän on nyt tehtävä pieni haku ja korvattava tekstitiedosto: etsi "dekoodattu" korvaa "" etsi ": 0x" korvaa "," etsi "(" korvata "," etsi "bittejä" ") korvata" "Joten riville, kuten: Dekoodattu NEC: 0x000110 (15 bittiä), meillä pitäisi nyt olla rivi, joka sanoo: NEC, 000110, 15
Vaihe 6: Luo verkkosivu kaukosäätimellesi
Meidän on nyt kartoitettava kaukosäätimen kuvasi painikkeet.
Kartoitin painikkeet https://www.maschek.hu/imagemap/imgmap avulla ja muokkasin sivuston antamaa koodia, jotta se toimisi.
Napsauta "Käytä kuvaa tietokoneellasi: [valitse tiedosto]", valitse kuva, napsauta [lataa], napsauta [hyväksy] Pudota suorakulmiot, ympyrät jne. Jokaiseen painikkeeseen. Kirjoita HREF: lle /remote.php?command= ja kyseisen painikkeen rivi tekstiasiakirjasta, esimerkiksi /remote.php?command=NEC, 000110, 15 Olisi viisasta (ja auttaisi suuresti virheenkorjauksessa), jos täytät myös Vaihtoehto: painikkeen nimi, mutta se on sinun valintasi.
Toista jokaisen painikkeen kohdalla.
Valmista? Sitten jatkamme. Sivun alareunassa on "Koodi", napsauta sitä ja ruutu avautuu, jossa näkyy kuvakartan koodi. Kopioi se ja liitä se uuteen tekstiasiakirjaan. Tämä on verkkosivumme pääosa.
Tässä on täydellinen verkkosivuni, vaihda vain…
omalla koodillasi yllä ja tallenna se remote.php -tiedostona verkkohakemistoosi (/var/www Linuxissa) yhdessä kauko -ohjaimen kuvien kanssa. Muuta omien kuvien rivejä:
"https://www.w3.org/TR/html4/loose.dtd">
Arduino LED -ohjaus
Vaihe 7: Lataa kaukosäätimen koodi Arduinollesi
Luo uusi luonnos ja liitä siihen seuraava koodi:/ * * WebRemote * IR -LED on kytkettävä Arduino PWM -tappiin 3. * Versio 0.1, heinäkuu 2009 * Tämä koodi tekijänoikeus Gregory Fenton, https://labby.co. uk/2012/02/irremote-arduino-experimentation/ * IRremote-kirjaston tekijänoikeudet 2009 Ken Shirriff, https://arcfn.com */#include template inline Print & operator << (Print & obj, T arg) {obj.print (arg); paluu obj; } boolean päättyi = false; char inData [64]; // Koko sopiva tavuindeksi = 0; #define EOP "\ n" IRlähetä irsend; void setup () {Serial.begin (9600); Sarja << "Sarjaportti alustettu" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; pitkä sHex; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); jos (indeksi == 0) {pch = ""; } if (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {end = true; indeksi = 0; tauko; } else {if (indeksi <64) // Taulukon koko {pch += inChar; indeksi ++; }}} if (päättyi) {// Parsaa inDatan tiedot tästä… pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // ohita ',' tai '' // i nyt osoittaa heksadesimaalin alkuun j = pch.lastIndexOf ('')! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j osoittaa nyt ',' tai '' heksadesimaalin jälkeen sHex = 0; sTemp = pch.substring (i, j); jos (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); for (i = 0; i <sTemp.length (); i ++) {k = sTemp ; jos (! ((k> = '0' && k = 'A' && k <= 'F'))) tauko; sHex *= 16; jos (k> = '0' && k <= '9') sHex += (k - '0'); muuten jos (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); jos (! ((k> = '0' && k = 'A' && k <= 'F'))) tauko; } sTemp = pch.substring (j+1); sBits = 0; for (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBittiä *= 10; jos (k> = '0' && k <= '9') sBittiä += (k - '0'); } if (sType.length ()> 0) {Sarja << pch << EOP << "Koodityyppi:" << sType << "Hex:"; Sarjajälki (sHex, HEX); Sarja << "Bittiä:" << sBittiä; } sendIt (sType, sHex, sBits); pch = ""; päättynyt = 0; }}} void sendIt (String sType, long sHex, int sBits) {for (int i = 0; i <2; i ++) {if (sType.equals (String ("RC6"))) {irsend.sendRC6 (sHex, sBittiä); } 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 (""))) {Sarja << "Viivästyy" << EOP; viive (450); } viive (30); }}
Vaihe 8: Muodosta yhteys verkkopalvelimeen tietokoneeltasi
.. tai puhelin tai android tai ipad tai mikä tahansa: siirry selaimessasi osoitteeseen https:// web -palvelimen IP -osoite/remote.php. Minulle osoite on https://192.168.0.9/remote.php, mutta omasi on varmasti erilainen. Jos kaikki toimii, sinun pitäisi nähdä kuva kauko -ohjaimesta painikkeilla, joita voit napsauttaa.
Vaihe 9: Valinnainen vaihe: Muokkaa isäntätiedostoa sen käytön helpottamiseksi
Vaihe, jonka tein, oli muokata isäntätiedostoani (/etc/hosts Linuxissa, C: / Windows / System32 / Drivers / etc / hosts Windowsissa). Huomaa, että tätä tiedostoa voidaan muokata vain järjestelmänvalvojan komentokehotteessa (Windows) tai su (linux).. Sinun on tehtävä tämä kaikilla laitteilla, joilla haluat käyttää verkkosivua lyhyellä nimellä. Nyt voit käyttää kaukosäädintä osoitteessa https://remote/remote.php. Tämä on ensimmäinen oikea ohjeeni, ole lempeä ja kerro minulle, onko ongelmia, jotta voin korjata ne.
Suositeltava:
Arduino: Aikaohjelmat ja kaukosäädin Android -sovelluksesta: 7 vaihetta (kuvilla)
Arduino: Aikaohjelmat ja kaukosäädin Android -sovelluksesta: Olen aina ihmetellyt, mitä tapahtuu kaikille niille Arduino -levyille, joita ihmiset eivät tarvitse viileiden projektiensa päätyttyä. Totuus on hieman järkyttävä: ei mitään. Olen havainnut tämän perheeni kotona, jossa isäni yritti rakentaa oman kodin
IRduino: Arduino -kaukosäädin - Jäljitä kadonnut kaukosäädin: 6 vaihetta
IRduino: Arduino -kaukosäädin - Jäljitä kadonnut kaukosäädin: Jos olet koskaan kadottanut television tai DVD -soittimen kaukosäätimen, tiedät kuinka turhauttavaa on kävellä, löytää ja käyttää laitteen painikkeita. Joskus nämä painikkeet eivät edes tarjoa samaa toimintoa kuin kaukosäädin. Vastaanota
Tim's Cybot Arduino NANO -kaukosäädin: 31 vaihetta (kuvilla)
Tim's Cybot Arduino NANO -kaukosäädin: Tämän projektin tarkoituksena on luoda infrapunakaukosäädin ohjaamaan alkuperäistä Cybotia, joka vastaanotettiin Ultimate Real Robots -lehden kanssa, joka aloitettiin vuonna 2001. Syy tehdä kaukosäädin: (pieni historia) Ennen IR -luurin osat
Arduino -pohjainen kaukosäädin Eskatelle tai kantosiipialukselle: 5 vaihetta (kuvilla)
Arduinopohjainen kaukosäädin Eskatelle tai kantosiipialukselle: Tämä ohje antaa sinulle ohjeet fyysisen kaukosäätimen rakentamiseen käytettäväksi eskate- tai sähköisen kantosiipialuksen kanssa, mukaan lukien kaikki tarvitsemasi koodi ja laitteisto. Siinä on paljon juottamista, mutta sen tekeminen on myös hauskaa. Mitä kaukosäädin voi tehdä? Co
Helppo Arduino Car BT -kaukosäädin: 3 vaihetta (kuvilla)
Helppo Arduino Car BT -kaukosäädin: " Easy Arduino Car BT Remote " on Android -sovellus. Tämä sovellus auttaa sinua rakentamaan Bluetooth -auton ilman Android -ohjelmointia. Tässä opetusohjelmassa autan rakentamaan oman Arduino -autosi ja kirjoitin Arduino -koodin. Jos noudatat ohjeita