Obsah:

Technológia pre vášho dedka: 13 krokov (s obrázkami)
Technológia pre vášho dedka: 13 krokov (s obrázkami)

Video: Technológia pre vášho dedka: 13 krokov (s obrázkami)

Video: Technológia pre vášho dedka: 13 krokov (s obrázkami)
Video: 💦Blackview BV9200 ЧЕСТНЫЙ ОБЗОР ПРОТИВОУДАРНОГО 2024, Júl
Anonim
Image
Image

Koľkokrát ste už išli do domu svojich starých rodičov, aby ste pomohli s „technologickým problémom“, ktorý skončil odpojením napájacieho kábla, vybitou batériou na diaľku alebo nemožnosťou prepnúť zdroj na televízore? Viem, že sa mi to stáva pomerne často. Aj keď väčšinu ich problémov je možné vyriešiť jednoduchým behom do obchodu pre nové AA, niekedy môžu mať prospech z prispôsobenejšieho riešenia.

Starý otec mojej priateľky napríklad dostal nový televízor a pokúsili sme sa ho naučiť, ako zmeniť zdroj, aby mohol prepínať medzi DVD a TV - ale on na to nemohol prísť. Rieši tiež zhoršený zrak a príliš sa nezaujíma o to, aby si pamätal komplikované procesy, chce si len pozrieť jeho šou, keď chce. Potom, čo som sa pokúsil pokojne vysvetliť kroky počas našej poslednej návštevy bez veľkého úspechu, rozhodol som sa, že mu vyrobím vlastné jednoduché dvojtlačidlové diaľkové ovládanie. To mu umožní bezbolestne zmeniť vstupný zdroj na svojej televízii a ľahko prepínať medzi milovanými DVD Matlock a Price is Right.

Krok 1: Materiály

  • PhidgetIR
  • PhidgetSBC4 (alebo akýkoľvek jeden palubný počítač, ako je Raspberry Pi)
  • Spájkovačka
  • Bočné frézy
  • Odizolovače drôtov
  • Prepojovacie vodiče
  • USB kábel
  • Kábel Phidget
  • Ohrada
  • Hlavičky priechodných otvorov
  • Tepelne zmrštiteľné hadičky

Krok 2: Plánovanie

3D tlač
3D tlač

Aby som mohol vytvoriť diaľkový ovládač, potreboval som schopnosť odosielať do televízie príkazy CIR (Consumer Infrared). Na túto úlohu som sa rozhodol použiť PhigetIR. PhidgetIR je zariadenie ovládané USB, ktoré dokáže odosielať aj prijímať príkazy CIR. Vybral som si to z niekoľkých dôvodov:

  • Chcel som tento projekt dokončiť čo najskôr a dať ho do používania, takže myšlienka na vylomenie môjho osciloskopu a breadboardu nebola príťažlivá. Tiež je pravdepodobné, že moje ručne spájkované obvody budú ešte rok alebo dva fungovať?
  • PhidgetIR má schopnosť „naučiť sa“príkazy CIR, čo robí vývoj mimoriadne jednoduchým.
  • S PhidgetIR môžete používať takmer akýkoľvek bežný programovací jazyk. To znamenalo, že som mohol používať Javu a veci vybavovať rýchlo.
  • Nakoniec pracujem pre Phidgets, takže mi API vyhovuje, a vždy sú okolo náhradné zariadenia.

Pretože som sa rozhodol používať PhidgetIR, potreboval som na spustenie počítač. Chcel som, aby bol tento projekt samostatnou aplikáciou, podobne ako bežné diaľkové ovládanie, a tak bol stolný počítač alebo prenosný počítač mimo prevádzky. Rozhodol som sa použiť PhidgetSBC4 (jednodoskový počítač so systémom Debian Linux), pretože mi to umožnilo prepojiť obe tlačidlá bez ďalšieho hardvéru. Môžu byť jednoducho zapojené priamo do vstavaného VINT Hubu. Poznámka: Na tento projekt môžete použiť aj Raspberry Pi. Nakoniec, okrem toho, aby bol tento projekt funkčne zdravý, chcel som, aby aj skvele vyzeral, a tak som sa rozhodol, že bude potrebný kryt s 3D tlačou.

Krok 3: 3D tlač

3D tlač
3D tlač
3D tlač
3D tlač

Pre tento projekt bola na modelovanie krytu použitá Geomagic. K dispozícii sú súbory s krokmi 3D pre PhidgetIR aj PhidgetSBC4, ktoré tento proces zjednodušili. Počas tohto kroku bolo urobených niekoľko rozhodnutí týkajúcich sa veľkosti a funkčnosti krytu:

  • PhidgetIR má dve IR LED diódy, ktoré musia smerovať k televízoru, aby mohli odosielať príkazy. Namiesto navrhovania krytu okolo dosky PhidgetIR bolo možné IR LED diódy odpájať a vlepiť do otvorov na boku krytu. Dosku PhidgetIR potom bolo možné namontovať ďalej od diód LED a využiť tak prázdne miesto.
  • Konektory VINT Hub na zariadení PhidgetSBC4 by mohli byť ohnuté nahor, čo by stále umožňovalo prístup k tlačidlovým prepojeniam, a tiež by predchádzalo vytváraniu väčšieho krytu.

Tiež som sa rozhodol pridať štítok pre tlačidlá a štítok označujúci smer, ktorým by mal smerovať, aby IR LED smerovali správnym smerom. Skriňu som lokálne vytlačil z čierneho plastu ABS.

Krok 4: Montáž - Demontujte diódy LED

Montáž - Demontujte LED diódy
Montáž - Demontujte LED diódy
Montáž - Demontujte LED diódy
Montáž - Demontujte LED diódy
Montáž - Demontujte LED diódy
Montáž - Demontujte LED diódy

IR LED diódy budú nakoniec vlepené do otvorov na boku krytu. To znamená, že najskôr musia byť odpájkované.

Krok 5: Zostavenie - pridajte hlavičky priechodných dier

Zostava - Pridajte hlavičky priechodných dier
Zostava - Pridajte hlavičky priechodných dier
Zostava - Pridajte hlavičky priechodných dier
Zostava - Pridajte hlavičky priechodných dier

Ďalej boli do miest, kde bývali LED diódy, pridané záhlavia cez diery, ktoré im uľahčili pripojenie pomocou 4-kolíkového prepojovacieho vodiča. Aby ste zabránili náhodnému kontaktu, použite zmršťovaciu hadičku.

Krok 6: Montáž - pripevnite LED diódy

Montáž - Pripojte LED diódy
Montáž - Pripojte LED diódy
Montáž - Pripojte LED diódy
Montáž - Pripojte LED diódy

Prilepte LED diódy na bočnú stranu krytu.

Krok 7: Zostavenie - Pripojte PhidgetIR

Zostava - Pripojte zariadenie PhidgetIR
Zostava - Pripojte zariadenie PhidgetIR
Zostava - Pripojte zariadenie PhidgetIR
Zostava - Pripojte zariadenie PhidgetIR
Zostava - Pripojte zariadenie PhidgetIR
Zostava - Pripojte zariadenie PhidgetIR

Pripojte PhidgetIR k puzdru a zapojte LED diódy.

Krok 8: Zostavenie - pridanie tlačidiel

Zostava - Pridanie tlačidiel
Zostava - Pridanie tlačidiel
Zostava - Pridanie tlačidiel
Zostava - Pridanie tlačidiel
Zostava - Pridanie tlačidiel
Zostava - Pridanie tlačidiel

Tlačidlá je potrebné pripojiť k vstavanému rozbočovaču VINT na serveri PhidgetSBC, preto som prestrihol kábel Phidget na polovicu a konce som spájkoval s tlačidlami. Upozorňujeme, že je potrebný iba biely vodič (signál) a čierny (uzemnenie).

Krok 9: Montáž - Dajte všetko dohromady

Montáž - všetko dohromady
Montáž - všetko dohromady
Montáž - všetko dohromady
Montáž - všetko dohromady

Aby sa všetko spojilo, bola potrebná určitá správa káblov, ale kryt fungoval dobre.

Krok 10: Softvér - kód

Na tento projekt je potrebný iba jeden súbor Java, ktorý nájdete tu. Program používa jeden objekt PhidgetIR a dva objekty DigitalInput. Tieto objekty môžete vytvoriť takto:

PhidgetIR ir = nový PhidgetIR ();

DigitalInput tvButton = nový DigitalInput (); DigitalInput otherButton = nový DigitalInput ();

Objekty digitálneho vstupu sú mapované na fyzické tlačidlo na VINT Hub. Udalosti pripojenia, odpojenia, chyby a zmeny stavu sú tiež prihlásené na odber:

tv.setIsHubPortDevice (true);

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

Vyššie uvedený poslucháč zmeny stavu vyzerá takto:

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

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

Keď je tlačidlo aktivované, spustí sa kód udalosti a nastaví príznak. Na tieto vlajky sa bude odkazovať a budú resetované v hlavnej slučke. Hlavná slučka jednoducho čaká na zmenu stavu tlačidla a potom odosiela IR príkazy pomocou funkcie prenosu, ktorá je k dispozícii z rozhrania PhidgetIR API.

while (true) {if (tvButtonActivated) {

tvButtonActivated = false; Log.log (LogLevel. INFO, „ZMENA ZDROJA - TV“); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (rightButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} if (otherButtonActivated) {otherButtonActivate = false; Log.log (LogLevel. INFO, „ZMENA ZDROJA - DVD“); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (leftButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}

Krok 11: Softvér - Príkazy CIR

Softvér - Príkazy CIR
Softvér - Príkazy CIR

Tu je príklad toho, ako vytvoriť príkaz (v tomto prípade príkaz na zvýšenie hlasitosti):

// IR kód

IRCodeInfo sourceButtonCI = nový IRCodeInfo (); String volumeUp = "77e1d0f0"; // Nastavenie tlačidla zdroja 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;

Aby som získal informácie o tomto príkaze, jednoducho som použil príklad PhidgetIR, ktorý sa dodáva s knižnicami Phidget. Po nasmerovaní diaľkového ovládača na PhidgetIR a podržaní tlačidla zvýšenia hlasitosti sa IR „naučí“kód a vyplní príklad. Tieto informácie potom môžete jednoducho skopírovať do kódu.

Krok 12: Spustenie programu

Súbor Java je možné zapísať a skompilovať na externom počítači. Umiestnite súbory PhidgetRemote.java a phidget22.jar do rovnakého priečinka a spustite nasledujúci príkaz:

Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java

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

Po kompilácii skopírujte vygenerované súbory triedy do PhidgetSBC4 a nakonfigurujte ho na spustenie.

Krok 13: Výsledok

Keď som dal diaľkový ovládač dedkovi svojej priateľky a ukázal som mu, ako ho používa, žasol nad tým, aké jednoduché to bolo. Pozrite sa na video a uvidíte, že je v prevádzke!

Súťaž o diaľkové ovládanie 2017
Súťaž o diaľkové ovládanie 2017
Súťaž o diaľkové ovládanie 2017
Súťaž o diaľkové ovládanie 2017

Tretia cena v súťaži o diaľkové ovládanie 2017

Odporúča: