Talaan ng mga Nilalaman:

Ang Computer IR Remote Controlling: 4 Hakbang
Ang Computer IR Remote Controlling: 4 Hakbang

Video: Ang Computer IR Remote Controlling: 4 Hakbang

Video: Ang Computer IR Remote Controlling: 4 Hakbang
Video: Lesson 101: Using IR Remote to control TV, AC Bulb with Relay, DC Motor and Servo Motor 2024, Hunyo
Anonim
Ang Computer IR Remote Controlling
Ang Computer IR Remote Controlling

Bukod sa maraming iba pang mga layunin na ginagamit ko ang aking PC bilang sentro ng multimedia. May mga oras na nagpapahinga ako sa sofa na nakikinig ng musika o nanonood ng isang pelikula o TV at hindi nais na bumangon upang ayusin ang dami o baguhin ang channel sa TV sa tuwing lilitaw ang mga hangal na komersyo o natutulog ako at hinahangad ang katahimikan Kaya't napagpasyahan kong gawin ang aking PC na kontrolado ng remote gamit ang isang pamantayan ng remote control ng IR upang maaari ko lamang na agad na pindutin ang pindutan sa halip na galit na galit na agaw para sa mouse o ang mute key sa keyboard.

Ang proyekto ay binubuo ng maraming bahagi:

  1. Remote control
  2. Software ng PC
  3. Module ng IR receiver

Hakbang 1: Ang Remote Control

Ang Remote Control
Ang Remote Control

Ang unang item - ang remote control - ay walang halaga upang matapos na. Gumamit lamang ng anumang kontrol sa IR na gusto mo. Ginamit ko ang isa na ipinagbibili bilang itinakda kasama ng IR receiver - tingnan ang larawan. Ang tanging dahilan na nagpasya ako para sa ganitong uri ay dahil lamang sa mayroon na ako nito sa bahay.

Hakbang 2: Software

Nilikha ko ang programa para sa GNU / Linux OS na tumatakbo sa isang terminal. Ang source code ay libre upang i-download / gamitin / ibahagi / baguhin. Upang makatipon ang code mag-isyu lamang ng utos tulad ng gcc -o remotePC remotePC.c sa terminal. Upang patakbuhin ang uri ng programa./remotePC.

Ang sumusunod na impormasyon sa hakbang na ito ay nakatuon sa mga interesado kung paano gumagana ang mga bagay.

Ang paglalarawan ng programa

Sinusuri muna ng programa kung mayroon ang file / dev / ttyACM0 o ttyACM1. Kung gayon ang pangkat ng ID ng file ay nasuri na naiiba mula sa zero. Nangangahulugan ito na ang serial port ay maaaring mabasa mula at maisulat ng karaniwang gumagamit. Dalawang byte na may halagang 0xAA 0x55 ay nakasulat sa port upang hudyat na handa na ang programa na makatanggap ng data. Ang papasok na data ay inihambing sa mga nakaimbak na halaga. Kung ang tugma ay natagpuan ang paunang natukoy na aksyon ay naisakatuparan.

Ang dami ng control

Ang programa ay nagawang i-on / i-off ang tunog, dagdagan / bawasan ang antas ng lakas ng tunog sa antas ng system. Nakamit ito sa paggamit ng programang pactl. Ganito ang hitsura ng mga utos:

pactl set-sink-mute 0 toggle

pactl set-sink-volume 0 + 10%

pactl set-sink-volume 0 -10%

Kung kinakailangan i-install ang hinihiling na mga pakete.

Ang kontrol ng VLC Media Player

Maaari ring simulan / i-pause ng programa ang audio / video at baguhin ang track sa nauna / susunod sa playlist ng VLC Media Player. Ang Desktop Bus ay ginagamit sa kasong ito. Ang mga utos:

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

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

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

Hakbang 3: Modyul ng IR Receiver

Modyul ng Tagatanggap ng IR
Modyul ng Tagatanggap ng IR
Modyul ng Tagatanggap ng IR
Modyul ng Tagatanggap ng IR
Modyul ng Tagatanggap ng IR
Modyul ng Tagatanggap ng IR

Ang pangatlong bahagi ng proyekto ay ang pinaka kumplikado ngunit medyo simple pa rin. Ang ideya ay ang IR receiver ay maglalabas ng signal sa MCU na ibabago ito sa natatanging numero. Ang numerong ito ay maililipat sa PC sa USB.

Inilaan ang module na mai-mount sa loob ng PC case at konektado sa slot ng USB sa motherboard gamit ang cable. Kung sakaling mas gusto mo ang panlabas na koneksyon sa USB kakailanganin mong gumawa ng mga menor de edad na pagsasaayos.

MCU

Itinayo ko ang module sa PIC16F1829 microcontroller. Ang pagpili ng MCU ay hindi kritikal, maaari mong gamitin ang anumang iba pang MCU kung naayos mo ang source code. Pinili ko ang PIC na ito sa dalawang kadahilanan. Una na magagamit ko ito at pangalawa ang mga pin nito ay bahagyang nasira ng masinsinang paggamit sa iba't ibang mga proyekto sa pagsubok. Kaya nais kong gamitin ito sa permanenteng proyekto bago ito ganap na hindi magamit.:-)

IR tatanggap

Ang pangalawang bahagi ng module ay batay sa IR receiver VS1838B - ang isa na nabanggit sa ika-1 hakbang.

UART / USB converter

Ang pangatlong bahagi ay ang MCP2221 na ang UART / I2C / USB converter.

Ang gawain ay upang pagsamahin ang 3 bahagi na ito upang buuin ang module na makakatanggap ng mga signal mula sa IR remote control at ibigay ito sa PC.

Ang mga kable

Sa unang larawan mayroong circuit ng pagsubok sa breadboard. Sa pangalawang isa ay mayroong iskemik ng mga kable.

Ang listahan ng mga bahagi

1 pc PIC16F1829 (o anumang iba pang MCU)

1 pc VS1838B (o anumang iba pang IR receiver)

1 pc MCP2221 (o anumang iba pang UART / USB converter)

2 pcs 4-pin header

1 pc 6-pin na header

1 pc risistor 100R

2 pcs risistor 10K

2 pcs risistor 330R

1 pc capacitor 470 nF

2 pcs electrolytic capacitor 4.7 uF

1 pc switch (opsyonal)

Pagpupulong ng PCB

Pagsama-samahin ang modyul sa paggamit ng eskematiko. Maaari mong gamitin ang universal board o lumikha ng pasadyang PCB. Kung ang huli ay ang kaso na ibinigay ko ang mga KiCad file sa archive sa ibaba.

Ang firmware

Ang source code para sa PIC na nakasulat gamit ang paggamit ng MPLAB X IDE at ang XC8 compiler ay magagamit para sa pag-download sa ibaba.

Ang mga tala ng source code

Para sa mga nais malaman kung ano ang eksaktong ginagawa ng programa ay ang mga sumusunod na linya.

Matapos ang lahat ng mga setting ay tapos na ang pulang LED ay nakabukas at ang MCU ay naghihintay para sa data na 0x55AA. Matapos nito ang berde ay magiging berde at nagsisimula ang MCU sa pagtuklas ng signal mula sa IR receiver na may paggamit ng mga nakakagambala. Sinusukat at itinatala nito ang agwat ng oras ang signal ay nasa Mataas at Mababang antas. Ang mga oras na ito ay binago sa 32-bit na numero na ipinadala sa PC.

Ang ugnayan sa pagitan ng mga oras at panghuling numero ay ibinibigay ng NEC na protokol.

Hakbang 4: Paano Magamit ang Device

Paano Magagamit ang Device
Paano Magagamit ang Device
Paano Magagamit ang Device
Paano Magagamit ang Device
Paano Magagamit ang Device
Paano Magagamit ang Device

Firmware

I-upload ang firmware sa PIC. Gumagamit ako ng programmer ng PICkit 3.

Hardware

I-install ang module ng IR receiver tulad ng nakikita sa mga larawan:

  1. Ikonekta ang USB header alinman sa panloob na slot ng USB sa motherboard sa loob ng PC case na may naaangkop na 4-wire cable o panlabas sa slot ng USB gamit ang karaniwang USB cable. Sa pangalawang kaso kailangan mong tulungan ang iyong sarili sa ilang paraan, hal. tulad ng nakikita sa ika-3 larawan para sa isang inspirasyon.
  2. Atach ang 5 V power cable ay bumubuo ng mapagkukunan ng kuryente sa loob ng PC case sa 4-pin header. O kapangyarihan ang module sa ibang paraan sa kaso ng panlabas na paggamit.

Hanapin ang paglalarawan ng mga USB socket pin ng motherboard. Hindi ako sigurado kung ang mga kable ay sumusunod sa ilang uri ng pamantayan kaya mas mabuti na siguraduhin. Sa aking kaso mayroong dalawang mga hilera ng pin na may 5 mga pin sa itaas na hilera at 4 na mga pin sa mas mababang isa. Mula kaliwa hanggang kanan ang mga pin ay + 5 V, D-, D +, Gnd. Ang ika-5 na pin sa unang hilera ay hindi konektado. Ikinabit ko ang cable tulad ng nakikita sa pangalawang larawan.

Software

Patakbuhin ang programa sa terminal. Kung tama ang lahat ang huling mensahe ng programa ay "naghihintay para sa data …". Ngayon kapag pinindot mo ang pindutan sa remote control ang lilitaw na code ay lilitaw sa terminal. Sa ganitong paraan malalaman mo kung aling pindutan ang naglalabas kung aling code.

Ngayon ang ilang mga bagay sa programa ay naghihintay para sa iyo ngunit huwag mag-alala. Ilang mga bagay lamang ang kailangang mabago sa source code ng programa upang tumugon ang programa sa iyong remote control. Buksan ang file remotePC.c sa text editor o sa ilang IDE kung nais mo at palitan ang aking mga code ng sa iyo. Pindutin lamang ang mga pindutan na balak mong gamitin para sa bawat pagkilos nang paisa-isa. Kopyahin lamang ang mga code na lilitaw sa terminal at i-paste ang mga ito sa source code sa lugar na may kaukulang aksyon.

Kapag natapos mo na wakasan ang programa at muling pagsama-samahin ang code gamit ang command gcc -o remotePC remotePC.c. Patakbuhin muli ang programa at ito ay tutugon sa iyong remote control mula ngayon.

Ginagamit ko ang ganitong paraan sa mga hardcoded na aksyon sa programa dahil nakita kong walang kahulugan na sayangin ang aking oras sa karagdagang pag-unlad ng proyekto sa estado kung posible na magdagdag / magbago ng mga code / pagkilos sa magiliw na kapaligiran ng graphics ng gumagamit halimbawa. Ngunit kung nais mong gawin ito o higit pa maaari mo.

Inirerekumendang: