Съдържание:
- Стъпка 1: Малко информация за инфрачервения протокол на NEC
- Стъпка 2: Необходими компоненти
- Стъпка 3: Софтуерът и работата на устройството
- Стъпка 4:
Видео: Инфрачервен предавател и приемник USB NEC: 4 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
Този проект е отделяне на друг проект, върху който работя и тъй като има конкурс за дистанционно управление 2017 на Instructables, мислех, че публикувам този проект. Така че, ако този проект ви харесва, моля, гласувайте за него. Благодаря.
Както може би знаете, аз съм голям фен на 8-битовите PIC контролери на Microchip, вижте:
Използвам езика за програмиране JAL, тъй като прилича на Pascal (който също ми харесва). Компилаторът JAL и библиотеките могат да бъдат изтеглени от: https://www.justanotherlanguage.org/downloads (превъртете надолу за най -новата издадена версия).
Обикновено пиша целия код сам, за да разбера напълно какво правя, но за този проект трябваше да свържа PIC към USB порта на компютъра и затова се нуждаех от JAL USB сериен драйвер за този PIC контролер. Използвах USB серийния драйвер в пакета за изтегляне на JAL, който изглежда работи добре. Тъй като този USB сериен драйвер е написан за един конкретен PIC, използвах този PIC, който е PIC18F14K50. Този контролер има много повече функционалности, отколкото ми трябват за този проект, така че в момента съм в процес на налагане на този USB драйвер да работи върху по -проста PIC версия, PIC16F1455, която също е по -евтина.
И така, за какво е този проект? С устройството, споменато в тези инструкции, можете да изпращате и получавате команди за дистанционно управление с инфрачервен цвят от и към вашия компютър през USB порта, използвайки популярния инфрачервен протокол NEC. По този начин можете да наблюдавате командите Infra-Red и можете да контролирате всяко устройство, което използва протокола NEC Infra-Red Remote Control. Проектът декодира и превежда инфрачервени съобщения в байт за адрес и байт на команда или в повторно съобщение. Адресът, разбира се, се използва за адресиране на определено устройство като телевизор или радио, където командният байт показва функцията, която трябва да се изпълни като увеличаване на звука, намаляване на звука. Освен декодирането на тези съобщения, те могат да се предават и чрез Infra-Red с помощта на това устройство.
Стъпка 1: Малко информация за инфрачервения протокол на NEC
Кратко въведение в този протокол. Инфрачервеният протокол за дистанционно управление NEC се използва в много устройства и дистанционни управления, които можете да закупите. Той модулира инфрачервен сигнал на носител от 38 kHz и използва импулсно кодиране на разстоянието за кодиране на логическо „1“и логическо „0“. Протоколът използва проста проверка, за да види дали съобщението е наред, като изпраща както адреса, така и командния байт и обърната версия и на едно и също съобщение и проверява дали те са еднакви след получаване. Когато бутонът е натиснат на дистанционното управление, той изпраща еднократно инфрачервено съобщение с адрес и команда веднъж. Задържането на бутона натиснато ще доведе до изпращане на по -кратко повторно съобщение без информация за адрес и команда. Времето за повторение на изпратените съобщения, като държите бутона натиснат, е фиксирано.
Повече информация за протокола NEC Infra Red може да се намери например на:
Стъпка 2: Необходими компоненти
Трябва да имате следните компоненти за този проект:
- PIC микроконтролер PIC18F14K50, вижте:
- Кристал 12 MHz
- Керамичен кондензатор: 2 * 100nF, 1 * 220 nF, 2 * 18pF
- Електролитен кондензатор 47 uF/16V
- Инфрачервен приемник TSOP4838, вижте:
- Резистори: 2 * 33k, 1 * 4k7, 1 * 1k, 3 * 330 Ohm, 1 * 22 Ohm
- Светодиоди: 2 * инфрачервено, 1 кехлибарено, 1 зелено, 1 червено
- Транзистор BC640, вижте:
- Джъмпер (по избор)
- USB конектор
Вижте схематичната диаграма за това как да свържете компонентите. Използвах макет за този проект, както можете да видите на снимката и във видеото. Схемата получава захранването си от USB порта на компютъра.
Стъпка 3: Софтуерът и работата на устройството
Както вече споменахме, софтуерът е написан за PIC18F14K50. Написано е в JAL. Прикачен е файлът Intel Hex за програмиране на вашия PIC. Софтуерът изпълнява следните функции:
- Декодиране на NEC Infra-Red съобщения и изпращането им до компютъра чрез USB. Съобщението се декодира от битовия поток, който се генерира от Infra-Red приемника и се превежда в адрес + съобщение за команда или повторно съобщение.
- Изпращане на съобщения от NEC Infra Red, получени от компютъра чрез USB. Имайте предвид, че софтуерът също така създава 38 kHz носеща честота, която директно задвижва инфрачервените светодиоди. Паралелно с инфрачервения светодиод е свързан жълт светодиод, за да стане видимо предаването на съобщение.
По подразбиране тази схема ще заглуши инфрачервения приемник по време на предаване на инфрачервено съобщение. Ако джъмпер е поставен на позиция „Включване на звука“, той ще деактивира тази функция за заглушаване. В този случай предаденото инфрачервено съобщение също ще бъде декодирано успоредно с предаването и след пълно приемане се изпраща като получено инфрачервено съобщение до компютъра. Ако се получи валидно инфрачервено съобщение на NEC, червеният светодиод „IR OK“ще светне.
За да работите с това устройство, трябва да имате програма за терминален емулатор на вашия компютър. Използвах „Термит“за тази цел. Когато устройството е свързано към компютъра, то автоматично ще бъде разпознато като допълнителен COM порт от Windows 10, тъй като изглежда, че има предварително инсталиран драйвер за микрочип за това устройство в Windows 10. Настройката за този COM порт трябва да бъде: 19200 бода 8 бита, 1 стоп-бит, без паритет и използване на RTS/CTS контрол на потока. Скоростта на предаване може да бъде зададена на всяка друга стойност, ако е необходимо, така че скорост на предаване от 115200 също ще работи. След като устройството се конфигурира чрез USB порта чрез свързване към него чрез програмата за терминален емулатор, зеленият светодиод „Конфигуриран“ще светне.
Получаване на инфрачервени съобщения
Когато се получи инфрачервено съобщение, в програмата за терминален емулатор ще се покаже следното:
- „A: xx C: xx“в случай на пълно съобщение, където xx е шестнадесетичният номер на адреса (A) и командата (C). Стойностите и за двете могат да варират от 0x00 (0) до 0xFF (255).
- „Повтори“в случай на повторно съобщение.
Изпращане на инфрачервени съобщения
За това трябваше да дефинирам протокол, който да казва на устройството какво да прави. Тъй като използваме терминален емулатор, използвах ASCII символи за дефиниране на съобщение. Протоколът за изпращане на команда до устройството използва следния формат: „! AACCRR#“, където (всички знаци нечувствителни към регистъра):
- '!' Показва началото на съобщението.
- „AA“е стойността на адреса в шестнадесетична нотация, така че „0“до „9“и „A“до „F“,
- „CC“е стойността на командата в шестнадесетична нотация, така че „0“до „9“и „A“до „F“
- „RR“е броят на повтарящите се съобщения, които трябва да бъдат предадени в шестнадесетична нотация, така че „0“до „9“и „A“до „F“. Стойност „00“означава, че не се изпраща повторно съобщение.
Пример за съобщение с адрес 0x07, команда 0x05 и 3 повторения трябва да се въведе следното в програмата за терминален емулатор:! 070503#
Устройството има различни отговори след изпращане на команда от компютъра:
- „Y“означава, че е изпратено съобщение. Обърнете внимание, че този отговор се дава, след като всички съобщения - включително всички повторения - бъдат предадени, така че може да отнеме известно време преди да бъде даден този отговор, когато трябва да се предадат много повторни съобщения.
- „N“означава, че в съобщението, изпратено до компютъра, е имало незаконен знак.
- „B“означава, че предаването на Infra-Red все още е било заето, когато е дадена командата.
- ? “Означава, че устройството е очаквало„! “, Но е получило нещо друго.
Стъпка 4:
Направих кратко видео на устройството в действие. За това видео използвах търговска LED лампа с нейното дистанционно управление, за да видя, че както предаването, така и приемането работят. Видеото показва следното:
- Конфигуриране на USB устройството от програмата Terminal Emulation. Когато устройството е конфигурирано, то отговаря със съобщението „USB NEC Инфрачервен предавател и приемник“. На устройството свети зеленият светодиод, показващ, че устройството е конфигурирано от компютъра.
- Лампата се включва с дистанционното управление. За това дистанционното управление използва адрес 0x00 и команда 0x07, която се декодира от устройството и се показва на компютъра.
- Лампата се изключва с дистанционното управление. За това дистанционното управление използва адрес 0x00 и команда 0x06, която се декодира от устройството и се показва на компютъра.
- Лампата се включва чрез въвеждане на същата команда за дистанционно управление на компютъра с повторна стойност 0 (без повторение), така че чрез въвеждане на „! 000700#“. Лампата се включва.
- Промяна на цвета на лампата в син чрез използване на адрес 0x00 и команда 0x0A и използване на 0x30 повторения. Жълтият светодиод, който е свързан паралелно с инфрачервените светодиоди, мига, показвайки предаването на повторно съобщение чрез инфрачервено. Въведеното съобщение е „! 000A30#“.
Обърнете внимание, че по време на записа на този видеоклип връзката на джъмпера „Unmute“е била активна, така че можете да видите и предаденото съобщение „! 000700#“, получено като „A: 00 C: 07“в програмата за терминална емулация. В демонстрацията на лампата, оцветена в синьо, можете също да видите, че червеният светодиод свети, докато валидните съобщения за повторение се предават, тъй като са получени и декодирани паралелно с предаването на повторните съобщения.
Забавлявайте се при изграждането на собствен проект и очакваме с нетърпение вашите реакции. Не забравяйте да гласувате за този проект в конкурса за дистанционно управление 2017, ако ви харесва. Благодаря отново.
Препоръчано:
Инфрачервен предавател: 4 стъпки
Инфрачервен предавател: Тази статия ви показва как да направите инфрачервен аналогов предавател. Това е стара верига. Понастоящем лазерните диоди се използват за предаване на цифрови сигнали чрез оптични влакна. Тази схема може да се използва за предаване на аудио сигнал чрез инфрачервена връзка. Ще имаш нужда
Безжично дистанционно използване на 2.4Ghz модул NRF24L01 с Arduino - Nrf24l01 4 -канален / 6 -канален предавател приемник за Quadcopter - Rc хеликоптер - Rc самолет, използващ Arduino: 5 стъпки (със снимки)
Безжично дистанционно използване на 2.4Ghz модул NRF24L01 с Arduino | Nrf24l01 4 -канален / 6 -канален предавател приемник за Quadcopter | Rc хеликоптер | Rc самолет, използващ Arduino: За управление на Rc автомобил | Квадрокоптер | Дрон | RC равнина | RC лодка, винаги се нуждаем от приемник и предавател, да предположим, че за RC QUADCOPTER се нуждаем от 6 -канален предавател и приемник и този тип TX и RX е твърде скъп, така че ще направим такъв на нашия
Инфрачервен безжичен аудио предавател и приемник: 6 стъпки
Инфрачервен безжичен аудио предавател и приемник: Безжичното аудио вече е технически напреднала област, където Bluetooth и RF комуникациите са основните технологии (въпреки че повечето търговски аудио оборудване работят с Bluetooth). Проектирането на обикновена верига за IR аудио връзка не би било от полза
Изградете Kodi / OSMC инфрачервен приемник и шапка за нулиране за Raspberry Pi: 5 стъпки (със снимки)
Изграждане на Kodi / OSMC инфрачервен приемник и нулиране на шапка за Raspberry Pi: Изградете Kodi / OSMC IR приемник и нулирайте шапка за Raspberry Pi 3 От цялата стая бих искал: Контролирайте Kodi / OSMC, работещ на Raspberry Pi с дистанционно управление Вижте дали Raspberry Pi е включен Също така, бих искал семейството ми да
RF предавател и приемник: 8 стъпки (със снимки)
RF предавател и приемник: В този проект ще използвам RF модули с Pic 16f628a. Това ще бъде кратък урок за rf. След като научите как rf модулите комуникират помежду си, можете да използвате тези модули с микроконтролер pic, ardunio или друг микроконтролер. Контролирах