Мазмұны:

USB NEC инфрақызыл таратқышы мен қабылдағышы: 4 қадам (суреттермен)
USB NEC инфрақызыл таратқышы мен қабылдағышы: 4 қадам (суреттермен)

Бейне: USB NEC инфрақызыл таратқышы мен қабылдағышы: 4 қадам (суреттермен)

Бейне: USB NEC инфрақызыл таратқышы мен қабылдағышы: 4 қадам (суреттермен)
Бейне: IR Infrared 10 points multimedia interactive touchscreen touch frame installation USB RS232 FPC 2024, Маусым
Anonim
USB NEC инфрақызыл таратқышы мен қабылдағышы
USB NEC инфрақызыл таратқышы мен қабылдағышы

Бұл жоба мен жұмыс істеп жатқан басқа жобаның бөлшегі, сондықтан нұсқаулықтар бойынша 2017 жылы қашықтан басқару байқауы болғандықтан, мен бұл жобаны жарияладым деп ойладым. Сондықтан егер сізге бұл жоба ұнаған болса, оған дауыс беріңіз. Рахмет.

Сіз білетіндей, мен Microchip 8-разрядты PIC контроллерлерінің үлкен жанкүйерімін, қараңыз:

Мен JAL бағдарламалау тілін қолданамын, себебі ол Паскальға ұқсайды (маған да ұнайды). JAL компиляторы мен кітапханаларды мына жерден жүктеуге болады: https://www.justanotherlanguage.org/downloads (соңғы шығарылған нұсқаны төмен қарай айналдырыңыз).

Әдетте мен не істеп жатқанымды толық түсіну үшін барлық кодты жазамын, бірақ бұл жоба үшін маған PIC -ті компьютердің USB портына қосу керек болды, сондықтан маған осы PIC контроллері үшін JAL USB сериялық драйвері қажет болды. Мен USB сериялық драйверін JAL жүктеу пакетінде қолдандым, ол жақсы жұмыс істейді. Бұл USB сериялық драйвері бір нақты PIC үшін жазылғандықтан, мен PIC18F14K50 PIC қолдандым. Бұл контроллер менде бұл жобаға қарағанда әлдеқайда көп функционалдылыққа ие, сондықтан мен қазіргі уақытта осы USB драйверін PIC16F1455 қарапайым PIC нұсқасымен жұмыс жасауды аламын, ол да арзан.

Сонымен бұл жоба не туралы? Осы нұсқаулықта айтылған құрылғы көмегімен инфрақызыл қашықтан басқару пультінің командаларын компьютерден USB порт арқылы NEC инфрақызыл әйгілі протоколы арқылы жіберуге және алуға болады. Осылайша сіз инфрақызыл пәрмендерді бақылай аласыз және NEC инфрақызыл қашықтан басқару пультінің протоколын қолданатын кез келген құрылғыны басқара аласыз. Жоба инфрақызыл хабарламаларды декодтайды және адрестік байтқа, командалық байтқа немесе қайталанатын хабарға аударады. Мекенжай, әрине, теледидар немесе радио сияқты белгілі бір құрылғыға жүгіну үшін пайдаланылады, онда командалық байт дыбыс деңгейін жоғарылату, дыбыс деңгейін төмендету сияқты орындалуы керек функцияны көрсетеді. Бұл хабарларды декодтаудың жанында олар осы құрылғы арқылы инфрақызыл арқылы да жіберілуі мүмкін.

1-қадам: NEC инфрақызыл протоколы туралы кейбір ақпарат

NEC инфрақызыл протоколы туралы кейбір ақпарат
NEC инфрақызыл протоколы туралы кейбір ақпарат

Бұл хаттамаға қысқаша кіріспе. NEC инфрақызыл қашықтан басқару пультінің протоколы сіз сатып алатын көптеген құрылғылар мен қашықтан басқару құралдарында қолданылады. Ол 38 кГц тасымалдағышта инфрақызыл сигналды модуляциялайды және логикалық «1» мен логикалық «0» кодтау үшін импульстік қашықтықты кодтауды қолданады. Хаттама адресті де, байтты да, бір ғана хабарламаның инверсияланған нұсқасын жіберу және қабылдаудан кейін олардың бірдей екендігін тексеру арқылы хабарламаның жарамдылығын тексеру үшін қарапайым тексеруді қолданады. Қашықтан басқару пультіндегі түймені басқанда, ол инфрақызыл хабарламаны адресімен және пәрменімен бір рет жібереді. Түймені басып тұру мекен -жайсыз және командалық ақпаратсыз қысқа қайталанатын хабарлама жіберуге әкеледі. Түймені басу кезінде жіберілген хабарламалардың қайталану уақыты бекітілген.

NEC Infra Red протоколы туралы қосымша ақпаратты мына жерден алуға болады:

2 -қадам: Қажетті компоненттер

Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер

Бұл жоба үшін сізге келесі компоненттер қажет:

  • PIC микроконтроллер PIC18F14K50, қараңыз:
  • Кристалл 12 МГц
  • Керамикалық конденсатор: 2 * 100нФ, 1 * 220 нФ, 2 * 18пФ
  • Электролиттік конденсатор 47 uF/16V
  • TSOP4838 инфрақызыл қабылдағышы, қараңыз:
  • Резисторлар: 2 * 33к, 1 * 4к7, 1 * 1к, 3 * 330 Ом, 1 * 22 Ом
  • Светодиодтар: 2 * инфрақызыл, 1 сары, 1 жасыл, 1 қызыл
  • BC640 транзисторы, қараңыз:
  • Өткізгіш (міндетті емес)
  • USB қосқышы

Құрамдас бөліктерді қосу әдісі туралы схеманы қараңыз. Мен бұл жобаға арналған тақтаны қолдандым, сіз оны суретте және видеода көріп отырсыз. Схема компьютердің USB портынан қуат алады.

3 -қадам: Бағдарламалық қамтамасыз ету және құрылғының жұмысы

Жоғарыда айтылғандай, бағдарламалық қамтамасыз ету PIC18F14K50 үшін жазылған. Бұл JAL тілінде жазылған. PIC бағдарламалауға арналған Intel Hex файлы бекітілген. Бағдарламалық қамтамасыз ету келесі функцияларды орындайды:

  • NEC Infra-Red хабарламаларын декодтау және оны компьютер арқылы компьютерге жіберу. Хабар инфрақызыл қабылдағыш шығаратын бит ағынынан декодталған және адрес + командалық хабарға немесе қайталанатын хабарға аударылады.
  • USB арқылы компьютерден алынған NEC Infra Red хабарламаларын жіберу. Бағдарламалық жасақтама инфрақызыл светодиодты тікелей басқаратын 38 кГц тасымалдаушы жиілігін құратынын ескеріңіз. Инфрақызыл светодиодқа параллель, хабардың берілуін көрінетін ету үшін сары жарықдиодты қосылады.

Әдепкі бойынша бұл схема инфрақызыл хабарламаны жіберу кезінде инфрақызыл қабылдағыштың дыбысын өшіреді. Егер секіргіш «Дыбысты өшіру» позициясына қойылса, ол бұл дыбысты өшіру функциясын өшіреді. Бұл жағдайда жіберілген инфрақызыл хабарлама таратуға параллель түрде декодталады және толық қабылданғаннан кейін ол инфрақызыл түсті хабарлама ретінде дербес компьютерге жіберіледі. Егер NEC инфрақызыл жарамды хабарламасы қабылданса, қызыл «IR OK» жарық диоды жанады.

Бұл құрылғыны пайдалану үшін компьютерде терминалды эмулятор бағдарламасы болуы керек. Мен осы мақсатта «термит» қолдандым. Құрылғы дербес компьютерге қосылған кезде, ол Windows 10-да қосымша COM порты ретінде автоматты түрде танылады, себебі бұл құрылғы үшін Windows 10-де микрочип драйвері алдын ала орнатылған сияқты. Бұл COM портының параметрі келесідей болуы керек: 19200 baud 8 бит, 1 stop-bit, паритеті жоқ және RTS/CTS ағынының басқаруымен. Егер қажет болса, жіберу жылдамдығын кез келген басқа мәнге орнатуға болады, сондықтан 115200 бады жылдамдығы да жұмыс істейді. Құрылғы USB порт арқылы терминал эмуляторы бағдарламасына қосылу арқылы конфигурацияланғаннан кейін жасыл «конфигурацияланған» жарық диоды жанады.

Инфрақызыл хабарламаларды қабылдау

Инфрақызыл хабарлама алынған кезде Терминал эмуляторы бағдарламасында келесілер көрсетіледі:

  • Толық хабарлама болған жағдайда 'A: xx C: xx', мұнда xx - адрестің он алтылық саны мен (C) пәрмені. Екеуінің де мәндері 0x00 (0) мен 0xFF (255) аралығында болуы мүмкін.
  • Қайталанған хабарлама болған жағдайда «қайталаңыз».

Инфрақызыл хабарламаларды жіберу

Ол үшін мен құрылғыға не істеу керектігін айтатын хаттаманы анықтауым керек болды. Біз терминалды эмуляторды қолданғандықтан, мен хабарды анықтау үшін ASCII таңбаларын қолдандым. Құрылғыға пәрмен жіберу хаттамасы келесі форматты қолданады: '! AACCRR#', мұнда (барлық таңбалар регистрге сезімтал емес):

  • '!' Хабарламаның басталуын білдіреді.
  • 'AA' - адрестің он алтылық санауындағы мәні, сондықтан «0» - «9» және «A» - «F»,
  • 'CC' - бұл команданың он алтылық санауындағы мәні, сондықтан «0» -ден «9» -ға дейін және «А» -дан «F» -ге дейін
  • 'RR' - бұл «0» -ден «9» -ға және «А» -дан «F» -ке дейін он алтылық жүйеде жіберілуі қажет қайталанатын хабарламалар саны. «00» мәні қайталама хабарлама жіберілмейтінін білдіреді.

0x07 мекенжайы, 0x05 пәрмені және 3 қайталануы бар хабарламаның мысалы Терминал эмуляторы бағдарламасында келесі түрде терілуі керек:! 070503#

Компьютерден пәрмен жіберілгеннен кейін құрылғы әр түрлі жауап береді:

  • 'Y' хабарламаның жіберілгенін білдіреді. Назар аударыңыз, бұл жауап барлық хабарламалар, соның ішінде барлық қайталанулар жіберілгеннен кейін беріледі, сондықтан көптеген қайталанатын хабарларды беру қажет болған кезде бұл жауап берілгенге дейін біраз уақыт кетуі мүмкін.
  • 'N' - бұл дербес компьютерге жіберілген хабарламада заңсыз сипат болғанын білдіреді.
  • 'B'-бұл инфрақызыл тарату команда берілген кезде әлі де бос емес екенін білдіреді.
  • ? 'Бұл құрылғы «!» Деп күткенін білдіреді, бірақ ол басқа нәрсені алды.

4 -қадам:

Мен құрылғы туралы қысқаша бейне түсірдім. Бұл бейне үшін мен қашықтан басқару пульті бар коммерциялық жарықдиодты шамды қолдандым, ол беру мен қабылдаудың да жұмыс істейтінін көрді. Бейнеде мыналар көрсетілген:

  • USB құрылғысын Terminal Emulation бағдарламасынан конфигурациялау. Құрылғы конфигурацияланған кезде ол «USB NEC инфрақызыл таратқышы мен қабылдағышы» хабарымен жауап береді. Құрылғыда Жасыл жарық диоды қосылады, бұл құрылғы ДК арқылы конфигурацияланғанын көрсетеді.
  • Шам қашықтан басқару пультімен қосылады. Бұл үшін қашықтан басқару құралы 0x00 адресін және 0x07 пәрменін қолданады, ол құрылғы арқылы декодталған және компьютерде көрсетіледі.
  • Шам қашықтан басқару құралының көмегімен өшіріледі. Ол үшін Қашықтан басқару құралы 0x00 адресін және 0x06 пәрменін қолданады, ол құрылғы арқылы декодталған және компьютерде көрсетіледі.
  • Шам ДК -де қайталау мәні 0 (қайталанбайтын) бар қашықтан басқару құралының сол командасын теру арқылы қосылады, сондықтан '! 000700#' теру арқылы қосылады. Шам қосылады.
  • 0x00 мекенжайын және 0x0A пәрменін және 0x30 қайталауды қолдану арқылы шамның түсін көк түске өзгерту. Инфракызыл светодиодтармен параллель қосылған Amber Led жыпылықтайды, инфрақызыл арқылы қайталанатын хабардың берілуін көрсетеді. Терілген хабарлама '! 000A30#'.

Бұл бейнені жазу кезінде 'Unmute' секіргіш қосылымы белсенді болғанын ескеріңіз, сондықтан сіз Терминалды Эмуляция бағдарламасында 'A: 00 C: 07' ретінде қабылданған '! 000700#' хабарын көре аласыз. Көгілдір түске боялған лампаның демонстрациясынан қызыл жарық диоды жарамды - қайталанатын болса да, олар жіберілетінін, өйткені олар қайталанатын хабарлардың берілуіне параллель қабылданғанын және декодталғанын көрсетеді.

Өз жобаңызды құрудан көңілді болыңыз және сіздің реакцияларыңызды күтіңіз. Егер сізге ұнаса, бұл жобаға қашықтан басқару 2017 байқауында дауыс беруді ұмытпаңыз. Тағы да рахмет.

Ұсынылған: