Sisällysluettelo:

Tietokoneen IR -kaukosäädin: 4 vaihetta
Tietokoneen IR -kaukosäädin: 4 vaihetta

Video: Tietokoneen IR -kaukosäädin: 4 vaihetta

Video: Tietokoneen IR -kaukosäädin: 4 vaihetta
Video: Ilmainen videovalvonta Toimiiko kamera ilman Cloudia? 2024, Marraskuu
Anonim
Tietokoneen IR -kaukosäädin
Tietokoneen IR -kaukosäädin

Monien muiden tarkoitusten lisäksi käytän tietokonettani multimediakeskuksena. Välillä rentoudun sohvalla kuunnellen musiikkia tai katsellen elokuvaa tai televisiota enkä halua nousta säätämään äänenvoimakkuutta tai vaihtamaan televisiokanavaa joka kerta, kun tulee tyhmiä mainoksia tai nukahdan ja toivon hiljaisuus. Joten olen päättänyt tehdä tietokoneestani kauko -ohjattavan tavallisella IR -kaukosäätimellä, jotta voisin vain painaa painiketta heti sen sijaan, että tarttuisin raivokkaasti hiireen tai näppäimistön mykistysnäppäimeen.

Projekti koostuu useista osista:

  1. Kaukosäädin
  2. PC -ohjelmisto
  3. IR -vastaanotinmoduuli

Vaihe 1: Kaukosäädin

Kaukosäädin
Kaukosäädin

Ensimmäinen kohde - kauko -ohjain - on vähäpätöinen. Käytä vain mitä tahansa haluamaasi IR -ohjainta. Käytin sarjassa IR -vastaanottimen kanssa myytävänä olevaa laitetta - katso kuva. Ainoa syy, miksi olen valinnut tämän tyypin, on vain siksi, että minulla oli se jo kotona.

Vaihe 2: Ohjelmisto

Olen luonut ohjelman GNU/Linux -käyttöjärjestelmälle, joka toimii päätelaitteessa. Lähdekoodin voi ladata/käyttää/jakaa/muokata ilmaiseksi. Koodin kääntämiseksi anna päätteessä komento kuten gcc -o remotePC remotePC.c. Ohjelmatyypin suorittaminen./remotePC.

Seuraavat tiedot tässä vaiheessa on tarkoitettu niille, jotka ovat kiinnostuneita siitä, miten asiat toimivat.

Ohjelman kuvaus

Ohjelma tarkistaa ensin, onko tiedosto /dev /ttyACM0 tai ttyACM1 olemassa. Jos näin on, tiedoston ryhmän tunnus tarkistetaan erilaiseksi kuin nolla. Tämä tarkoittaa, että tavallinen käyttäjä voi lukea sarjaportin ja kirjoittaa sille. Kaksi tavua, joiden arvot ovat 0xAA 0x55, kirjoitetaan sitten porttiin osoittamaan, että ohjelma on valmis vastaanottamaan tiedot. Saapuvaa dataa verrataan tallennettuihin arvoihin. Jos osuma löytyy, suoritetaan ennalta määritetty toiminto.

Äänenvoimakkuuden säätö

Ohjelma voi kytkeä äänen päälle/pois, lisätä/vähentää äänenvoimakkuutta järjestelmätasolla. Tämä saavutetaan käyttämällä pactl -ohjelmaa. Komennot näyttävät tältä:

pactl set-sink-mute 0-kytkin

pactl set-sink-volume 0 +10%

pactl set-sink-volume 0-10%

Asenna tarvittaessa vaaditut paketit.

VLC Media Player -ohjaus

Ohjelma voi myös käynnistää/keskeyttää äänen/videon ja vaihtaa raidan edelliseen/seuraavaan VLC Media Playerin soittolistassa. Tässä tapauksessa käytetään työpöytäväylää. Komennot:

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

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

/org/mpris/MediaPlayer2 org.mpris. MediaPlayer2. Player. Edellinen

Vaihe 3: IR -vastaanotinmoduuli

IR -vastaanotinmoduuli
IR -vastaanotinmoduuli
IR -vastaanotinmoduuli
IR -vastaanotinmoduuli
IR -vastaanotinmoduuli
IR -vastaanotinmoduuli

Projektin kolmas osa on monimutkaisin, mutta silti melko yksinkertainen. Ajatuksena on, että IR -vastaanotin lähettää signaalin MCU: lle, joka muuntaa sen yksilölliseksi numeroksi. Tämä numero lähetetään sitten tietokoneelle USB: n kautta.

Moduuli on tarkoitettu asennettavaksi PC -kotelon sisään ja kytketty emolevyn USB -paikkaan kaapelilla. Jos haluat käyttää ulkoista liitäntää USB: n kanssa, sinun on tehtävä pieniä muutoksia.

MCU

Olen rakentanut moduulin PIC16F1829 -mikrokontrolleriin. MCU: n valinta ei ole kriittinen, voit käyttää mitä tahansa muuta MCU: ta, jos pystyt säätämään lähdekoodia. Olen valinnut tämän PIC: n kahdesta syystä. Ensin minulla oli se saatavilla ja toiseksi sen nastat vaurioituivat osittain eri testausprojektien intensiivisen käytön vuoksi. Joten halusin käyttää sitä pysyvässä projektissa ennen kuin se tulee täysin käyttökelvottomaksi.:-)

IR -vastaanotin

Toinen osa, johon moduuli perustuu, on IR -vastaanotin VS1838B - joka mainitaan ensimmäisessä vaiheessa.

UART/USB -muunnin

Kolmas osa on MCP2221, joka on UART/I2C/USB -muunnin.

Tehtävänä on yhdistää nämä kolme osaa ja rakentaa moduuli, joka pystyy vastaanottamaan signaaleja infrapunakaukosäätimestä ja luovuttamaan ne tietokoneelle.

Johdotus

Ensimmäisessä kuvassa on testauspiiri leipälevyllä. Toisessa on kytkentäkaavio.

Osien luettelo

1 kpl PIC16F1829 (tai mikä tahansa muu MCU)

1 kpl VS1838B (tai mikä tahansa muu IR -vastaanotin)

1 kpl MCP2221 (tai mikä tahansa muu UART/USB -muunnin)

2 kpl 4-nastainen otsikko

1 kpl 6-nastainen otsikko

1 kpl 100R vastus

2 kpl vastus 10K

2 kpl vastus 330R

1 kpl kondensaattori 470 nF

2 kpl elektrolyyttikondensaattori 4,7 uF

1 kpl kytkin (valinnainen)

PCB -kokoonpano

Kokoa moduuli kaavion avulla. Voit joko käyttää yleislevyä tai luoda mukautetun piirilevyn. Jälkimmäisessä tapauksessa olen toimittanut KiCad -tiedostot alla olevaan arkistoon.

Laiteohjelmisto

MPLAB X IDE: n ja XC8 -kääntäjän avulla kirjoitetun PIC: n lähdekoodi on ladattavissa alla.

Lähdekoodi huomauttaa

Niille, jotka haluavat tietää, mitä ohjelma tekee, ovat seuraavat rivit.

Kun kaikki asetukset on tehty, punainen LED -valo palaa ja MCU odottaa 0x55AA -tietoja. Tämän jälkeen merkkivalo muuttuu vihreäksi ja MCU alkaa havaita infrapunavastaanottimen signaalin keskeytysten avulla. Se mittaa ja tallentaa aikajaksot, jolloin signaali on korkealla ja matalalla tasolla. Nämä ajat muutetaan sitten 32-bittiseksi numeroksi, joka lähetetään tietokoneelle.

Aikojen ja lopullisen luvun välinen suhde annetaan NEC -protokollassa.

Vaihe 4: Laitteen käyttö

Laitteen käyttäminen
Laitteen käyttäminen
Laitteen käyttäminen
Laitteen käyttäminen
Laitteen käyttäminen
Laitteen käyttäminen

Laiteohjelmisto

Lataa laiteohjelmisto PIC: hen. Käytän PICkit 3 -ohjelmoijaa.

Laitteisto

Asenna IR -vastaanotinmoduuli kuvien mukaisesti:

  1. Liitä USB-otsikko joko tietokoneen kotelon sisällä olevan emolevyn sisäiseen USB-paikkaan sopivalla 4-johtimisella kaapelilla tai ulkoisesti USB-paikkaan tavallisella USB-kaapelilla. Toisessa tapauksessa sinun on autettava itseäsi jollakin tavalla, esim. kuten näkyy kolmannessa kuvassa inspiraation saamiseksi.
  2. Kiinnitä 5 V: n virtajohto PC-kotelon virtalähteestä 4-nastaiseen liitäntään. Tai kytke moduuliin virta muulla tavalla ulkoisessa käytössä.

Katso emolevyn USB -liitännän nastojen kuvaus. En ole varma, noudattaako johdotus jonkinlaista standardia, joten on parempi varmistaa. Minun tapauksessani on kaksi tapiriviä, joissa on 5 nastaa ylärivillä ja 4 nastaa alemmalla rivillä. Vasemmalta oikealle nastat ovat + 5 V, D-, D +, Gnd. Ensimmäisen rivin 5. nasta ei ole kytketty. Kiinnitin kaapelin kuten toisessa kuvassa.

Ohjelmisto

Suorita ohjelma päätelaitteessa. Jos kaikki menee oikein, ohjelman viimeinen viesti on "odottaa tietoja …". Nyt kun painat kaukosäätimen painiketta, vastaanotettu koodi näkyy päätelaitteessa. Näin tiedät, mikä painike lähettää koodin.

Jotkut ohjelmointitavat odottavat sinua, mutta älä huoli. Vain muutamia asioita on muutettava ohjelman lähdekoodissa, jotta ohjelma reagoi kauko -ohjaimeesi. Avaa tiedosto remotePC.c tekstieditorissa tai jossakin IDE: ssä, jos haluat, ja korvaa koodini omallasi. Paina vain niitä painikkeita, joita aiot käyttää kussakin toiminnossa yksitellen. Kopioi vain päätelaitteessa näkyvät koodit ja liitä ne lähdekoodiin paikkaan, jossa on vastaava toiminto.

Kun olet valmis, lopeta ohjelma ja käännä koodi uudelleen komennolla gcc -o remotePC remotePC.c. Suorita ohjelma uudelleen ja se vastaa kaukosäätimeesi tästä lähtien.

Käytän tätä tapaa ohjelman kovakoodattujen toimintojen kanssa, koska mielestäni on turhaa tuhlata aikaani projektin kehittämiseen edelleen, kun on mahdollista lisätä/muuttaa koodeja/toimintoja esimerkiksi käyttäjäystävällisessä grafiikkaympäristössä. Mutta jos haluat tehdä tämän tai jopa enemmän, voit.

Suositeltava: