Obsah:
- Krok 1: Materiály
- Krok 2: Plánovanie
- Krok 3: 3D tlač
- Krok 4: Montáž - Demontujte diódy LED
- Krok 5: Zostavenie - pridajte hlavičky priechodných dier
- Krok 6: Montáž - pripevnite LED diódy
- Krok 7: Zostavenie - Pripojte PhidgetIR
- Krok 8: Zostavenie - pridanie tlačidiel
- Krok 9: Montáž - Dajte všetko dohromady
- Krok 10: Softvér - kód
- Krok 11: Softvér - Príkazy CIR
- Krok 12: Spustenie programu
- Krok 13: Výsledok
Video: Technológia pre vášho dedka: 13 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
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
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č
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
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
Ď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
Prilepte LED diódy na bočnú stranu krytu.
Krok 7: Zostavenie - Pripojte PhidgetIR
Pripojte PhidgetIR k puzdru a zapojte LED diódy.
Krok 8: Zostavenie - 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
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
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!
Tretia cena v súťaži o diaľkové ovládanie 2017
Odporúča:
Coco-Mic --- DIY Studio Quailty USB mikrofón (technológia MEMS): 18 krokov (s obrázkami)
Coco-Mic --- DIY Studio Quailty USB Mic (technológia MEMS): Ahoj, inštruktor, Sahas tu. Chcete nahrávať zvukové súbory ako profesionáli? Pravdepodobne by ste radi … No … v skutočnosti každý miluje. Dnes sa vaše priania splnia. Tu je predstavený Coco -Mic - ktorý zaznamenáva nielen kvalitné
Umelá inteligencia pre vášho robota .: 7 krokov
Umelá inteligencia pre vášho robota: Nechať robota pohybovať sa a premýšľať sú rôzne úlohy. U ľudí sú jemné pohyby riadené malým mozgom, zatiaľ čo akcie a rozhodovanie - veľkým mozgom. Ak to čítate, pravdepodobne už máte robota a dokážete ovládať
D4E1 - DIY - Pomocná technológia: Nastaviteľný zásobník na invalidný vozík: 7 krokov (s obrázkami)
D4E1 - DIY - Pomocná technológia: Nastaviteľný zásobník na invalidný vozík: Kjell má vrodené postihnutie: dyskinetickú kvadruparézu a nie je schopný sám jesť. Potrebuje pomoc monitora, ergoterapeuta, ktorý ho kŕmi. To má dva problémy: 1) Ergoterapeut sedí za volantom
Čistý obal pre VÁŠHO PREHRÁVAČA MP3 !!!: 6 krokov
Priehľadný obal PRE VAŠEHO PREHRÁVAČA MP3 !!!: Stále poškriabate obrazovku svojho prehrávača mp3. Zatiaľ čo existuje ľahký a lacný spôsob, ako ho chrániť
LED diódy pre vášho morského ostrieža: 7 krokov
LED diódy pre vášho morského ostrieža: Stratili ste niekedy svojho morského ostrieža v kalných vodách? LED diódy sú skvelým spôsobom, ako vám pomôcť nájsť a navigovať vášho morského ostrieža v takýchto podmienkach a v noci. Toto rozšírenie pridáva tri diódy LED (červená, zelená a biela) a ďalší prepínač do vášho