Obsah:

Technologie pro vašeho dědu: 13 kroků (s obrázky)
Technologie pro vašeho dědu: 13 kroků (s obrázky)

Video: Technologie pro vašeho dědu: 13 kroků (s obrázky)

Video: Technologie pro vašeho dědu: 13 kroků (s obrázky)
Video: 15 triků pro iPhone, které musíš vyzkoušet. 2024, Listopad
Anonim
Image
Image

Kolikrát jste šli do domu svých prarodičů, abyste pomohli s „technologickým problémem“, který skončil odpojením napájecího kabelu, vybitou baterií dálkového ovladače nebo neschopností přepnout zdroj na jejich televizi? Vím, že pro mě se to stává docela často. Zatímco většinu jejich problémů lze vyřešit pouhým spuštěním do obchodu pro nějaké nové AA, někdy by mohli těžit z přizpůsobenějšího řešení.

Například dědeček mé přítelkyně dostal novou televizi a snažili jsme se ho naučit, jak změnit zdroj, aby mohl přepínat mezi DVD a TV - ale on na to prostě nemohl přijít. Také se potýká se špatným zrakem a příliš ho nezajímá snaha zapamatovat si složité procesy, chce se jen dívat na jeho show, když chce. Poté, co jsem se během naší poslední návštěvy pokusil v klidu vysvětlit kroky bez velkého úspěchu, rozhodl jsem se, že mu prostě udělám jeho vlastní jednoduché dvoutlačítkové dálkové ovládání. To mu umožní bezbolestně změnit vstupní zdroj na jeho televizi, snadno přepínat mezi jeho milovanými DVD Matlock a Price is Right.

Krok 1: Materiály

  • PhidgetIR
  • PhidgetSBC4 (nebo jakýkoli jednodeskový počítač jako Raspberry Pi)
  • Páječka
  • Boční frézy
  • Odizolovače drátu
  • Propojovací dráty
  • USB kabel
  • Kabel Phidget
  • Ohrada
  • Průchozí hlavičky
  • Smršťovací bužírky

Krok 2: Plánování

3D tisk
3D tisk

Abych mohl vytvořit dálkový ovladač, potřeboval jsem schopnost posílat do televize příkazy spotřebitelského infračerveného záření (CIR). Pro tento úkol jsem se rozhodl použít PhigetIR. PhidgetIR je zařízení ovládané USB, které má schopnost odesílat i přijímat příkazy CIR. Vybral jsem si to z několika důvodů:

  • Chtěl jsem tento projekt dokončit co nejdříve a použít ho, takže myšlenka na vylomení mého osciloskopu a prkénka nebyla lákavá. Také je pravděpodobné, že mé ručně pájené obvody budou ještě rok nebo dva fungovat?
  • PhidgetIR má schopnost „naučit se“příkazy CIR, díky čemuž je vývoj extrémně jednoduchý.
  • S PhidgetIR můžete použít téměř jakýkoli hlavní programovací jazyk. To znamenalo, že jsem mohl používat Javu a věci rychle dokončit.
  • Konečně pracuji pro Phidgets, takže jsem s API spokojený a vždy tu jsou náhradní zařízení.

Protože jsem se rozhodl používat PhidgetIR, potřeboval jsem počítač, ze kterého bych ho mohl spustit. Chtěl jsem, aby tento projekt byl samostatnou aplikací, podobně jako běžné dálkové ovládání, takže byl vypnutý stolní počítač nebo notebook. Rozhodl jsem se použít PhidgetSBC4 (jednodeskový počítač se systémem Debian Linux), protože mi to umožnilo rozhraní s oběma tlačítky bez dalšího hardwaru. Lze je jednoduše připojit přímo k vestavěnému VINT Hubu. Poznámka: pro tento projekt můžete také použít Raspberry Pi. Nakonec jsem chtěl, aby tento projekt kromě toho, že je funkčně zdravý, vypadal skvěle, a tak jsem se rozhodl, že bude nutný 3D tištěný kryt.

Krok 3: 3D tisk

3D tisk
3D tisk
3D tisk
3D tisk

Pro tento projekt byla pro modelování skříně použita Geomagic. Pro PhidgetIR i PhidgetSBC4 jsou k dispozici soubory 3D kroků, které tento proces zjednodušily. Během tohoto kroku byla učiněna některá rozhodnutí týkající se velikosti a funkčnosti skříně:

  • PhidgetIR má dvě IR LED diody, které musí směřovat k televizi, aby mohly odesílat příkazy. Místo návrhu pouzdra kolem desky PhidgetIR bylo možné IR LED odspájkovat a vlepit do otvorů na boku pouzdra. Desku PhidgetIR pak bylo možné namontovat mimo LED diody a využít tak prázdné místo.
  • Konektory VINT Hub na PhidgetSBC4 by mohly být ohnuty nahoru, což by stále umožňovalo přístup k tlačítkovým spojům a také by zabránilo vytváření většího krytu.

Také jsem se rozhodl přidat štítek pro tlačítka a štítek označující směr, kterým by měl směřovat, aby IR LED směřovaly správným směrem. Skříň jsem vytiskl lokálně z černého plastu ABS.

Krok 4: Montáž - Demontujte diody LED

Montáž - Demontujte diody LED
Montáž - Demontujte diody LED
Montáž - Demontujte diody LED
Montáž - Demontujte diody LED
Montáž - Demontujte diody LED
Montáž - Demontujte diody LED

IR LED diody budou nakonec přilepeny do otvorů na boku skříně. To znamená, že je nejprve nutné je odpájet.

Krok 5: Sestavení - přidejte záhlaví průchozích otvorů

Sestava - Přidat záhlaví skrz díru
Sestava - Přidat záhlaví skrz díru
Sestava - Přidat záhlaví skrz díru
Sestava - Přidat záhlaví skrz díru

Dále byly přidány záhlaví skrz otvory v místech, kde dříve byly LED diody, což usnadnilo jejich připojení pomocí 4kolíkového propojovacího vodiče. Abyste zabránili náhodnému kontaktu, použijte smršťovací hadičky.

Krok 6: Montáž - Připojte LED diody

Montáž - Připevněte LED diody
Montáž - Připevněte LED diody
Montáž - Připevněte LED diody
Montáž - Připevněte LED diody

Přilepte LED diody na boční stranu skříně.

Krok 7: Sestavení - Připojte PhidgetIR

Sestava - Připojte PhidgetIR
Sestava - Připojte PhidgetIR
Sestava - Připojte PhidgetIR
Sestava - Připojte PhidgetIR
Sestava - Připojte PhidgetIR
Sestava - Připojte PhidgetIR

Připojte PhidgetIR ke skříni a připojte diody LED.

Krok 8: Sestavení - přidání tlačítek

Sestava - Přidání tlačítek
Sestava - Přidání tlačítek
Sestava - Přidání tlačítek
Sestava - Přidání tlačítek
Sestava - Přidání tlačítek
Sestava - Přidání tlačítek

Tlačítka je třeba připojit k vestavěnému rozbočovači VINT na PhidgetSBC, takže jsem přestřihl kabel Phidget na polovinu a konce jsem připájel k tlačítkům. Pamatujte, že je vyžadován pouze bílý vodič (signál) a černý (uzemnění).

Krok 9: Montáž - Skládání všeho dohromady

Shromáždění - vše dohromady
Shromáždění - vše dohromady
Shromáždění - vše dohromady
Shromáždění - vše dohromady

Aby bylo vše pohromadě, byla nutná určitá správa kabelů, skříň však fungovala dobře.

Krok 10: Software - kód

Pro tento projekt je potřeba pouze jeden soubor Java, který najdete zde. Program používá jeden objekt PhidgetIR a dva objekty DigitalInput. Tyto objekty můžete vytvořit takto:

PhidgetIR ir = nový PhidgetIR ();

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

Objekty digitálního vstupu jsou mapovány na fyzické tlačítko na VINT Hubu. Události připojení, odpojení, chyby a změny stavu jsou také přihlášeny k odběru:

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 ();

Výše uvedený odkaz na posluchače změn stavu vypadá 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 ());}}};

Když je tlačítko aktivováno, spustí se kód události a nastaví příznak. Na tyto příznaky bude odkazováno a resetováno v hlavní smyčce. Hlavní smyčka jednoduše čeká na změnu stavu tlačítka a poté odesílá IR příkazy pomocí přenosové funkce, která je dostupná z API PhidgetIR.

while (true) {if (tvButtonActivated) {

tvButtonActivated = false; Log.log (LogLevel. INFO, „VÝMĚNA ZDROJE - TV“); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (rightButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} if (otherButtonActivated) {otherButtonActivated = false; Log.log (LogLevel. INFO, „VÝMĚNA ZDROJE - DVD“); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (leftButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}

Krok 11: Software - příkazy CIR

Software - příkazy CIR
Software - příkazy CIR

Zde je příklad, jak vytvořit příkaz (v tomto případě příkaz pro zvýšení hlasitosti):

// IR kód

IRCodeInfo sourceButtonCI = nový IRCodeInfo (); String volumeUp = "77e1d0f0"; // Nastavení tlačítka zdroje 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;

Abych získal informace o tomto příkazu, jednoduše jsem použil příklad PhidgetIR, který je dodáván s knihovnami Phidget. Po namíření dálkového ovladače na PhidgetIR a podržení tlačítka pro zvýšení hlasitosti se IR „naučí“kód a vyplní příklad. Tyto informace pak lze jednoduše zkopírovat do kódu.

Krok 12: Spuštění programu

Soubor Java lze zapsat a zkompilovat na externím počítači. Umístěte PhidgetRemote.java a phidget22.jar do stejné složky a spusťte následující příkaz:

Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java

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

Po kompilaci zkopírujte vygenerované soubory třídy do PhidgetSBC4 a nakonfigurujte jej tak, aby běžel při spuštění.

Krok 13: Výsledek

Když jsem dal dálkový ovladač dědečkovi své přítelkyně a ukázal mu, jak ho používat, byl ohromen tím, jak jednoduché to bylo. Podívejte se na video, abyste ho viděli v akci!

Soutěž o dálkové ovládání 2017
Soutěž o dálkové ovládání 2017
Soutěž o dálkové ovládání 2017
Soutěž o dálkové ovládání 2017

Třetí cena v soutěži o dálkové ovládání 2017

Doporučuje: