Sisukord:
Video: Arvuti IR kaugjuhtimine: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
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:
- Pult
- PC tarkvara
- IR vastuvõtja moodul
Samm: 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
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
Püsivara
Laadige püsivara üles PIC -i. Kasutan programmeerijat PICkit 3.
Riistvara
Paigaldage infrapuna vastuvõtja moodul, nagu on näidatud piltidel:
- Ü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.
- Ü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:
Peata Raspberry Pi kaugjuhtimine: 4 sammu
Peata Raspberry Pi kaugjuhtimine: Kas olete segaduses, kuidas Raspberry Pi kaugseadistada ilma monitori või klaviatuurita? Ärge muretsege! Loomulikult saame hakkama. Selles õpetuses teen SSH kaudu oma vaarika pi nulli, mille sees on värske raspbian OS
Temperatuuri kaugjuhtimine: 6 sammu
Temperatuuri kaugseire: selles projektis kasutatakse MKR 1400, et juhtida 3 DHT 22 andurit ja edastada tulemus koodiga sisestatud mobiiltelefoni numbriga (ma näitan, kus). Temperatuur on ainsad andmed, mis on saadud DHT 22 -st, kuid see on huvitav
ESP 8266 Nodemcu RGB LED -riba, mida juhib veebiserver Kaugjuhtimine: 4 sammu
ESP 8266 Nodemcu RGB LED -riba, mida juhib veebiserveri kaugjuhtimispult: Selles juhendis õpime, kuidas teisendada nodemcu RGB LED -riba IR -kaugjuhtimispuldiks ja et nodemcu kaugjuhtimispulti peab juhtima veebisait, mida hostib mobiil või arvuti
Arduino roboti kaugjuhtimine: 7 sammu
Arduino roboti kaugjuhtimine: selles juhendis kavatsen katta Arduino V2 jaoks mõeldud Adafruit mootorikilbi kasutamise nRF24L01 antenni kõrval, et teha kaugjuhtimispuldiga robot. Ma kasutan vana Adafruit Arduino 101 CurrieBot koos Arduino Unoga
PSP kasutamine arvuti juhtkangina ja seejärel arvuti juhtimine PSP abil: 5 sammu (piltidega)
PSP kasutamine arvuti juhtkangina ja seejärel arvuti juhtimine PSP -ga: PSP homebrew abil saate teha palju lahedaid asju ja selles juhendis õpetan teile, kuidas oma PSP -d mängude mängimise juhtkangina kasutada, kuid on ka programm, mis võimaldab kasutada juhtkangi hiirena. Siin on ema