Obsah:

Dálkové ovládání počítače IR: 4 kroky
Dálkové ovládání počítače IR: 4 kroky

Video: Dálkové ovládání počítače IR: 4 kroky

Video: Dálkové ovládání počítače IR: 4 kroky
Video: 4 command remote control / Dálkové ovládání se 4 povely 2024, Červen
Anonim
Počítačové dálkové ovládání IR
Počítačové dálkové ovládání IR

Kromě mnoha dalších účelů používám svůj počítač jako multimediální centrum. Někdy relaxuji na pohovce, poslouchám hudbu nebo sleduji film nebo televizi a nechci vstávat, abych upravil hlasitost nebo změnil televizní kanál pokaždé, když se objeví hloupé reklamy nebo usínám a přeji si umlčet. Rozhodl jsem se tedy, že svůj počítač budu dálkově ovládat pomocí standardního infračerveného dálkového ovladače, abych mohl okamžitě stisknout tlačítko místo toho, abych zuřivě popadal myš nebo klávesu ztlumení na klávesnici.

Projekt se skládá z několika částí:

  1. Dálkové ovládání
  2. PC software
  3. Modul IR přijímače

Krok 1: Dálkové ovládání

Dálkové ovládání
Dálkové ovládání

První položka - dálkové ovládání - je triviální. Použijte libovolné IR ovládání, které se vám líbí. Ten, který je na prodej, jsem použil jako sadu společně s IR přijímačem - viz obrázek. Jediný důvod, proč jsem se pro tento typ rozhodl, je jen ten, že už jsem ho měl doma.

Krok 2: Software

Vytvořil jsem program pro operační systém GNU/Linux, který běží v terminálu. Zdrojový kód lze zdarma stáhnout/použít/sdílet/upravit. Chcete -li kompilovat kód, zadejte v terminálu příkaz jako gcc -o remotePC remotePC.c. Chcete -li spustit typ programu./remotePC.

Následující informace v tomto kroku jsou určeny těm, které zajímá, jak věci fungují.

Popis programu

Program nejprve zkontroluje, zda soubor /dev /ttyACM0 nebo ttyACM1 existuje. Pokud ano, kontroluje se ID skupiny souboru, aby se lišilo od nuly. To znamená, že běžný uživatel může ze sériového portu číst a zapisovat do něj. Dva bajty s hodnotami 0xAA 0x55 jsou poté zapsány na port, aby signalizovaly, že program je připraven přijímat data. Příchozí data se porovnávají s uloženými hodnotami. Pokud je shoda nalezena, provede se předdefinovaná akce.

Ovládání hlasitosti

Program je schopen zapnout/vypnout zvuk, zvýšit/snížit úroveň hlasitosti na úrovni systému. Toho je dosaženo použitím programu pactl. Příkazy pak vypadají takto:

pactl set-sink-mute 0 přepnout

pactl set-sink-volume 0 +10%

pactl set-sink-volume 0 -10%

V případě potřeby nainstalujte požadované balíčky.

Ovládací prvek VLC Media Player

Program může také spustit/pozastavit zvuk/video a změnit skladbu na předchozí/další v seznamu skladeb VLC Media Player. V tomto případě se používá Desktop Bus. Příkazy:

dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. PlayPause

dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Next

dbus-send --type = method_call --dest = org.mpris. MediaPlayer2.vlc

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Previous

Krok 3: Modul IR přijímače

Modul IR přijímače
Modul IR přijímače
Modul IR přijímače
Modul IR přijímače
Modul IR přijímače
Modul IR přijímače

Třetí část projektu je nejsložitější, ale přesto velmi jednoduchá. Myšlenka je taková, že IR přijímač bude vysílat signál do MCU, který jej transformuje na jedinečné číslo. Toto číslo bude poté přeneseno do počítače přes USB.

Modul je určen k montáži do skříně počítače a kabelu je připojen ke slotu USB na základní desce. Pokud dáváte přednost externímu připojení k USB, budete muset provést menší úpravy.

MCU

Modul jsem postavil na mikrokontroléru PIC16F1829. Volba MCU není zásadní, můžete použít jakýkoli jiný MCU, pokud jste schopni upravit zdrojový kód. Tento PIC jsem si vybral ze dvou důvodů. Za prvé jsem to měl k dispozici a za druhé jeho piny byly částečně poškozeny intenzivním používáním v různých testovacích projektech. Chtěl jsem ho tedy použít v trvalém projektu, než bude zcela nepoužitelný.:-)

IR přijímač

Druhá část, na které je modul založen, je IR přijímač VS1838B - ten, který je uveden v 1. kroku.

Převodník UART/USB

Třetí částí je MCP2221, což je převodník UART/I2C/USB.

Úkolem je spojit tyto 3 části a vytvořit modul, který bude schopen přijímat signály z IR dálkového ovládání a předávat je do PC.

Zapojení

Na prvním obrázku je testovací obvod na prkénku. Ve druhém je schéma zapojení.

Seznam dílů

1 ks PIC16F1829 (nebo jakýkoli jiný MCU)

1 ks VS1838B (nebo jakýkoli jiný IR přijímač)

1 ks MCP2221 (nebo jakýkoli jiný převodník UART/USB)

2 ks 4pinový konektor

1 ks 6pinový konektor

1 ks odpor 100R

2ks odpor 10K

2 ks odpor 330R

1 ks kondenzátor 470 nF

2 ks elektrolytický kondenzátor 4,7 uF

1 ks přepínač (volitelně)

Sestava DPS

Sestavte modul pomocí schématu. Můžete použít univerzální desku nebo si vytvořit vlastní desku plošných spojů. Pokud tomu tak je, poskytl jsem soubory KiCad v níže uvedeném archivu.

Firmware

Zdrojový kód pro PIC napsaný pomocí MPLAB X IDE a kompilátoru XC8 je k dispozici ke stažení níže.

Poznámky ke zdrojovému kódu

Pro ty, kteří by chtěli vědět, co přesně program dělá, jsou následující řádky.

Po dokončení všech nastavení červená LED dioda svítí a MCU čeká na data 0x55AA. Poté se LED rozsvítí zeleně a MCU začne pomocí přerušení detekovat signál z IR přijímače. Měří a zaznamenává časové intervaly, kdy je signál na úrovni High a Low. Tyto časy jsou pak transformovány na 32bitové číslo, které je odesláno do PC.

Vztah mezi časy a konečným číslem je dán protokolem NEC.

Krok 4: Jak používat zařízení

Jak používat zařízení
Jak používat zařízení
Jak používat zařízení
Jak používat zařízení
Jak používat zařízení
Jak používat zařízení

Firmware

Nahrajte firmware na PIC. Používám programátor PICkit 3.

Hardware

Nainstalujte modul IR přijímače, jak je vidět na obrázcích:

  1. Připojte USB konektor buď k internímu slotu USB na základní desce uvnitř skříně počítače pomocí vhodného 4vodičového kabelu, nebo externě ke slotu USB pomocí standardního kabelu USB. V druhém případě si musíte nějakým způsobem pomoci, např. jak je vidět na 3. obrázku pro inspiraci.
  2. Připojte 4V napájecí kabel z napájecího zdroje uvnitř skříně počítače ke 4pólové zásuvce. Nebo v případě externího použití modul napájejte jiným způsobem.

Vyhledejte popis pinů zásuvky USB na základní desce. Nejsem si jistý, zda kabeláž dodržuje nějaký standard, takže je lepší se ujistit. V mém případě existují dvě řady pinů s 5 kolíky v horní řadě a 4 kolíky v dolní. Zleva doprava jsou kolíky + 5 V, D-, D +, Gnd. 5. kolík v první řadě není připojen. Kabel jsem připojil, jak je vidět na druhém obrázku.

Software

Spusťte program v terminálu. Pokud vše proběhne správně, poslední zprávou programu je „čekání na data …“. Nyní, když stisknete tlačítko na dálkovém ovládání, přijatý kód se zobrazí v terminálu. Tímto způsobem budete vědět, které tlačítko vysílá jaký kód.

Nyní na vás čekají nějaké věci z programování, ale nebojte se. Ve zdrojovém kódu programu je třeba změnit jen několik věcí, aby program reagoval na vaše dálkové ovládání. Pokud chcete, otevřete soubor remotePC.c v textovém editoru nebo v nějakém IDE a nahraďte mé kódy svými. Jednoduše stiskněte tlačítka, která chcete použít pro každou akci, jeden po druhém. Jednoduše zkopírujte kódy, které se objeví v terminálu, a vložte je do zdrojového kódu na místo s odpovídající akcí.

Když skončíte, ukončete program a znovu zkompilujte kód příkazem gcc -o remotePC remotePC.c. Spusťte program znovu a odteď bude reagovat na vaše dálkové ovládání.

Tento způsob používám s napevno zakódovanými akcemi v programu, protože mi připadá nesmyslné ztrácet čas dalším vývojem projektu do stavu, kdy je možné například přidávat/měnit kódy/akce v uživatelsky přívětivém grafickém prostředí. Ale pokud byste to chtěli udělat nebo ještě více, můžete.

Doporučuje: