Съдържание:
- Стъпка 1: Дистанционното управление
- Стъпка 2: Софтуер
- Стъпка 3: Модул за IR приемник
- Стъпка 4: Как да използвате устройството
Видео: Компютърното IR дистанционно управление: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Освен много други цели, използвам компютъра си като мултимедиен център. Има моменти, когато се отпускам на дивана, слушам музика или гледам филм или телевизор и не ми се става да ставам, за да регулирам силата на звука или да сменя телевизионния канал всеки път, когато се появят глупави реклами или заспивам и пожелавам мълчание. Затова реших да направя компютъра си дистанционно управляван със стандартно IR дистанционно управление, за да мога просто незабавно да натисна бутона, вместо да яростно хващам за мишката или клавиша за изключване на звука на клавиатурата.
Проектът се състои от няколко части:
- Дистанционно
- Софтуер за компютър
- Модул за 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 приемникът ще извежда сигнала към MCU, който ще го трансформира в уникален номер. След това този номер ще бъде предаден на компютъра през USB.
Модулът е предназначен да бъде монтиран в кутията на компютъра и свързан към USB слота на дънната платка с кабела. В случай, че предпочитате външната връзка към USB, ще трябва да направите малки корекции.
MCU
Изградих модула на микроконтролера PIC16F1829. Изборът на MCU не е критичен, можете да използвате всеки друг MCU, ако можете да регулирате изходния код. Избрах този PIC по две причини. Първо го имах на разположение и второ, неговите щифтове бяха частично повредени от интензивното използване в различните проекти за тестване. Затова исках да го използвам в постоянния проект, преди да стане напълно неизползваем.:-)
IR приемник
Втората част, на която се основава модулът, е IR приемникът VS1838B - този, споменат в първата стъпка.
UART/USB конвертор
Третата част е MCP2221, който е UART/I2C/USB конвертор.
Задачата е да комбинирате тези 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 превключвател за компютър (по избор)
Монтаж на печатни платки
Съберете модула с помощта на схемата. Можете да използвате универсалната платка или да създадете персонализирана печатна платка. Ако последното е така, предоставих KiCad файловете в архива по -долу.
Фърмуерът
Изходният код за PIC, написан с използването на MPLAB X IDE и компилатора XC8, е достъпен за изтегляне по -долу.
Бележките на изходния код
Следните редове са за тези, които биха искали да знаят какво точно прави програмата.
След като всички настройки са направени, червеният светодиод свети и MCU чака данните 0x55AA. След това светодиодът става зелен и MCU започва да открива сигнала от IR приемника с помощта на прекъсванията. Той измерва и записва времевите интервали, в които сигналът е във високи и ниски нива. След това тези времена се трансформират в 32-битовия номер, който се изпраща на компютъра.
Връзката между времената и крайното число е дадена от протокола NEC.
Стъпка 4: Как да използвате устройството
Фърмуер
Качете фърмуера на PIC. Използвам програмист PICkit 3.
Хардуер
Инсталирайте модула на IR приемника, както се вижда на снимките:
- Свържете USB заглавката или към вътрешния USB слот на дънната платка в кутията на компютъра с подходящ 4-жилен кабел или външно към USB слота със стандартния USB кабел. Във втория случай трябва да си помогнете по някакъв начин, напр. както се вижда на третата снимка за вдъхновение.
- Прикрепете 5 V захранващия кабел от източника на захранване вътре в кутията на компютъра към 4-пиновия хедър. Или захранвайте модула по друг начин в случай на външна употреба.
Потърсете описанието на пиновете на USB гнездото на дънната платка. Не съм сигурен дали окабеляването следва някакъв стандарт, така че е по -добре да се уверите. В моя случай има два щифтови реда с 5 щифта в горния ред и 4 щифта в долния. Отляво надясно щифтовете са + 5 V, D-, D +, Gnd. Петият извод в първия ред не е свързан. Прикрепих кабела, както се вижда на втората снимка.
Софтуер
Стартирайте програмата в терминала. Ако всичко върви както трябва, последното съобщение на програмата е „чакане на данни …“. Сега, когато натиснете бутона на дистанционното управление, полученият код ще се появи в терминала. По този начин ще знаете кой бутон излъчва кой код.
Сега ви очаква програмиране, но не се притеснявайте. Само няколко неща трябва да бъдат променени в изходния код на програмата, така че програмата да реагира на вашето дистанционно управление. Отворете файла remotePC.c в текстовия редактор или в някоя IDE, ако желаете и заменете моите кодове с вашите. Просто натиснете бутоните, които възнамерявате да използвате за всяко действие един по един. Просто копирайте кодовете, които се появяват в терминала и ги поставете в изходния код на мястото със съответното действие.
Когато приключите, прекратете програмата и прекомпилирайте кода с команда gcc -o remotePC remotePC.c. Стартирайте програмата отново и тя ще отговаря на вашето дистанционно управление отсега нататък.
Използвам този начин с твърдо кодирани действия в програмата, тъй като намирам за безсмислено да губя времето си с по -нататъшно развитие на проекта до състоянието, когато е възможно да се добавят/променят кодове/действия например в удобната за потребителя графична среда. Но ако искате да направите това или дори повече, можете.
Препоръчано:
IRduino: Дистанционно управление Arduino - имитирайте изгубено дистанционно: 6 стъпки
IRduino: Дистанционно управление Arduino - имитирайте изгубено дистанционно: Ако някога сте загубили дистанционното управление за вашия телевизор или DVD плейър, знаете колко е разочароващо да се налага да ходите, да намирате и използвате бутоните на самото устройство. Понякога тези бутони дори не предлагат същата функционалност като дистанционното. Получаване
Обикновен комплект за дистанционно управление, трансформиран в четириканално дистанционно управление RC играчка: 4 стъпки
Обикновен комплект за дистанционно управление, трансформиран в четириканално дистанционно управление RC Toy: 如何 将 通用 遥控 套件 转换 为 玩具 中 使用 的 四 遥控 器。 遥控 套件 非常 便宜。 采用 62 62 2262 和 2272 芯片 433 模块 构建。方法 非常 简单。 只需 一些 瓦楞纸 板 , 然后 按照 视频 教程 这个 电子 项目 并 为 服务。 玩具 车船 提供 远程 无线 控制
Уеб дистанционно дистанционно управление с Esp8266 (NodeMCU): 4 стъпки
Уеб дистанционно дистанционно управление с Esp8266 (NodeMCU): Проблем На масата в хола има три дистанционни управления. За да гледате любимото си предаване, трябва точно да следвате специална последователност от натискания на бутони върху поне две от тях. И твоята съквартирантка, майка, приятелка никога не си спомня за това … Решение Купуваш
Робот с дистанционно управление с помощта на Arduino и T.V. Дистанционно: 11 стъпки
Робот с дистанционно управление с помощта на Arduino и телевизионно дистанционно: Тази кола с дистанционно управление може да се движи, използвайки практически всякакъв вид дистанционно управление, като телевизор, променлив ток и др. Той използва факта, че дистанционното излъчва IR (инфрачервено). Това свойство се използва чрез използване на IR приемник, който е много евтин сензор
Кабелно дистанционно дистанционно управление на Canon за затвор и фокус: 4 стъпки
Кабелно дистанционно дистанционно управление на Canon за затвор и фокус: Хей! Това е друга версия на кабелното дистанционно управление на Canon. Мисля, че е по -гъвкав от другите дизайни. Тази инструкция е мястото, откъдето получих моето вдъхновение. Това по принцип ви позволява да правите снимки с помощта на това дистанционно, вместо да натискате дупето