Tartalomjegyzék:

A számítógép IR távvezérlése: 4 lépés
A számítógép IR távvezérlése: 4 lépés

Videó: A számítógép IR távvezérlése: 4 lépés

Videó: A számítógép IR távvezérlése: 4 lépés
Videó: Letiltott hálózati adapter engedélyezése Windows 10-ben 2024, Június
Anonim
A számítógép IR távvezérlése
A számítógép IR távvezérlése

A sok más cél mellett a számítógépemet használom multimédiás központként. Vannak idők, amikor a kanapén pihenek, zenét hallgatok, vagy filmet vagy tévét nézek, és nincs kedvem felkelni, hogy beállítsam a hangerőt, vagy változtassam a TV -csatornát minden alkalommal, amikor hülye reklámok jelennek meg, vagy elalszom, és kívánom, hogy csend. Ezért úgy döntöttem, hogy a PC -t szabványos IR távirányítóval távirányítom, hogy azonnal nyomjam meg a gombot, ahelyett, hogy dühösen ragadnám az egeret vagy a billentyűzet némító gombját.

A projekt több részből áll:

  1. Távirányító
  2. PC szoftver
  3. IR vevő modul

1. lépés: A távirányító

A távirányító
A távirányító

Az első elem - a távirányító - triviális, amit el kell végezni. Csak használjon tetszőleges infravörös vezérlőt. Az eladásra szánt terméket használtam infravörös vevővel együtt - lásd a képen. Az egyetlen ok, amiért úgy döntöttem, hogy ezt a típust választom, csak azért van, mert már otthon volt.

2. lépés: Szoftver

Létrehoztam a GNU/Linux operációs rendszerhez tartozó programot, amely terminálon fut. A forráskód ingyenesen letölthető/használható/megosztható/módosítható. A kód fordításához csak adja ki a parancsot, mint a gcc -o remotePC remotePC.c a terminálon. A./remotePC típusú program futtatásához.

A következő információk ebben a lépésben azoknak szólnak, akik érdeklődnek a dolgok működése iránt.

A program leírása

A program először ellenőrzi, hogy létezik -e /dev /ttyACM0 vagy ttyACM1 fájl. Ha igen, akkor a fájl csoportazonosítója a nullától eltérő. Ez azt jelenti, hogy a soros port olvasható és írható a közös felhasználó számára. Ezután két bájt 0xAA 0x55 értékkel íródik a portra, jelezve, hogy a program készen áll az adatok fogadására. A bejövő adatokat összehasonlítják a tárolt értékekkel. Ha az egyezés megtalálható, akkor az előre meghatározott művelet végrehajtásra kerül.

A hangerőszabályzó

A program képes be-/kikapcsolni a hangot, növelni/csökkenteni a hangerőt a rendszer szintjén. Ezt a pactl program használatával érik el. A parancsok így néznek ki:

pactl set-sink-mute 0 kapcsoló

pactl set-sink-volume 0 +10%

pactl set-sink-volume 0 -10%

Ha szükséges, telepítse a szükséges csomagokat.

A VLC Media Player vezérlő

A program elindíthatja/szüneteltetheti az audio/videót, és megváltoztathatja az előző/következő számot a VLC Media Player lejátszási listájában. Ebben az esetben az asztali buszt kell használni. A parancsok:

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. Előző

3. lépés: IR vevő modul

IR vevő modul
IR vevő modul
IR vevő modul
IR vevő modul
IR vevő modul
IR vevő modul

A projekt harmadik része a legbonyolultabb, de még mindig nagyon egyszerű. Az ötlet az, hogy az infravörös vevő a jelet továbbítja az MCU -nak, amely azt egyedi számmá alakítja. Ezt a számot USB -n keresztül továbbítja a számítógéphez.

A modult a számítógépházba kell felszerelni, és a kábellel az alaplap USB -csatlakozójához kell csatlakoztatni. Abban az esetben, ha inkább a külső csatlakozást választja az USB -hez, akkor kisebb módosításokat kell végrehajtania.

MCU

A modult a PIC16F1829 mikrovezérlőre építettem. Az MCU kiválasztása nem kritikus, bármely más MCU -t használhat, ha képes a forráskód beállítására. Ezt a PIC -t két okból választottam. Először is rendelkezésre állt, másodszor pedig a csapjait részben megrongálta a különböző tesztelési projektek intenzív használata. Ezért szerettem volna használni az állandó projektben, mielőtt teljesen használhatatlanná válik.:-)

IR vevő

A modul második része a VS1838B infravörös vevő - az első lépésben említett.

UART/USB átalakító

A harmadik rész az MCP2221, amely az UART/I2C/USB átalakító.

A feladat az, hogy ezt a 3 részt összekapcsolva felépüljön a modul, amely képes lesz az infravörös távirányító jeleinek fogadására és a PC -re történő átadására.

A vezetékek

Az első képen a vizsgáló áramkör található a kenyértáblán. A másodikban a kapcsolási rajz látható.

Az alkatrészek listája

1 db PIC16F1829 (vagy bármely más MCU)

1 db VS1838B (vagy bármely más IR vevő)

1 db MCP2221 (vagy bármely más UART/USB átalakító)

2 db 4 tűs fej

1 db 6 tűs fej

1 db 100R ellenállás

2 db 10K ellenállás

2 db 330R ellenállás

1 db 470 nF kondenzátor

2 db 4,7 uF elektrolit kondenzátor

1 db kapcsoló (opcionális)

NYÁK -összeszerelés

Állítsa össze a modult a vázlat segítségével. Használhatja az univerzális táblát, vagy létrehozhatja az egyedi PCB -t. Ez utóbbi esetben a KiCad fájlokat az alábbi archívumban adtam meg.

A firmware

Az MPLAB X IDE és az XC8 fordító használatával írt PIC forráskódja letölthető az alábbiakban.

A forráskód megjegyzi

Azok, akik szeretnék megtudni, hogy pontosan mit csinál a program, a következő sorok.

Az összes beállítás elvégzése után a piros LED világít, és az MCU várja a 0x55AA adatokat. Ezt követően a LED zöldre vált, és az MCU elkezdi észlelni az infravörös vevőről érkező jeleket a megszakításokkal. Méri és rögzíti az időintervallumokat, amikor a jel magas és alacsony szinten van. Ezeket az időket a számítógépre küldött 32 bites számgá alakítják át.

Az idők és a végső szám közötti kapcsolatot a NEC protokoll adja meg.

4. lépés: Az eszköz használata

A készülék használata
A készülék használata
A készülék használata
A készülék használata
A készülék használata
A készülék használata

Firmware

Töltse fel a firmware -t a PIC -re. Én a PICkit 3 programozót használom.

Hardver

Telepítse az infravörös vevő modult a képeken látható módon:

  1. Csatlakoztassa az USB-fejlécet a számítógép házában található alaplap belső USB-csatlakozójához a megfelelő 4 vezetékes kábellel, vagy kívülről az USB-nyíláshoz a szabványos USB-kábellel. A második esetben valamilyen módon segítenie kell magát, pl. mint a 3. képen látható inspirációként.
  2. Csatlakoztassa az 5 V-os tápkábelt a számítógépházon belüli áramforrásból a 4 tűs csatlakozóhoz. Vagy a modul más módon történő áramellátása külső használat esetén.

Keresse meg az alaplap USB -csatlakozójának leírását. Nem vagyok biztos abban, hogy a kábelezés követ -e valamilyen szabványt, ezért jobb meggyőződni róla. Az én esetemben két tűs sor van, 5 csap a felső sorban és 4 csap az alsó sorban. Balról jobbra a tűk + 5 V, D-, D +, Gnd. Az első sor 5. csapja nincs csatlakoztatva. Csatlakoztattam a kábelt a második képen látható módon.

Szoftver

Futtassa a programot a terminálon. Ha minden rendben van, akkor a program utolsó üzenete: "adatokra vár …". Most, amikor megnyomja a gombot a távirányítón, a fogadott kód megjelenik a terminálon. Így tudni fogja, hogy melyik gomb melyik kódot bocsátja ki.

Most néhány programozási dolog vár rád, de ne aggódj. Csak néhány dolgot kell megváltoztatni a program forráskódjában, hogy a program reagáljon a távirányítóra. Nyissa meg a remotePC.c fájlt a szövegszerkesztőben vagy valamilyen IDE -ben, ha úgy tetszik, és cserélje le a kódjaimat a sajátjával. Csak nyomja meg egyesével az egyes műveletekhez használni kívánt gombokat. Egyszerűen másolja ki a terminálon megjelenő kódokat, és illessze be őket a forráskódba a megfelelő művelettel.

Ha befejezte, fejezze be a programot, és fordítsa újra a kódot a gcc -o remotePC remotePC.c paranccsal. Futtassa újra a programot, és ezentúl reagálni fog a távirányítóra.

Ezt a módszert használom a program kódolt műveleteivel, mivel értelmetlennek tartom az időm pazarlását a projekt továbbfejlesztésével arra az állapotra, amikor például a felhasználóbarát grafikus környezetben lehetőség van kódok/műveletek hozzáadására/módosítására. De ha ezt vagy még többet szeretne tenni, akkor megteheti.

Ajánlott: