Sisällysluettelo:
- Vaihe 1: Materiaalit
- Vaihe 2: Suunnittelu
- Vaihe 3: 3D -tulostus
- Vaihe 4: Asennus - Irrota LEDit
- Vaihe 5: Kokoonpano - lisää reikien otsikot
- Vaihe 6: Asennus - Kiinnitä LEDit
- Vaihe 7: Asennus - Kiinnitä PhidgetIR
- Vaihe 8: Kokoonpano - painikkeiden lisääminen
- Vaihe 9: Kokoonpano - kaikki yhteen
- Vaihe 10: Ohjelmisto - koodi
- Vaihe 11: Ohjelmisto - CIR -komennot
- Vaihe 12: Ohjelman suorittaminen
- Vaihe 13: Tulos
Video: Tekniikka isoisällesi: 13 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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
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
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
IR -LEDit liimataan lopulta kotelon sivussa oleviin reikiin. Tämä tarkoittaa, että ne on ensin irrotettava.
Vaihe 5: 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
Liimaa LEDit kotelon sivulle.
Vaihe 7: Asennus - Kiinnitä PhidgetIR
Kiinnitä PhidgetIR koteloon ja liitä LEDit.
Vaihe 8: 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
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
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!
Kolmas palkinto kauko -ohjauskilpailussa 2017
Suositeltava:
Objektisuuntautunut ohjelmointi: Objektien luominen Oppiminen/opetusmenetelmä/tekniikka Shape Puncherin avulla: 5 vaihetta
Objektisuuntautunut ohjelmointi: Objektien luominen Oppimis-/opetusmenetelmä/-tekniikka Shape Puncherin avulla: Oppimis-/opetusmenetelmä oppilaille, jotka ovat vasta oppineet olio-ohjelmointia. Tämä on tapa antaa heidän visualisoida ja nähdä prosessi objektien luomisesta luokista. EkTools 2 tuuman suuri rei'itin; kiinteät muodot ovat parhaita.2. Paperi tai c
Matala tekniikka aurinkovalaisin uudelleenkäytetyillä paristoilla: 9 vaihetta (kuvilla)
Matala tekniikka aurinkolamppu uudelleenkäytetyillä paristoilla: Tämän opetusohjelman avulla voit valmistaa aurinkolampun, joka on varustettu USB-laturilla. Se käyttää litium -kennoja, joita käytetään uudelleen vanhasta tai vaurioituneesta kannettavasta tietokoneesta. Tämä järjestelmä, jossa on päivänvalo, voi ladata älypuhelimen täyteen ja kestää 4 tuntia valoa. Tämä tekniikka
Coco-Mic --- DIY Studio Quailty USB Mic (MEMS-tekniikka): 18 vaihetta (kuvilla)
Coco-Mic --- DIY Studio Quailty USB Mic (MEMS Technology): Hei Instructabler's, Sahas täällä. Haluatko tallentaa äänitiedostojasi ammattilaisen tavoin? Luultavasti haluaisit … No … itse asiassa kaikki rakastavat. Tänään toiveesi toteutuvat. Tässä on Coco -Mic - joka ei vain tallenna laatua
D4E1 - DIY - Avustava tekniikka: Säädettävä pyörätuolialusta: 7 vaihetta (kuvilla)
D4E1 - DIY - Avustava tekniikka: Säädettävä pyörätuolialusta: Kjellillä on synnynnäinen vamma: dyskinetic quadriparesis eikä pysty syömään itse. Hän tarvitsee monitorin, toimintaterapeutin apua, joka ruokkii häntä. Tähän liittyy kaksi ongelmaa: 1) toimintaterapeutti seisoo ratin takana
Aurinkovoimalla toimiva tekniikka - SolarCycle ja Microsoft Garage: 9 vaihetta (kuvilla)
Aurinkokäyttöinen Techfashion - SolarCycle & Microsoft Garage: En ole koskaan käynyt Burning Manissa, mutta ehkä olen juuri tehnyt täydellisen asun sille, tämä on yksi asuistani Maker Fairessa tänä vuonna. Mitä pukeudut? Tämän asun tekemiseen kuuluu vaatteiden suunnittelu, 3D -tulostus ja aurinkoenergia, rakenne