Taula de continguts:

El control remot IR de l'ordinador: 4 passos
El control remot IR de l'ordinador: 4 passos

Vídeo: El control remot IR de l'ordinador: 4 passos

Vídeo: El control remot IR de l'ordinador: 4 passos
Vídeo: Я ПРОБУДИЛ ЗАПЕЧАТАННОГО ДЬЯВОЛА / I HAVE AWAKENED THE SEALED DEVIL 2024, Desembre
Anonim
El control remot IR de l’ordinador
El control remot IR de l’ordinador

A més de molts altres propòsits, estic fent servir el meu PC com a centre multimèdia. Hi ha vegades que estic relaxat al sofà escoltant música o mirant una pel·lícula o una televisió i no tinc ganes d’aixecar-me per ajustar el volum o canviar el canal de televisió cada vegada que apareixen anuncis estúpids o estic adormit i desitjo la silenci. Per tant, he decidit fer que el meu PC es controli a distància amb un control remot IR estàndard per poder prémer instantàniament el botó en lloc d’agafar furiós el ratolí o la tecla de silenci del teclat.

El projecte consta de diverses parts:

  1. Control remot
  2. Programari de PC
  3. Mòdul receptor IR

Pas 1: el control remot

El control remot
El control remot

El primer element, el control remot, és trivial per acabar. Simplement utilitzeu qualsevol control IR que vulgueu. Vaig fer servir el conjunt que es venia com a conjunt juntament amb el receptor IR; vegeu la imatge. L’únic motiu pel qual he decidit aquest tipus és que ja el tenia a casa.

Pas 2: programari

He creat el programa per al sistema operatiu GNU / Linux que s'executa en un terminal. El codi font es pot descarregar / utilitzar / compartir / modificar gratuïtament. Per compilar el codi només heu d’emetre l’ordre com gcc -o remotePC remotePC.c al terminal. Per executar el tipus de programa./remotePC.

La informació següent d’aquest pas s’adreça a aquells que estiguin interessats en el funcionament de les coses.

La descripció del programa

El programa comprova primer si el fitxer / dev / ttyACM0 o ttyACM1 existeix. Si és així, es comprova que l'identificador de grup del fitxer és diferent de zero. Això significa que l'usuari comú pot llegir i escriure el port sèrie. A continuació, s’escriuen al port dos bytes amb valors 0xAA 0x55 per indicar que el programa està preparat per rebre les dades. Les dades entrants es comparen amb els valors emmagatzemats. Si es troba la coincidència, s'executa l'acció predefinida.

El control de volum

El programa pot activar / desactivar el so, augmentar / disminuir el nivell de volum al nivell del sistema. Això s’aconsegueix amb l’ús del programa pactl. Les ordres es veuen així:

pactl set-sink-mute 0 toggle

pactl set-sink-volume 0 + 10%

pactl set-sink-volume 0 -10%

Si cal instal·leu els paquets requerits.

El control del reproductor multimèdia VLC

El programa també pot iniciar / pausar l'àudio / vídeo i canviar la pista a l'anterior / següent a la llista de reproducció del reproductor multimèdia VLC. En aquest cas s’utilitza el bus d’escriptori. Les ordres:

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

Pas 3: mòdul de receptor IR

Mòdul de receptor IR
Mòdul de receptor IR
Mòdul de receptor IR
Mòdul de receptor IR
Mòdul de receptor IR
Mòdul de receptor IR

La tercera part del projecte és la més complexa però senzilla. La idea és que el receptor IR emeti el senyal a la MCU que el transformarà al número únic. Aquest número es transmetrà al PC per USB.

El mòdul està dissenyat per muntar-se a la caixa del PC i connectar-lo a la ranura USB de la placa base amb el cable. En cas que preferiu la connexió externa a la USB, haureu de fer ajustos menors.

MCU

He construït el mòdul al microcontrolador PIC16F1829. L’elecció de la MCU no és crítica, podeu utilitzar qualsevol altra MCU si podeu ajustar el codi font. He triat aquest PIC per dos motius. En primer lloc, el tenia disponible i, en segon lloc, els pins han estat parcialment danyats per l'ús intensiu en els diferents projectes de proves. Així que volia fer-lo servir al projecte permanent abans que quedés totalment inutilitzable.:-)

Receptor IR

La segona part en què es basa el mòdul és el receptor IR VS1838B, l’esmentat al primer pas.

Convertidor UART / USB

La tercera part és el MCP2221 que és el convertidor UART / I2C / USB.

La tasca consisteix a combinar aquestes 3 parts per construir el mòdul que serà capaç de rebre els senyals del control remot IR i lliurar-los al PC.

El cablejat

A la primera imatge hi ha el circuit de proves a la taula. A la segona hi ha l'esquema de cablejat.

La llista de parts

1 PC PIC16F1829 (o qualsevol altre MCU)

1 PC VS1838B (o qualsevol altre receptor IR)

1 PC MCP2221 (o qualsevol altre convertidor UART / USB)

2 peces de capçalera de 4 pins

1 capçal de 6 pines

1 pc resistència 100R

2 peces de resistència 10K

2 peces de resistència 330R

Condensador d'1 pc 470 nF

2 unitats de condensador electrolític 4,7 uF

1 interruptor de PC (opcional)

Muntatge de PCB

Ajunteu el mòdul amb l’ús de l’esquema. Podeu utilitzar la placa universal o crear el PCB personalitzat. Si aquest és el cas, he proporcionat els fitxers KiCad a l'arxiu següent.

El firmware

El codi font del PIC escrit amb l’ús del MPLAB X IDE i del compilador XC8 està disponible per baixar-lo a continuació.

Les notes del codi font

Per a aquells que vulguin saber què fa exactament el programa, són les següents línies.

Un cop feta tota la configuració, el LED vermell està encès i la MCU espera les dades 0x55AA. Després d'això, el LED es torna verd i l'MCU comença a detectar el senyal del receptor IR amb l'ús de les interrupcions. Mesura i registra els intervals de temps en què el senyal es troba als nivells alt i baix. Aquests temps es transformen al número de 32 bits que s’envia al PC.

La relació entre els temps i el nombre final ve donada pel protocol NEC.

Pas 4: Com utilitzar el dispositiu

Com utilitzar el dispositiu
Com utilitzar el dispositiu
Com utilitzar el dispositiu
Com utilitzar el dispositiu
Com utilitzar el dispositiu
Com utilitzar el dispositiu

Firmware

Pengeu el firmware al PIC. Faig servir el programador PICkit 3.

Maquinari

Instal·leu el mòdul receptor IR com es veu a les imatges:

  1. Connecteu la capçalera USB a la ranura USB interna de la placa base dins de la carcassa del PC amb un cable de 4 fils adequat o externament a la ranura USB amb el cable USB estàndard. En el segon cas, us heu d’ajudar d’alguna manera, per exemple. com es veu a la tercera imatge per inspirar-vos.
  2. Connecteu el cable d'alimentació de 5 V que forma la font d'alimentació de la caixa del PC a la capçalera de 4 pins. O alimentar el mòdul d’una altra manera en el cas de l’ús extern.

Cerqueu la descripció dels pins dels endolls USB de la placa base. No estic segur de si el cablejat segueix algun tipus d'estàndard, de manera que és millor assegurar-se. En el meu cas, hi ha dues files de pins amb 5 pins a la fila superior i 4 pins a la inferior. D'esquerra a dreta els passadors són + 5 V, D-, D +, Gnd. El cinquè pin de la primera fila no està connectat. Vaig connectar el cable com es veu a la segona imatge.

Programari

Executeu el programa al terminal. Si tot va bé, l'últim missatge del programa és "esperant dades …". Ara, quan premeu el botó del comandament a distància, apareixerà el codi rebut al terminal. D’aquesta manera sabreu quin botó emet quin codi.

Ara algunes coses de programació us esperen però no us preocupeu. Només cal canviar algunes coses al codi font del programa perquè el programa respongui al vostre control remot. Obriu el fitxer remotePC.c a l'editor de text o en algun IDE si voleu i substituïu els meus codis pels vostres. Simplement premeu els botons que vulgueu utilitzar per a cada acció un per un. Simplement copieu els codis que apareixen al terminal i enganxeu-los al codi font al lloc amb l'acció corresponent.

Quan hàgiu acabat, finalitzeu el programa i torneu a compilar el codi amb l'ordre gcc -o remotePC remotePC.c. Torneu a executar el programa i, a partir d'ara, respondrà al vostre control remot.

Utilitzo aquesta manera amb accions codificades al programa, ja que em sembla absurd perdre el meu temps amb un desenvolupament posterior del projecte a l'estat quan sigui possible afegir / canviar codis / accions a l'entorn gràfic fàcil d'utilitzar, per exemple. Però si voleu fer això o encara més, podeu.

Recomanat: