INHOUDSOPGAWE:

Die afstandsbediening van die rekenaar: 4 stappe
Die afstandsbediening van die rekenaar: 4 stappe

Video: Die afstandsbediening van die rekenaar: 4 stappe

Video: Die afstandsbediening van die rekenaar: 4 stappe
Video: Hoe KOPPEL je de 4-kanaals AFSTANDSBEDIENING op jouw verlichting | Per Zone Bedienen! 2024, November
Anonim
Die rekenaar IR afstandbeheer
Die rekenaar IR afstandbeheer

Benewens die vele ander doeleindes, gebruik ek my rekenaar as die multimediasentrum. Soms ontspan ek op die bank, luister na musiek, kyk na 'n film of TV, en ek is nie lus om op te staan om die volume aan te pas of die TV -kanaal te verander elke keer as daar dom advertensies verskyn nie, of ek slaap en wens stilte. Daarom het ek besluit om my rekenaar met 'n standaard IR -afstandsbediening op afstand te beheer, sodat ek net dadelik op die knoppie kon druk in plaas van woedend na die muis of die demp -sleutel op die sleutelbord te gryp.

Die projek bestaan uit verskeie dele:

  1. Afstandbeheer
  2. PC sagteware
  3. IR ontvanger module

Stap 1: Die afstandsbediening

Die afstandbeheer
Die afstandbeheer

Die eerste item - die afstandsbediening - is triviaal om mee klaar te wees. Gebruik net enige IR -beheer wat u wil. Ek gebruik die een wat te koop is saam met die IR -ontvanger - sien die prentjie. Die enigste rede waarom ek vir hierdie tipe besluit het, is net omdat ek dit al by die huis gehad het.

Stap 2: sagteware

Ek het die program geskep vir die GNU/Linux OS wat in 'n terminale loop. Die bronkode is gratis om af te laai/te gebruik/te deel/te verander. Om die kode saam te stel, gee net die opdrag soos gcc -o remotePC remotePC.c in die terminale. Om die program uit te voer, tik./remotePC.

Die volgende inligting in hierdie stap is gerig aan diegene wat belangstel in hoe die dinge werk.

Die programbeskrywing

Die program kyk eers of die lêer /dev /ttyACM0 of ttyACM1 bestaan. As dit so is, word die groep -ID van die lêer gekontroleer om van nul te verskil. Dit beteken dat die gewone poort die gewone poort van die gewone gebruiker kan lees en daaraan kan skryf. Twee grepe met waardes 0xAA 0x55 word dan na die poort geskryf om aan te dui dat die program gereed is om die data te ontvang. Die inkomende data word vergelyk met die gestoorde waardes. As die pasmaat gevind word, word die vooraf gedefinieerde aksie uitgevoer.

Die volume beheer

Die program kan die klank aan/uit skakel, die volume op die stelselvlak verhoog/verlaag. Dit word bereik met die gebruik van die pactl -program. Die opdragte lyk dan so:

pactl set-sink-mute 0 skakel

pactl set-sink-volume 0 +10%

pactl set-sink-volume 0 -10%

Installeer indien nodig die verlangde pakkette.

Die VLC Media Player -beheer

Die program kan die klank/video ook begin/onderbreek en die snit na die vorige/volgende in die snitlys van die VLC Media Player verander. Die Desktop Bus word in hierdie geval gebruik. Die opdragte:

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. Volgende

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

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

Stap 3: IR -ontvanger -module

IR Ontvanger Module
IR Ontvanger Module
IR Ontvanger Module
IR Ontvanger Module
IR Ontvanger Module
IR Ontvanger Module

Die derde deel van die projek is nog steeds die mees komplekse, maar tog redelik eenvoudige. Die idee is dat die IR -ontvanger die sein na die MCU sal stuur wat dit na die unieke nommer sal verander. Hierdie nommer word dan via die USB na die rekenaar gestuur.

Die module is bedoel om in die PC -omhulsel gemonteer te word en met die kabel aan die USB -gleuf op die moederbord gekoppel te word. As u die eksterne verbinding met die USB verkies, moet u klein aanpassings aanbring.

MCU

Ek het die module op die PIC16F1829 mikrobeheerder gebou. Die keuse van die MCU is nie van kritieke belang nie; u kan enige ander MCU gebruik as u die bronkode kan aanpas. Ek het hierdie PIC om twee redes gekies. Eerstens het ek dit beskikbaar, en tweedens is die penne gedeeltelik beskadig deur die intensiewe gebruik in die verskillende toetsprojekte. Ek wou dit dus in die permanente projek gebruik voordat dit heeltemal onbruikbaar word.:-)

IR ontvanger

Die tweede deel waarop die module gebaseer is, is die IR -ontvanger VS1838B - die een wat in die eerste stap genoem word.

UART/USB -omskakelaar

Die derde deel is die MCP2221, wat die UART/I2C/USB -omskakelaar is.

Die taak is om hierdie drie dele te kombineer om die module op te bou wat die seine van IR -afstandsbediening kan ontvang en aan die rekenaar kan oorhandig.

Die bedrading

In die eerste prentjie is daar die toetsbaan op die broodbord. In die tweede een is daar die bedradingskema.

Die lys van onderdele

1 stuks PIC16F1829 (of enige ander MCU)

1 stuks VS1838B (of enige ander IR -ontvanger)

1 stuk MCP2221 (of enige ander UART/USB -omskakelaar)

2 stuks 4-pins kopstuk

1 stuk 6-pen kop

1 stuks weerstand 100R

2 stuks weerstand 10K

2 stuks weerstand 330R

1 stuks kondensator 470 nF

2 stuks elektrolitiese kondensator 4.7 uF

1 stuks skakelaar (opsioneel)

PCB -samestelling

Stel die module saam met behulp van die skematiese. U kan die universele bord gebruik of die pasgemaakte PCB skep. As laasgenoemde die geval is, het ek die KiCad -lêers in die onderstaande argief verskaf.

Die firmware

Die bronkode vir die PIC wat geskryf is met die gebruik van die MPLAB X IDE en die XC8 -samesteller is beskikbaar vir aflaai hieronder.

Die bronkode notas

Die volgende reëls is vir diegene wat wil weet wat die program presies doen.

Nadat al die instellings gedoen is, is die rooi LED aan en die MCU wag op die 0x55AA -data. Daarna word die LED groen en die MCU begin met die opsporing van die sein van die IR -ontvanger. Dit meet en teken die tydsintervalle op wat die sein op die hoë en lae vlakke is. Hierdie tye word dan omskep in die 32-bis nommer wat na die rekenaar gestuur word.

Die verband tussen die tye en die finale nommer word deur die NEC -protokol gegee.

Stap 4: Hoe om die toestel te gebruik

Hoe om die toestel te gebruik
Hoe om die toestel te gebruik
Hoe om die toestel te gebruik
Hoe om die toestel te gebruik
Hoe om die toestel te gebruik
Hoe om die toestel te gebruik

Firmware

Laai die firmware op na die PIC. Ek gebruik die PICkit 3 programmeerder.

Hardeware

Installeer die IR -ontvanger module soos op die foto's:

  1. Sluit die USB-kopstuk aan op die interne USB-gleuf op die moederbord in die rekenaarkas met die toepaslike 4-draads kabel of ekstern op die USB-gleuf met die standaard USB-kabel. In die tweede geval moet u uself op een of ander manier help, bv. soos gesien op die 3de prentjie vir 'n inspirasie.
  2. Koppel die 5 V-kragkabel aan die 4-penkop aan die kragbron in die rekenaarkas. Of stuur die module op 'n ander manier in die geval van eksterne gebruik.

Kyk na die beskrywing van die USB -penne van die moederbord. Ek is nie seker of die bedrading 'n soort standaard volg nie, dus is dit beter om seker te maak. In my geval is daar twee penrye met 5 penne in die boonste ry en 4 penne in die onderste ry. Van links na regs is die penne + 5 V, D-, D +, Gnd. Die vyfde pen in die eerste ry is nie verbind nie. Ek het die kabel vasgemaak soos in die tweede prentjie gesien.

Sagteware

Begin die program in die terminale. As alles reg loop, is die laaste boodskap van die program 'wag vir data …'. As u nou op die knoppie op die afstandsbediening druk, sal die ontvangde kode in die terminaal verskyn. Op hierdie manier sal u weet watter knoppie watter kode uitstuur.

Nou wag 'n paar programmeertjies op u, maar moenie bekommerd wees nie. In die bronkode van die program moet slegs 'n paar dinge verander word sodat die program op u afstandbeheer reageer. Maak die lêer remotePC.c oop in die teksredakteur of in 'n IDE as u wil, en vervang my kodes met u. Druk net een vir een op die knoppies wat u wil gebruik vir elke aksie. Kopieer eenvoudig die kodes wat in die terminaal verskyn en plak dit by die bronkode met die ooreenstemmende aksie.

As u klaar is, beëindig die program en stel die kode weer saam met die opdrag gcc -o remotePC remotePC.c. Begin die program weer, en dit reageer voortaan op u afstandbeheer.

Ek gebruik hierdie manier met hardgekodeerde aksies in die program, aangesien ek dit betekenisloos vind om my tyd te mors met verdere ontwikkeling van die projek aan die staat wanneer dit moontlik is om kodes/aksies in die gebruikersvriendelike grafiese omgewing by te voeg/te verander. Maar as u dit wil doen, of selfs meer, kan u dit doen.

Aanbeveel: