Përmbajtje:

Telekomanda e kompjuterit IR: 4 hapa
Telekomanda e kompjuterit IR: 4 hapa

Video: Telekomanda e kompjuterit IR: 4 hapa

Video: Telekomanda e kompjuterit IR: 4 hapa
Video: How to reset or clone the code of 4 Channel RF Key Remote Control 315/433MHz from ebay 2024, Qershor
Anonim
Telekomandë e kompjuterit IR
Telekomandë e kompjuterit IR

Përveç shumë qëllimeve të tjera, unë jam duke përdorur kompjuterin tim si qendër multimediale. Ka raste kur jam duke pushuar në divan duke dëgjuar muzikë ose duke parë një film ose një televizor dhe nuk më vjen të zgjohem për të rregulluar volumin ose për të ndryshuar kanalin televiziv sa herë që shfaqen reklama budallaqe ose jam duke fjetur dhe dëshiroj heshtje. Kështu që unë kam vendosur ta bëj kompjuterin tim të kontrolluar nga distanca me një telekomandë standarde IR, në mënyrë që të mund të shtyp menjëherë butonin në vend që të kapem me zemërim për miun ose çelësin e heshtjes në tastierë.

Projekti përbëhet nga disa pjesë:

  1. Telekomandë
  2. Softuer PC
  3. Moduli i marrësit IR

Hapi 1: Telekomanda

Telekomandë
Telekomandë

Pika e parë - telekomanda - është e parëndësishme për të përfunduar me të. Thjesht përdorni çdo kontroll IR që ju pëlqen. Kam përdorur atë që është në shitje si komplet së bashku me marrësin IR - shihni foton. Arsyeja e vetme që kam vendosur për këtë lloj është vetëm sepse e kisha tashmë në shtëpi.

Hapi 2: Softueri

Unë kam krijuar programin për GNU/Linux OS që funksionon në një terminal. Kodi burimor është falas për tu shkarkuar/përdorur/ndarë/modifikuar. Për të përpiluar kodin thjesht lëshoni komandën si gcc -o remotePC remotePC.c në terminal. Për të ekzekutuar llojin e programit./remotePC.

Informacioni i mëposhtëm në këtë hap u drejtohet atyre që janë të interesuar se si funksionojnë gjërat.

Përshkrimi i programit

Programi së pari kontrollon nëse skedari /dev /ttyACM0 ose ttyACM1 ekziston. Nëse është kështu, grupi ID i skedarit kontrollohet të jetë i ndryshëm nga zero. Kjo do të thotë që porti serik mund të lexohet dhe të shkruhet nga përdoruesi i zakonshëm. Dy bajtë me vlera 0xAA 0x55 pastaj shkruhen në port për të sinjalizuar se programi është gati për të marrë të dhënat. Të dhënat e ardhura krahasohen me vlerat e ruajtura. Nëse ndeshja gjendet, veprimi i paracaktuar ekzekutohet.

Kontrolli i volumit

Programi është në gjendje të ndez/fik zërin, të rrisë/ulë nivelin e volumit në nivelin e sistemit. Kjo arrihet me përdorimin e programit pactl. Komandat pastaj duken kështu:

pactl set-sink-mute 0 kthesë

pactl set-lavaman-volumi 0 +10%

pactl set-lavaman-volumi 0 -10%

Nëse është e nevojshme, instaloni paketat e kërkuara.

Kontrolli i VLC Media Player

Programi gjithashtu mund të fillojë/ndalojë audio/video dhe të ndryshojë pjesën në atë të mëparshme/të ardhshme në listën e luajtjes të VLC Media Player. Bus Desktop përdoret në këtë rast. Komandat:

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. Para më parë

Hapi 3: Moduli i Marrësit IR

Moduli i Marrësit IR
Moduli i Marrësit IR
Moduli i Marrësit IR
Moduli i Marrësit IR
Moduli i Marrësit IR
Moduli i Marrësit IR

Pjesa e tretë e projektit është ajo më komplekse, por ende mjaft e thjeshtë. Ideja është që marrësi IR të nxjerrë sinjalin në MCU që do ta transformojë atë në numrin unik. Ky numër më pas do të transmetohet në PC përmes USB.

Moduli ka për qëllim të montohet brenda kutisë së kompjuterit dhe të lidhet me folenë USB në motherboard me kabllo. Në rast se preferoni lidhjen e jashtme me USB ju do të duhet të bëni rregullime të vogla.

MCU

Unë kam ndërtuar modulin në mikrokontrolluesin PIC16F1829. Zgjedhja e MCU nuk është kritike, mund të përdorni çdo MCU tjetër nëse jeni në gjendje të rregulloni kodin burimor. Unë kam zgjedhur këtë PIC për dy arsye. Së pari e kisha në dispozicion dhe së dyti kunjat e tij u dëmtuan pjesërisht nga përdorimi intensiv në projekte të ndryshme testimi. Kështu që unë doja ta përdorja në projektin e përhershëm para se të bëhej plotësisht i papërdorshëm.:-)

Marrës IR

Pjesa e dytë në të cilën bazohet moduli është marrësi IR VS1838B - ai i përmendur në hapin e parë.

Konvertuesi UART/USB

Pjesa e tretë është MCP2221 që është konvertuesi UART/I2C/USB.

Detyra është të kombinoni këto 3 pjesë për të ndërtuar modulin që do të jetë në gjendje të marrë sinjale nga telekomanda IR dhe t'i dorëzojë ato në PC.

Instalime elektrike

Në foton e parë ekziston qarku i testimit në dërrasën e bukës. Në të dytën ka skemën e instalimeve elektrike.

Lista e pjesëve

1 copë PIC16F1829 (ose ndonjë MCU tjetër)

1 kompjuter VS1838B (ose ndonjë marrës tjetër IR)

1 kompjuter MCP2221 (ose ndonjë konvertues tjetër UART/USB)

2 copë kokë me 4 kunja

1 kokë kokë me 6 kunja

1 pc rezistencë 100R

2 copë rezistencë 10K

2 copë rezistencë 330R

1 pc kondensator 470 nF

2 copë kondensator elektrolitik 4.7 uF

Çelës 1 kompjuter (opsional)

Montim PCB

Vendosni së bashku modulin me përdorimin e skemës. Ju ose mund të përdorni bordin universal ose të krijoni PCB të personalizuar. Nëse kjo e fundit është rasti, unë kam siguruar skedarët KiCad në arkivin më poshtë.

Firmware

Kodi burimor për PIC i shkruar me përdorimin e MPLAB X IDE dhe përpiluesit XC8 është i disponueshëm për shkarkim më poshtë.

Shënimet e kodit burimor

Për ata që duan të dinë se çfarë saktësisht po bën programi janë rreshtat e mëposhtëm.

Pasi të jenë bërë të gjitha cilësimet, LED i kuq është ndezur dhe MCU është duke pritur për të dhënat 0x55AA. Pas kësaj LED bëhet e gjelbër dhe MCU fillon të zbulojë sinjalin nga marrësi IR me përdorimin e ndërprerjeve. Ai mat dhe regjistron intervalet kohore kur sinjali është në nivele të larta dhe të ulëta. Këto kohë më pas transformohen në numrin 32-bit që dërgohet në PC.

Marrëdhënia midis kohëve dhe numrit përfundimtar jepet nga protokolli NEC.

Hapi 4: Si të përdorni pajisjen

Si të përdorni pajisjen
Si të përdorni pajisjen
Si të përdorni pajisjen
Si të përdorni pajisjen
Si të përdorni pajisjen
Si të përdorni pajisjen

Firmware

Ngarko firmware -in në PIC. Unë përdor programuesin PICkit 3.

Hardware

Instaloni modulin e marrësit IR siç shihet në foto:

  1. Lidheni titullin USB ose në folenë e brendshme USB në motherboard brenda kutisë së PC me kabllon e duhur me 4 tela ose nga jashtë me folenë USB me kabllon USB standard. Në rastin e dytë ju duhet të ndihmoni veten në një farë mënyre, p.sh. siç shihet në foton e 3 -të për frymëzim.
  2. Bashkoni kabllon e energjisë 5 V nga burimi i energjisë brenda kutisë së kompjuterit në kokën 4-pin. Ose moduloni modulin në një mënyrë tjetër në rastin e përdorimit të jashtëm.

Shikoni përshkrimin e kunjave të prizës USB të motherboard. Nuk jam i sigurt nëse instalimet elektrike ndjekin një lloj standardi, kështu që është më mirë të siguroheni. Në rastin tim ka dy rreshta me 5 kunja në rreshtin e sipërm dhe 4 kunja në atë të poshtëm. Nga e majta në të djathtë kunjat janë + 5 V, D-, D +, Gnd. Pina e 5 -të në rreshtin e parë nuk është e lidhur. Kam bashkangjitur kabllon siç shihet në foton e dytë.

Softuer

Drejtoni programin në terminal. Nëse gjithçka shkon mirë, mesazhi i fundit i programit është "duke pritur të dhëna …". Tani kur shtypni butonin në telekomandë, kodi i marrë do të shfaqet në terminal. Në këtë mënyrë ju do të dini se cili buton lëshon cilin kod.

Tani disa gjëra programimi ju presin, por mos u shqetësoni. Vetëm disa gjëra duhet të ndryshohen në kodin burimor të programit në mënyrë që programi t'i përgjigjet telekomandës tuaj. Hapni skedarin remotePC.c në redaktuesin e tekstit ose në ndonjë IDE nëse ju pëlqen dhe zëvendësoni kodet e mia me tuajat. Thjesht shtypni butonat që keni ndërmend të përdorni për secilin veprim një nga një. Thjesht kopjoni kodet që shfaqen në terminal dhe ngjitini ato në kodin burimor në vend me veprimin përkatës.

Kur të keni mbaruar përfundoni programin dhe rikompiloni kodin me komandën gcc -o remotePC remotePC.c. Drejtoni programin përsëri dhe tani e tutje do t'i përgjigjet telekomandës tuaj.

Unë e përdor këtë mënyrë me veprimet e koduara në program pasi e kam të pakuptimtë të humbas kohën time me zhvillimin e mëtejshëm të projektit në gjendje kur është e mundur të shtoni/ndryshoni kodet/veprimet në mjedisin grafik miqësor për përdoruesit, për shembull. Por nëse dëshironi ta bëni këtë ose edhe më shumë, mundeni.

Recommended: