Sisukord:

Arvuti IR kaugjuhtimine: 4 sammu
Arvuti IR kaugjuhtimine: 4 sammu

Video: Arvuti IR kaugjuhtimine: 4 sammu

Video: Arvuti IR kaugjuhtimine: 4 sammu
Video: КАК НАСТРОИТЬ L4D2 2024, Juuni
Anonim
Arvuti infrapuna kaugjuhtimine
Arvuti infrapuna kaugjuhtimine

Lisaks paljudele muudele eesmärkidele kasutan oma arvutit multimeediakeskusena. Aeg -ajalt lõõgastun diivanil muusikat kuulates või filmi või telerit vaadates ning ei taha iga kord tõusta, et helitugevust reguleerida või telekanalit vahetada, või kui ma jään magama ja soovin vaikus. Seega olen otsustanud muuta oma arvuti kaugjuhtimiseks tavalise IR -kaugjuhtimispuldiga, et saaksin lihtsalt koheselt nuppu vajutada, selle asemel et raevukalt hiire või klaviatuuri vaigistusklahvi järele haarata.

Projekt koosneb mitmest osast:

  1. Pult
  2. PC tarkvara
  3. IR vastuvõtja moodul

Samm: kaugjuhtimispult

Kaugjuhtimispult
Kaugjuhtimispult

Esimene üksus - kaugjuhtimispult - on tühine. Kasutage lihtsalt mis tahes IR -juhtseadet, mis teile meeldib. Kasutasin komplekti koos IR -vastuvõtjaga seda, mis on müügil - vaata pilti. Ainus põhjus, miks ma seda tüüpi valisin, on see, et mul oli see juba kodus.

Samm 2: Tarkvara

Olen loonud programmi GNU/Linux OS jaoks, mis töötab terminalis. Lähtekoodi saab tasuta alla laadida/kasutada/jagada/muuta. Koodi kompileerimiseks andke terminalis lihtsalt käsk nagu gcc -o remotePC remotePC.c. Programmi tüübi käivitamiseks./remotePC.

Selle sammu järgmine teave on adresseeritud neile, kes on huvitatud asjade toimimisest.

Programmi kirjeldus

Esmalt kontrollib programm, kas fail /dev /ttyACM0 või ttyACM1 on olemas. Sellisel juhul kontrollitakse faili rühma ID -d, et see erineks nullist. See tähendab, et jadaporti saab tavakasutaja lugeda ja sellele kirjutada. Seejärel kirjutatakse porti kaks baiti väärtustega 0xAA 0x55, mis annab märku, et programm on andmete vastuvõtmiseks valmis. Sissetulevaid andmeid võrreldakse salvestatud väärtustega. Kui vaste leitakse, käivitatakse eelmääratletud toiming.

Helitugevuse reguleerimine

Programm suudab heli sisse/välja lülitada, süsteemi tasemel helitugevust suurendada/vähendada. See saavutatakse pactl programmi abil. Seejärel näevad käsud välja sellised:

pactl set-sink-mute 0 lüliti

pactl set-valamu-maht 0 +10%

pactl set-valamu-maht 0 -10%

Vajadusel installige nõutavad paketid.

VLC Media Playeri juhtimine

Programm saab ka VLC Media Playeri esitusloendis heli/videot käivitada/peatada ja pala eelmisele/järgmisele muuta. Sel juhul kasutatakse töölaua bussi. Käsud:

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. Järgmine

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

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Eelmine

3. samm: IR -vastuvõtja moodul

IR vastuvõtja moodul
IR vastuvõtja moodul
IR vastuvõtja moodul
IR vastuvõtja moodul
IR vastuvõtja moodul
IR vastuvõtja moodul

Projekti kolmas osa on kõige keerulisem, kuid siiski üsna lihtne. Idee on selles, et IR -vastuvõtja väljastab signaali MCU -le, mis muudab selle kordumatuks numbriks. Seejärel edastatakse see number USB -ühenduse kaudu arvutisse.

Moodul on mõeldud paigaldamiseks arvuti korpuse sisse ja kaabliga emaplaadi USB -pesasse ühendamiseks. Kui eelistate välist ühendust USB -ga, peate tegema väikeseid muudatusi.

MCU

Olen ehitanud mooduli PIC16F1829 mikrokontrollerile. MCU valik ei ole kriitiline, saate kasutada mis tahes muud MCU -d, kui saate lähtekoodi reguleerida. Valisin selle PIC -i kahel põhjusel. Esiteks oli mul see saadaval ja teiseks olid selle tihvtid osaliselt kahjustatud erinevate testimisprojektide intensiivse kasutamise tõttu. Nii et ma tahtsin seda alalises projektis kasutada, enne kui see muutub täiesti kasutuskõlbmatuks.:-)

IR vastuvõtja

Mooduli teine osa on IR -vastuvõtja VS1838B - see, mida mainiti esimeses etapis.

UART/USB muundur

Kolmas osa on MCP2221, mis on UART/I2C/USB -muundur.

Ülesanne on ühendada need 3 osa, et moodustada moodul, mis suudab vastu võtta signaale IR -kaugjuhtimispuldilt ja anda need arvutile üle.

Juhtmestik

Esimesel pildil on leivaplaadil testimisahel. Teises on juhtmestiku skeem.

Osade loend

1 tk PIC16F1829 (või mõni muu MCU)

1 tk VS1838B (või mõni muu IR -vastuvõtja)

1 tk MCP2221 (või mõni muu UART/USB -muundur)

2 tk 4-kontaktiline päis

1 tk 6-kontaktiline päis

1 tk takisti 100R

2 tk takistus 10K

2 tk takisti 330R

1 tk kondensaator 470 nF

2 tk elektrolüütkondensaator 4,7 uF

1 tk lüliti (valikuline)

PCB kokkupanek

Pange moodul kokku skeemi abil. Võite kasutada universaalset plaati või luua kohandatud PCB. Viimase puhul olen KiCadi failid allpool olevasse arhiivi esitanud.

Püsivara

Allpool on allalaadimiseks saadaval MPLAB X IDE ja XC8 kompilaatori abil kirjutatud PIC -i lähtekood.

Lähtekood märgib

Neile, kes tahaksid teada, mida programm täpselt teeb, on järgmised read.

Pärast kõigi seadistuste tegemist süttib punane LED ja MCU ootab 0x55AA andmeid. Pärast seda muutub LED roheliseks ja MCU hakkab katkestuste abil IR -vastuvõtja signaali tuvastama. See mõõdab ja salvestab ajavahemikud, mil signaal on kõrgel ja madalal tasemel. Need ajad teisendatakse seejärel 32-bitiseks numbriks, mis saadetakse arvutisse.

Aegade ja lõpliku arvu vahelise seose annab NEC protokoll.

Samm: seadme kasutamine

Kuidas seadet kasutada
Kuidas seadet kasutada
Kuidas seadet kasutada
Kuidas seadet kasutada
Kuidas seadet kasutada
Kuidas seadet kasutada

Püsivara

Laadige püsivara üles PIC -i. Kasutan programmeerijat PICkit 3.

Riistvara

Paigaldage infrapuna vastuvõtja moodul, nagu on näidatud piltidel:

  1. Ühendage USB-päis kas arvuti korpuse sees oleva emaplaadi sisemise USB-pesaga sobiva 4-juhtmelise kaabli abil või väljastpoolt tavalise USB-kaabli abil USB-pesaga. Teisel juhul tuleb ennast kuidagi aidata, nt. nagu näha 3. pildil inspiratsiooni saamiseks.
  2. Ühendage 5 V toitekaabel arvuti korpuse toiteallikaga 4-kontaktilise päise külge. Või välise kasutamise korral lülitage moodul sisse muul viisil.

Otsige üles emaplaadi USB -pesa kontaktide kirjeldus. Ma ei ole kindel, kas juhtmestik järgib mingit standardit, seega on parem veenduda. Minu puhul on kaks tihvtide rida, mille ülemises reas on 5 tihvti ja alumises 4 tihvti. Vasakult paremale on tihvtid + 5 V, D-, D +, Gnd. Esimese rea viies tihvt pole ühendatud. Kinnitasin kaabli, nagu teisel pildil näha.

Tarkvara

Käivitage programm terminalis. Kui kõik läheb õigesti, on programmi viimane teade "andmete ootamine …". Nüüd, kui vajutate kaugjuhtimispuldi nuppu, kuvatakse terminalis vastuvõetud kood. Nii saate teada, milline nupp millist koodi väljastab.

Nüüd ootab teid programmeerimine, kuid ärge muretsege. Programmi lähtekoodis tuleb muuta vaid mõnda asja, et programm teie kaugjuhtimispuldile reageeriks. Avage fail remotePC.c tekstiredaktoris või mõnes IDE -s, kui soovite, ja asendage minu koodid teie omadega. Vajutage ükshaaval nuppe, mida kavatsete iga toimingu jaoks kasutada. Lihtsalt kopeerige terminalis kuvatavad koodid ja kleepige need lähtekoodi vastava toiminguga kohta.

Kui olete lõpetanud, lõpetage programm ja kompileerige kood uuesti käsuga gcc -o remotePC remotePC.c. Käivitage programm uuesti ja nüüd hakkab see teie kaugjuhtimispuldile reageerima.

Ma kasutan seda meetodit programmi kõvakodeeritud toimingutega, kuna leian, et on mõttetu raisata oma aega projekti edasiarendamisele, et osutada olekule, kui näiteks kasutajasõbralikus graafikakeskkonnas on võimalik koode/toiminguid lisada/muuta. Aga kui soovite seda teha või isegi rohkem, saate seda teha.

Soovitan: