Obsah:
- Krok 1: Materiály
- Krok 2: Plánování
- Krok 3: 3D tisk
- Krok 4: Montáž - Demontujte diody LED
- Krok 5: Sestavení - přidejte záhlaví průchozích otvorů
- Krok 6: Montáž - Připojte LED diody
- Krok 7: Sestavení - Připojte PhidgetIR
- Krok 8: Sestavení - přidání tlačítek
- Krok 9: Montáž - Skládání všeho dohromady
- Krok 10: Software - kód
- Krok 11: Software - příkazy CIR
- Krok 12: Spuštění programu
- Krok 13: Výsledek
Video: Technologie pro vašeho dědu: 13 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
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í
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
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
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ů
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
Přilepte LED diody na boční stranu skříně.
Krok 7: Sestavení - Připojte PhidgetIR
Připojte PhidgetIR ke skříni a připojte diody LED.
Krok 8: Sestavení - 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
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
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!
Třetí cena v soutěži o dálkové ovládání 2017
Doporučuje:
Coco-Mic --- DIY Studio Quailty USB Mic (technologie MEMS): 18 kroků (s obrázky)
Coco-Mic --- DIY Studio Quailty USB Mic (technologie MEMS): Dobrý den, instruktoři, Sahas zde. Chcete nahrávat zvukové soubory jako profesionál? Pravděpodobně byste rádi … No … ve skutečnosti každý miluje. Dnes se vaše přání splní. Zde je představen Coco -Mic - který zaznamenává nejen kvalitní
Umělá inteligence pro vašeho robota: 7 kroků
Umělá inteligence pro vašeho robota: Přemístění robota a jeho přemýšlení jsou různé úkoly. U lidí jsou jemné pohyby ovládány mozečkem, zatímco akce a rozhodování - velkým mozkem. Pokud to čtete, pravděpodobně již máte robota a můžete řídit
D4E1 - DIY - asistenční technologie: nastavitelný zásobník pro invalidní vozík: 7 kroků (s obrázky)
D4E1 - DIY - asistenční technologie: Nastavitelný vozíkový vozík: Kjell má vrozené postižení: dyskinetickou kvadruparézu a není schopen sám jíst. Potřebuje pomoc monitora, ergoterapeuta, který ho živí. To má dva problémy: 1) Ergoterapeut stojí za volantem
Čistý obal PRO VAŠEHO PŘEHRÁVAČE MP3 !!!: 6 kroků
Čistý kryt PRO VAŠEHO PŘEHRÁVAČE MP3 !!!: Stále poškrábáte obrazovku svého přehrávače mp3. Zatímco nyní existuje snadný a levný způsob, jak jej chránit
Jak přidat displej MatrixOrbital VFD do vašeho Linux Boxu: 11 kroků (s obrázky)
Jak přidat zobrazení MatrixOrbital VFD do vašeho Linux Boxu: Tento návod se týká přidání MatrixOrbital VFD do vašeho linuxového boxu. Jako všichni dobří geekové mám ve své domácí síti bezhlavý linuxový box. Přidáním vakuového fluorescenčního displeje a spuštěním LCDProc můžete zobrazit zdravotní statistiky a sledovat své