Sisällysluettelo:

Tekniikka isoisällesi: 13 vaihetta (kuvilla)
Tekniikka isoisällesi: 13 vaihetta (kuvilla)

Video: Tekniikka isoisällesi: 13 vaihetta (kuvilla)

Video: Tekniikka isoisällesi: 13 vaihetta (kuvilla)
Video: KUINKA saada viestejä henkioppailta #henkiopas #näkijä 2024, Marraskuu
Anonim
Image
Image

Kuinka monta kertaa olet käynyt isovanhempiesi luona auttamaan”teknologiaongelmassa”, joka on johtanut irrotetusta virtajohdosta, tyhjästä kaukosäätimen paristosta tai siitä, että et voi vaihtaa televisiolähdettä? Tiedän, että minulle tämä tapahtuu melko usein. Vaikka suurin osa heidän ongelmistaan voidaan ratkaista yksinkertaisesti juoksemalla kauppaan uusia AA -laitteita varten, joskus he voivat hyötyä räätälöitymmästä ratkaisusta.

Esimerkiksi tyttöystäväni isoisä sai uuden television ja yritimme opettaa hänelle, kuinka vaihtaa lähdettä, jotta hän voisi vaihtaa DVD -levyn ja television välillä - mutta hän ei vain kyennyt selvittämään sitä. Hän käsittelee myös näkökyvyn heikkenemistä eikä ole kovin kiinnostunut yrittämään muistaa monimutkaisia prosesseja, hän haluaa vain katsella hänen esityksiään halutessaan. Yritettyäni selittää rauhallisesti edellisen vierailumme vaiheet ilman suurta menestystä, päätin tehdä hänestä oman yksinkertaisen kahden painikkeen kaukosäätimen. Tämä antaisi hänelle mahdollisuuden muuttaa television tulolähdettä kivuttomasti vaihtamalla rakastetun Matlock -DVD -levyn ja Price is Right -tilan välillä helposti.

Vaihe 1: Materiaalit

  • PhidgetIR
  • PhidgetSBC4 (tai mikä tahansa yksittäinen tietokone, kuten Raspberry Pi)
  • Juotin
  • Sivuleikkurit
  • Langanpoistimet
  • Hyppyjohdot
  • USB kaapeli
  • Phidget -kaapeli
  • Kotelo
  • Läpireikäiset otsikot
  • Lämpökutistuvat letkut

Vaihe 2: Suunnittelu

3D -tulostus
3D -tulostus

Kaukosäätimen luomiseksi tarvitsin kykyä lähettää kuluttajille infrapuna (CIR) -komentoja televisioon. Päätin käyttää PhigetIR: tä tähän tehtävään. PhidgetIR on USB -ohjattu laite, jolla voi lähettää ja vastaanottaa CIR -komentoja. Valitsin tämän muutamasta syystä:

  • Halusin lopettaa tämän projektin mahdollisimman pian ja ottaa sen käyttöön, joten ajatus oskilloskoopin ja leipälevyn rikkomisesta ei ollut houkutteleva. Lisäksi kuinka todennäköistä on, että käsin juotetut piirit toimivat edelleen vuoden tai kahden kuluttua?
  • PhidgetIR pystyy "oppimaan" CIR -komentoja, mikä tekee kehityksestä erittäin helppoa.
  • Voit käyttää lähes mitä tahansa yleistä ohjelmointikieltä PhidgetIR: n kanssa. Tämä tarkoitti, että voisin käyttää Javaa ja saada asiat valmiiksi nopeasti.
  • Lopuksi työskentelen Phidgetsille, joten olen tyytyväinen API: han, ja aina on varalaitteita.

Koska päädyin käyttämään PhidgetIR: ää, tarvitsin tietokoneen sen suorittamiseen. Halusin tämän projektin olevan itsenäinen sovellus, aivan kuten tavallinen kaukosäädin, joten pöytäkone tai kannettava tietokone oli poissa käytöstä. Päätin käyttää PhidgetSBC4: tä (yksilevyinen tietokone, jossa on Debian Linux), koska se antoi minulle mahdollisuuden käyttää molempia painikkeita ilman lisälaitteita. Ne voidaan yksinkertaisesti kytkeä suoraan sisäänrakennettuun VINT-keskittimeen. Huomautus: voit myös käyttää Raspberry Pi: tä tähän projektiin. Lopuksi, sen lisäksi, että se oli toiminnallisesti hyvä, halusin tämän projektin näyttävän hyvältä, joten päätin, että 3D -painettu kotelo olisi välttämätön.

Vaihe 3: 3D -tulostus

3D -tulostus
3D -tulostus
3D -tulostus
3D -tulostus

Tässä projektissa Geomagicia käytettiin kotelon mallintamiseen. Sekä PhidgetIR: lle että PhidgetSBC4: lle on saatavana 3D -vaiheetiedostoja, jotka yksinkertaistivat prosessia. Tässä vaiheessa tehtiin joitakin päätöksiä kotelon koosta ja toiminnasta:

  • PhidgetIR -laitteessa on kaksi IR -LEDiä, joiden on osoitettava televisiota kohti komentojen lähettämistä varten. Sen sijaan, että kotelo olisi suunniteltu PhidgetIR -levyn ympärille, IR -LEDit voidaan irrottaa ja liimata kotelon sivussa oleviin reikiin. PhidgetIR -kortti voidaan sitten asentaa pois LED -valoista tyhjää tilaa hyödyntäen.
  • PhidgetSBC4: n VINT Hub -liittimet voivat olla taivutettuja ylöspäin, mikä mahdollistaisi pääsyn painonappiliitäntöihin ja estäisi myös suuremman kotelon luomisen.

Päätin myös lisätä painikkeisiin etiketin ja tarran, joka osoittaa suunnan, jonka suuntaan sen pitäisi olla, jotta IR -LEDit osoittavat oikeaan suuntaan. Tulostin kotelon paikallisesti mustasta ABS -muovista.

Vaihe 4: Asennus - Irrota LEDit

Kokoonpano - Irrota LEDit
Kokoonpano - Irrota LEDit
Kokoonpano - Irrota LEDit
Kokoonpano - Irrota LEDit
Kokoonpano - Irrota LEDit
Kokoonpano - Irrota LEDit

IR -LEDit liimataan lopulta kotelon sivussa oleviin reikiin. Tämä tarkoittaa, että ne on ensin irrotettava.

Vaihe 5: Kokoonpano - lisää reikien otsikot

Kokoonpano - Lisää reikien otsikot
Kokoonpano - Lisää reikien otsikot
Kokoonpano - Lisää reikien otsikot
Kokoonpano - Lisää reikien otsikot

Seuraavaksi lisättiin läpireikäiset otsikot, joissa LEDit olivat ennen, mikä helpotti niiden liittämistä 4-nastaisen hyppyjohtimen avulla. Käytä kutisteputkea estääksesi vahingossa tapahtuvan kosketuksen.

Vaihe 6: Asennus - Kiinnitä LEDit

Asennus - Kiinnitä LEDit
Asennus - Kiinnitä LEDit
Asennus - Kiinnitä LEDit
Asennus - Kiinnitä LEDit

Liimaa LEDit kotelon sivulle.

Vaihe 7: Asennus - Kiinnitä PhidgetIR

Kokoonpano - Kiinnitä PhidgetIR
Kokoonpano - Kiinnitä PhidgetIR
Kokoonpano - Kiinnitä PhidgetIR
Kokoonpano - Kiinnitä PhidgetIR
Kokoonpano - Kiinnitä PhidgetIR
Kokoonpano - Kiinnitä PhidgetIR

Kiinnitä PhidgetIR koteloon ja liitä LEDit.

Vaihe 8: Kokoonpano - painikkeiden lisääminen

Kokoonpano - painikkeiden lisääminen
Kokoonpano - painikkeiden lisääminen
Kokoonpano - painikkeiden lisääminen
Kokoonpano - painikkeiden lisääminen
Kokoonpano - painikkeiden lisääminen
Kokoonpano - painikkeiden lisääminen

Painikkeet on liitettävä PhidgetSBC: n sisäänrakennettuun VINT-keskittimeen, joten katkaisin Phidget-kaapelin puoliksi ja juotin päät painikkeisiin. Huomaa, että tarvitaan vain valkoinen johto (signaali) ja musta (maa).

Vaihe 9: Kokoonpano - kaikki yhteen

Kokoonpano - kaikki yhteen
Kokoonpano - kaikki yhteen
Kokoonpano - kaikki yhteen
Kokoonpano - kaikki yhteen

Kaapelinhallintaa vaadittiin kaiken saamiseksi yhteen, mutta kotelo toimi hyvin.

Vaihe 10: Ohjelmisto - koodi

Tässä projektissa tarvitaan vain yksi Java -tiedosto, jonka löydät täältä. Ohjelma käyttää yhtä PhidgetIR -objektia ja kahta DigitalInput -objektia. Voit luoda nämä objektit seuraavasti:

PhidgetIR ir = uusi PhidgetIR ();

DigitalInput tvButton = uusi DigitalInput (); DigitalInput otherButton = uusi DigitalInput ();

Digital Input -objektit on yhdistetty fyysiseen painikkeeseen VINT -keskittimessä. Liittämis-, irrotus-, virhe- ja tilamuutostapahtumat tilataan myös:

tv.setIsHubPortDevice (tosi);

tvButton.setHubPort (4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener (onStateChangeListener); tvButton.open (); otherButton.setIsHubPortDevice (tosi); otherButton.setHubPort (5); otherButton.addAttachListener (onAttachListener); otherButton.addDetachListener (onDetachListener); otherButton.addErrorListener (onErrorListener); otherButton.addStateChangeListener (onStateChangeListener); otherButton.open ();

Edellä mainittu tilamuutoksen kuuntelija näyttää tältä:

privatestatic DigitalInputStateChangeListener onStateChangeListener = new DigitalInputStateChangeListener () {@OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {

DigitalInput ch = (DigitalInput) disce.getSource (); kokeile {if (ch.getHubPort () == 4 && disce.getState () == true) {tvButtonActivated = true;} if (ch.getHubPort () == 5 && disce.getState () == true) {otherButtonActivated = true;}} catch (PhidgetException ex) {System.out.println ("Virhe:"+ ex.getDescription ());}}};

Kun painike aktivoidaan, tapahtumakoodi suoritetaan ja asetetaan lippu. Näihin lippuihin viitataan ja ne nollataan pääsilmukassa. Pääsilmukka vain odottaa muutosta painikkeen tilassa ja lähettää sitten IR -komentoja käyttämällä lähetystoimintoa, joka on saatavana PhidgetIR -sovellusliittymästä.

while (tosi) {if (tvButtonActivated) {

tvButtonActivated = epätosi; Log.log (LogLevel. INFO, "CHANGING SOURCE - TV"); ir.transmit (sourceButtonString, codeInfo); Kierteet.unen (500); ir.transmit (rightButtonString, codeInfo); Kierteet.unen (500); ir.transmit (enterButtonString, codeInfo);} if (otherButtonActivated) {otherButtonActivated = false; Log.log (LogLevel. INFO, "CHANGING SOURCE - DVD"); ir.transmit (sourceButtonString, codeInfo); Kierteet.unen (500); ir.transmit (leftButtonString, codeInfo); Kierteet.unen (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}

Vaihe 11: Ohjelmisto - CIR -komennot

Ohjelmisto - CIR -komennot
Ohjelmisto - CIR -komennot

Tässä on esimerkki komennon (tässä tapauksessa äänenvoimakkuuden lisäyskomento) luomisesta:

// IR -koodi

IRCodeInfo sourceButtonCI = uusi IRCodeInfo (); String volumeUp = "77e1d0f0"; // Määritä lähdepainike sourceButtonCI.bitCount = 32; sourceButtonCI.encoding = IRCodeEncoding. SPACE; sourceButtonCI.gap = 108921; sourceButtonCI.trail = 549; sourceButtonCI.zero = newint [2]; sourceButtonCI.zero [0] = 549; sourceButtonCI.zero [1] = 627; sourceButtonCI.one = newint [2]; sourceButtonCI.one [0] = 549; sourceButtonCI.one [1] = 1755; sourceButtonCI.header = newint [2]; sourceButtonCI.header [0] = 9084; sourceButtonCI.header [1] = 4600; sourceButtonCI.repeat = newint [3]; sourceButtonCI.repeat [0] = 9084; sourceButtonCI.repeat [1] = 2308; sourceButtonCI.repeat [2] = 549; sourceButtonCI.length = IRCodeLength. CONSTANT;

Saadakseni tämän komennon tiedot käytin vain PhidgetIR -esimerkkiä, joka tulee Phidget -kirjastojen mukana. Kun IR on osoittanut kaukosäätimen kohti PhidgetIRiä ja pitänyt äänenvoimakkuuden lisäyspainiketta painettuna, se "oppii" koodin ja täyttää esimerkin. Nämä tiedot voidaan sitten yksinkertaisesti kopioida koodiin.

Vaihe 12: Ohjelman suorittaminen

Java -tiedosto voidaan kirjoittaa ja koota ulkoisella tietokoneella. Aseta PhidgetRemote.java ja phidget22.jar samaan kansioon ja suorita seuraava komento:

Windowsjavac -luokkareitti.; Phidget22.jar PhidgetRemote.java

macOS/Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java

Kopioi käännöksen jälkeen luodut luokkatiedostot PhidgetSBC4: een ja määritä se toimimaan käynnistyksen yhteydessä.

Vaihe 13: Tulos

Kun annoin kaukosäätimen tyttöystäväni isoisälle ja näytin hänelle, kuinka sitä käytetään, hän hämmästyi sen yksinkertaisuudesta. Katso video nähdäksesi sen toiminnassa!

Kauko -ohjauskilpailu 2017
Kauko -ohjauskilpailu 2017
Kauko -ohjauskilpailu 2017
Kauko -ohjauskilpailu 2017

Kolmas palkinto kauko -ohjauskilpailussa 2017

Suositeltava: