Cuprins:

Telecomanda IR a computerului: 4 pași
Telecomanda IR a computerului: 4 pași

Video: Telecomanda IR a computerului: 4 pași

Video: Telecomanda IR a computerului: 4 pași
Video: Cum sincronizez telecomanda fără codul de 4 cifre? 2024, Noiembrie
Anonim
Controlul de la distanță al computerului IR
Controlul de la distanță al computerului IR

Pe lângă multe alte scopuri, folosesc PC-ul ca centru multimedia. Uneori mă relaxez pe canapea ascultând muzică sau vizionând un film sau un televizor și nu am chef să mă ridic pentru a regla volumul sau să schimb canalul TV de fiecare dată când apar reclame stupide sau adorm și îmi doresc tăcere. Așa că am decis să fac PC-ul meu controlat de la distanță cu o telecomandă IR standard, astfel încât să pot apăsa instantaneu butonul în loc să apuc cu furie mouse-ul sau tasta de mut de pe tastatură.

Proiectul cuprinde mai multe părți:

  1. Telecomandă
  2. Software pentru PC
  3. Modul receptor IR

Pasul 1: Telecomanda

Telecomanda
Telecomanda

Primul element - telecomanda - este trivial pentru a finaliza. Folosiți orice control IR care vă place. Am folosit cel care este de vânzare ca set împreună cu receptor IR - vezi poza. Singurul motiv pentru care am decis acest tip este doar pentru că îl aveam deja acasă.

Pasul 2: Software

Am creat programul pentru sistemul de operare GNU / Linux care rulează într-un terminal. Codul sursă este gratuit pentru descărcare / utilizare / partajare / modificare. Pentru a compila codul, pur și simplu emiteți comanda ca gcc -o remotePC remotePC.c în terminal. Pentru a rula tipul de program./remotePC.

Următoarele informații din acest pas se adresează celor interesați de modul în care funcționează lucrurile.

Descrierea programului

Programul verifică mai întâi dacă există fișierul / dev / ttyACM0 sau ttyACM1. În acest caz, ID-ul grupului fișierului este bifat pentru a fi diferit de zero. Aceasta înseamnă că portul serial poate fi citit și scris de către utilizatorul obișnuit. Două octeți cu valori 0xAA 0x55 sunt apoi scrise în port pentru a semnala că programul este gata să primească datele. Datele primite sunt comparate cu valorile stocate. Dacă meciul este găsit, acțiunea predefinită este executată.

Controlul volumului

Programul poate activa / dezactiva sunetul, crește / micșora nivelul volumului la nivelul sistemului. Acest lucru se realizează cu utilizarea programului pactl. Comenzile arată astfel:

pactl set-sink-mute 0 toggle

pactl set-sink-volume 0 + 10%

pactl set-sink-volume 0 -10%

Dacă este necesar, instalați pachetele solicitate.

Controlul VLC Media Player

De asemenea, programul poate porni / întrerupe conținutul audio / video și poate schimba pista la precedent / următor în lista de redare a VLC Media Player. Desktop Bus este utilizat în acest caz. Comenzile:

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

Pasul 3: Modul receptor IR

Modul receptor IR
Modul receptor IR
Modul receptor IR
Modul receptor IR
Modul receptor IR
Modul receptor IR

A treia parte a proiectului este cea mai complexă, dar destul de simplă. Ideea este că receptorul IR va emite semnalul către MCU, care îl va transforma în numărul unic. Acest număr va fi apoi transmis către computer prin USB.

Modulul este destinat să fie montat în carcasa computerului și conectat la slotul USB de pe placa de bază cu ajutorul cablului. În cazul în care preferați conexiunea externă la USB, va trebui să faceți ajustări minore.

MCU

Am construit modulul pe microcontrolerul PIC16F1829. Alegerea MCU nu este critică, puteți utiliza orice alt MCU dacă puteți regla codul sursă. Am ales acest PIC din două motive. Mai întâi am avut-o disponibilă și, în al doilea rând, pinii au fost parțial deteriorați de utilizarea intensivă în diferite proiecte de testare. Așa că am vrut să-l folosesc în proiectul permanent înainte ca acesta să devină total inutilizabil.:-)

Receptor IR

A doua parte pe care se bazează modulul este receptorul IR VS1838B - cel menționat în primul pas.

Convertor UART / USB

A treia parte este MCP2221, care este convertorul UART / I2C / USB.

Sarcina este de a combina aceste 3 părți pentru a construi modulul care va putea primi semnalele de la telecomanda IR și le va preda PC-ului.

Cablarea

În prima imagine se află circuitul de testare de pe panou. În al doilea este schema de cablare.

Lista pieselor

1 buc PIC16F1829 (sau orice alt MCU)

1 buc VS1838B (sau orice alt receptor IR)

1 buc MCP2221 (sau orice alt convertor UART / USB)

2 buc antet cu 4 pini

1 buc antet cu 6 pini

1 buc rezistor 100R

2 buc rezistor 10K

2 buc rezistor 330R

1 buc condensator 470 nF

2 buc condensator electrolitic 4.7 uF

1 comutator pc (opțional)

Asamblare PCB

Puneți împreună modulul cu utilizarea schemei. Puteți folosi placa universală sau puteți crea PCB personalizat. Dacă acesta din urmă este cazul, am furnizat fișierele KiCad din arhiva de mai jos.

Firmware-ul

Codul sursă pentru PIC scris cu utilizarea MPLAB X IDE și a compilatorului XC8 este disponibil pentru descărcarea de mai jos.

Notele codului sursă

Pentru cei care ar dori să știe ce anume face programul sunt următoarele rânduri.

După ce toate setările sunt realizate, LED-ul roșu este aprins și MCU așteaptă datele 0x55AA. După aceea, LED-ul devine verde și MCU începe să detecteze semnalul de la receptorul IR cu utilizarea întreruperilor. Măsoară și înregistrează intervalele de timp în care semnalul este la nivelurile înalt și scăzut. Aceste perioade sunt apoi transformate în numărul de 32 de biți care este trimis la computer.

Relația dintre timp și numărul final este dată de protocolul NEC.

Pasul 4: Cum se utilizează dispozitivul

Cum se folosește dispozitivul
Cum se folosește dispozitivul
Cum se folosește dispozitivul
Cum se folosește dispozitivul
Cum se folosește dispozitivul
Cum se folosește dispozitivul

Firmware

Încărcați firmware-ul pe PIC. Folosesc programatorul PICkit 3.

Hardware

Instalați modulul receptor IR așa cum se vede în imagini:

  1. Conectați antetul USB fie la slotul USB intern de pe placa de bază din carcasa computerului cu un cablu adecvat cu 4 fire, fie extern la slotul USB cu cablul USB standard. În cel de-al doilea caz trebuie să vă ajutați într-un fel, de ex. așa cum se vede în imaginea a 3-a pentru inspirație.
  2. Atașați cablul de alimentare de 5 V din sursa de alimentare din carcasa PC-ului la antetul cu 4 pini. Sau alimentați modulul în alt mod în cazul utilizării externe.

Căutați descrierea pinilor soclului USB al plăcii de bază. Nu sunt sigur dacă cablajul respectă un fel de standard, deci este mai bine să mă asigur. În cazul meu există două rânduri de pini cu 5 pini în rândul superior și 4 pini în cel inferior. De la stânga la dreapta pinii sunt + 5 V, D-, D +, Gnd. Al cincilea pin din primul rând nu este conectat. Am atașat cablul așa cum se vede în a doua imagine.

Software

Rulați programul în terminal. Dacă totul merge bine, ultimul mesaj al programului este „așteaptă date …”. Acum, când apăsați butonul de pe telecomandă, codul primit va apărea în terminal. În acest fel veți ști care buton emite ce cod.

Acum te așteaptă câteva lucruri de programare, dar nu-ți face griji. Doar câteva lucruri trebuie schimbate în codul sursă al programului, astfel încât programul să răspundă la telecomanda dvs. Deschideți fișierul remotePC.c în editorul de text sau într-un IDE dacă doriți și înlocuiți codurile mele cu ale dvs. Doar apăsați pe rând butoanele pe care intenționați să le utilizați pentru fiecare acțiune. Pur și simplu copiați codurile care apar în terminal și lipiți-le în codul sursă în locul cu acțiunea corespunzătoare.

Când ați terminat, terminați programul și recompilați codul cu comanda gcc -o remotePC remotePC.c. Rulați din nou programul și de acum înainte va răspunde la telecomanda dvs.

Folosesc acest mod cu acțiuni codificate în program, deoarece consider că este lipsit de sens să-mi pierd timpul cu dezvoltarea ulterioară a proiectului către stat, atunci când este posibil să adăugăm / schimbăm coduri / acțiuni, de exemplu, în mediul grafic prietenos cu utilizatorul. Dar dacă doriți să faceți acest lucru sau chiar mai mult, puteți.

Recomandat: