Мазмуну:

Компьютер IR Алыстан башкаруу: 4 кадам
Компьютер IR Алыстан башкаруу: 4 кадам

Video: Компьютер IR Алыстан башкаруу: 4 кадам

Video: Компьютер IR Алыстан башкаруу: 4 кадам
Video: КАК НАСТРОИТЬ L4D2 2024, Июнь
Anonim
IR IR алыстан башкаруу компьютери
IR IR алыстан башкаруу компьютери

Башка максаттардан тышкары, мен компьютеримди мультимедиялык борбор катары колдонуп жатам. Кээде диванда музыка угуп же кино же сыналгы көрүп эс алып жатам, же келесоо жарнактар чыкканда же үнүмдү тууралоо же телеканалды алмаштыруу үчүн ордунан тургум келбейт, же мен уктап жатам. жымжырттык. Ошентип, мен компьютеримди стандарттуу IR алыстан башкаруу пульту менен башкарууну чечтим, ошондуктан мен чычканды же баскычтоптун үнсүз баскычын ачуунун ордуна, ошол замат баскычты басам.

Долбоор бир нече бөлүктөн турат:

  1. Алыстан башкаруу
  2. PC программалык камсыздоо
  3. IR кабыл алуучу модулу

1 -кадам: Алыстан башкаруу

Алыстан башкаруу
Алыстан башкаруу

Биринчи пункт - алыстан башкаруу - бүтүрүү үчүн анча маанилүү эмес. Сизге жаккан IR контролун колдонуңуз. Мен IR кабыл алгыч менен чогуу сатуу үчүн колдонулган нерсени колдондум - сүрөттү караңыз. Мен бул түрдү чечкенимдин бирден -бир себеби, мен аны мурун эле үйдө болгонум үчүн.

2 -кадам: Программалык камсыздоо

Мен терминалда иштеген GNU/Linux OS үчүн программаны түздүм. Булак коду жүктөө/колдонуу/бөлүшүү/өзгөртүү бекер. Кодду түзүү үчүн жөн эле терминалда gcc -o remotePC remotePC.c сыяктуу буйрук бериңиз. Программаны иштетүү үчүн./remotePC.

Бул кадамдагы төмөнкү маалыматтар нерселердин кантип иштээрине кызыккандарга арналат.

Программанын сүрөттөмөсү

Программа алгач /dev /ttyACM0 же ttyACM1 файлынын бар -жогун текшерет. Андай болсо, файлдын топтун идентификатору нөлдөн айырмаланат. Бул сериялык портту жалпы колдонуучудан окууга жана жазууга болот дегенди билдирет. 0xAA 0x55 мааниси бар эки байт программага маалыматтарды кабыл алууга даяр экенин билдирүү үчүн портко жазылат. Кирүүчү маалыматтар сакталган баалуулуктарга салыштырылат. Эгерде дал келүү табылса, алдын ала аныкталган иш аткарылат.

Үн көлөмүн көзөмөлдөө

Программа үндү күйгүзүп/өчүрүп, системанын деңгээлинде үн көлөмүн жогорулатып/азайта алат. Бул pactl программасын колдонуу менен ишке ашат. Командалар анда мындай көрүнөт:

pactl set-sink-mute 0 которуштуруу

pactl set-sink-volume 0 +10%

pactl set-sink-volume 0 -10%

Керек болсо, талап кылынган пакеттерди орнотуңуз.

VLC Media Player көзөмөлү

Программа ошондой эле аудио/видеону баштоого/тындырууга жана VLC Media Playerдин ойноо тизмегиндеги тректи мурунку/кийинкиге өзгөртө алат. Бул учурда Desktop Bus колдонулат. Буйруктар:

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

3 -кадам: IR алуучу модулу

IR алуучу модулу
IR алуучу модулу
IR алуучу модулу
IR алуучу модулу
IR алуучу модулу
IR алуучу модулу

Долбоордун үчүнчү бөлүгү эң татаал, бирок абдан жөнөкөй. ИД алгыч MCUга сигналды чыгарат, ал аны уникалдуу санга айлантат. Андан кийин бул сан USB аркылуу ЖКга өткөрүлүп берилет.

Модуль PC корпусунун ичине орнотулуп, кабель менен аналык платанын USB уячасына туташтырылган. Эгерде сиз USBге тышкы туташууну кааласаңыз, анча -мынча өзгөртүүлөрдү киргизүүгө туура келет.

MCU

Мен модулду PIC16F1829 микроконтроллерине кургам. MCUну тандоо өтө маанилүү эмес, эгер сиз баштапкы кодду тууралай алсаңыз, башка MCUну колдонсоңуз болот. Мен бул PICти эки себептен улам тандап алдым. Биринчиден, менде бар болчу, экинчиси, анын казыктары ар кандай тестирлөө долбоорлорунда интенсивдүү колдонуудан жарым -жартылай бузулган. Ошентип, мен аны таптакыр жараксыз болуп кала электе, аны туруктуу долбоордо колдонгум келди.:-)

IR кабылдагыч

Модулдун негизделген экинчи бөлүгү IR кабылдагычы VS1838B - 1 -кадамда айтылган.

UART/USB алмаштыргыч

Үчүнчү бөлүгү - UCP/I2C/USB алмаштыргыч болгон MCP2221.

Милдет бул 3 бөлүктү бириктирип, IR алыстан башкаруусунан сигналдарды кабыл ала турган жана аларды ЖКга өткөрүп бере турган модулду түзүү.

Зым

Биринчи сүрөттө нан тактасында тестирлөө схемасы бар. Экинчисинде зымдардын схемасы бар.

Бөлүктөрдүн тизмеси

1 даана PIC16F1829 (же башка MCU)

1 даана VS1838B (же башка IR алуучу)

1 даана MCP2221 (же башка UART/USB алмаштыргыч)

2 шт 4 баштуу баш

1 даана 6-пин баш

1 даана резистор 100R

2 даана каршылык 10K

2 даана каршылык 330R

1 даана конденсатор 470 nF

2 даана электролиттик конденсатор 4.7 uF

1 даана которуу (милдеттүү эмес)

PCB жамааты

Схеманы колдонуу менен модулду бириктирүү. Сиз универсалдуу тактаны колдоно аласыз же ыңгайлаштырылган PCB түзө аласыз. Эгер экинчиси ушундай болсо, мен төмөндөгү архивде KiCad файлдарын бердим.

Камтылган программа

MPLAB X IDE жана XC8 компиляторун колдонуу менен жазылган PICтин баштапкы коду төмөндө жүктөө үчүн жеткиликтүү.

Булак коду белгилейт

Программанын так эмне кылып жатканын билгиси келгендер үчүн төмөнкү саптар.

Бардык орнотуулар бүткөндөн кийин, кызыл LED күйүп турат жана MCU 0x55AA маалыматын күтөт. Андан кийин LED жашыл түскө ээ болот жана MCU үзгүлтүктөрдү колдонуу менен IR кабылдагычтан сигналды аныктай баштайт. Бул сигналдын жогорку жана төмөнкү деңгээлдеги убакыт аралыгын өлчөйт жана жазат. Бул убакыттар ЖКга жөнөтүлгөн 32 биттик номерге айландырылат.

Убакыттар менен акыркы сандын ортосундагы байланыш NEC протоколу менен берилет.

4 -кадам: Түзмөктү кантип колдонуу керек

Түзмөктү кантип колдонуу керек
Түзмөктү кантип колдонуу керек
Түзмөктү кантип колдонуу керек
Түзмөктү кантип колдонуу керек
Түзмөктү кантип колдонуу керек
Түзмөктү кантип колдонуу керек

Камтылган программа

Камтылган программаны PICке жүктөө. Мен PICkit 3 программистин колдоном.

Аппараттык

IR алуучу модулун сүрөттө көрүнүп тургандай орнотуңуз:

  1. USB башын тиешелүү 4 зымдуу кабель менен PC корпусунун ичиндеги анабаканын ички USB уячасына же стандарттуу USB кабели бар USB уячасына туташтырыңыз. Экинчи учурда кандайдыр бир жол менен өзүңүзгө жардам беришиңиз керек, мис. илхам үчүн 3 -сүрөттө көрүнүп тургандай.
  2. Atach 5 V электр кабели 4-пин башына PC корпусунун ичиндеги энергия булагын түзөт. Же модулду сырттан колдонуу учурунда башка жол менен кубаттаңыз.

Аналык платанын USB розеткаларынын сүрөттөмөсүн караңыз. Мен зымдардын кандайдыр бир стандартка жооп берерин билбейм, андыктан ынануу үчүн жакшы. Менин учурда, эки катарлуу жогорку катарда 5 казык жана төмөнкүдө 4 казык бар. Солдон оңго карай казыктар + 5 V, D-, D +, Gnd. Биринчи катардагы 5 -пин туташкан эмес. Экинчи сүрөттө көрүнүп тургандай, мен кабелди туташтырдым.

Программалык камсыздоо

Программаны терминалда иштетиңиз. Эгерде баары ойдогудай болсо, программанын акыркы билдирүүсү "маалыматтарды күтүү …". Эми сиз пульттун баскычын басканда, алынган код терминалда пайда болот. Ошентип, кайсы баскыч кайсы кодду чыгарарын биле аласыз.

Азыр кээ бир программалоо нерселери сизди күтүп жатат, бирок кабатыр болбоңуз. Программанын алыстан башкаруу пультуна жооп бериши үчүн программанын баштапкы кодунда бир нече нерсени өзгөртүү керек. Кааласаңыз жана менин коддорумду сиздикине алмаштырсаңыз, remotePC.c файлын текст редакторунда же кээ бир IDEде ачыңыз. Жөн гана ар бир иш үчүн колдонууну каалаган баскычтарды бирден басыңыз. Жөн гана терминалда пайда болгон коддорду көчүрүп, аларды тиешелүү иш -аракеттери бар жерге баштапкы кодго чаптаңыз.

Сиз бүтүргөндөн кийин программаны токтотуңуз жана gcc -o remotePC remotePC.c буйругу менен кодду кайра териңиз. Программаны кайра иштетип көрүңүз, ал мындан ары сиздин пультка жооп берет.

Мен бул жолду программанын коддолгон иш -аракеттери менен колдоном, анткени, мисалы, колдонуучуга ыңгайлуу графикалык чөйрөдө коддорду/аракеттерди кошуу/өзгөртүү мүмкүн болгондо, долбоорду андан ары өнүктүрүү менен убактымды текке кетирүүнүн мааниси жок деп эсептейм. Бирок эгер сиз муну кааласаңыз же андан да көптү кыла аласыз.

Сунушталууда: