Мазмуну:

USB NEC инфра-кызыл берүүчү жана алуучу: 4 кадам (сүрөттөр менен)
USB NEC инфра-кызыл берүүчү жана алуучу: 4 кадам (сүрөттөр менен)

Video: USB NEC инфра-кызыл берүүчү жана алуучу: 4 кадам (сүрөттөр менен)

Video: USB NEC инфра-кызыл берүүчү жана алуучу: 4 кадам (сүрөттөр менен)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Ноябрь
Anonim
USB NEC инфра-кызыл берүүчү жана алуучу
USB NEC инфра-кызыл берүүчү жана алуучу

Бул долбоор мен иштеп жаткан дагы бир долбоордун бир бөлүгү болуп саналат жана Instructables боюнча Алыстан башкаруу 2017 сынагы болгондуктан, мен бул долбоорду жарыяладым деп ойлогом. Андыктан бул долбоор сизге жакса, ага добуш бериңиз. Рахмат.

Сиз билгендей, мен Microchip 8-бит PIC контроллеринин чоң күйөрманымын, караңыз:

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

Адатта, мен эмне кылып жатканымды толугу менен түшүнүү үчүн өзүмдүн бардык коддорумду жазам, бирок бул долбоор үчүн мен ПИКти ЖКнын USB портуна туташтырышым керек болчу, ошондуктан мага бул PIC контроллери үчүн JAL USB сериялык драйвери керек болчу. Мен USB сериялык драйверин JAL жүктөө пакетинде колдондум, ал жакшы иштейт окшойт. Бул USB сериялык драйвери белгилүү бир PIC үчүн жазылгандыктан, мен PIC18F14K50 болгон PICти колдондум. Бул контроллер менде бул проектке караганда алда канча көп функционалдуулукка ээ, ошондуктан мен азыркы учурда бул USB драйверин PIC16F1455 жөнөкөй PIC версиясында иштөө процессиндемин, ал дагы арзаныраак.

Ошентип, бул долбоордун максаты эмнеде? Бул Нускамада айтылган түзмөк менен сиз NEC Infra-Red протоколу аркылуу USB порт аркылуу инфра кызыл алыстан башкаруу буйруктарын жөнөтүп жана кабыл ала аласыз. Ошентип, сиз Infra-Red буйруктарын көзөмөлдөй аласыз жана NEC Infra-Red Remote Control протоколун колдонгон каалаган түзмөктү башкара аласыз. Долбоор Infra-Red билдирүүлөрүн декоддоп, дарек байтына жана командалык байтка же кайталануучу билдирүүгө которот. Дарек, албетте, сыналгы же радио сыяктуу белгилүү бир түзмөккө кайрылуу үчүн колдонулат, мында байт буйругу Volume Up, Volume Down сыяктуу аткарылышы керек болгон функцияны көрсөтөт. Бул билдирүүлөрдү чечмелөөнүн жанында, алар бул түзмөктү колдонуу менен инфра-кызыл аркылуу да берилиши мүмкүн.

1-кадам: NEC инфра-кызыл протоколу жөнүндө кээ бир маалыматтар

NEC инфра-кызыл протоколу жөнүндө кээ бир маалыматтар
NEC инфра-кызыл протоколу жөнүндө кээ бир маалыматтар

Бул протоколго кыскача киришүү. NEC Infra Red Remote Control протоколу сиз сатып ала турган көптөгөн түзмөктөрдө жана Алыстан башкаруу каражаттарында колдонулат. Ал Infra Red сигналын 38 кГц модуляторунда модуляциялайт жана логикалык '1' жана логикалык '0' коддоо үчүн импульстук алыстык коддоону колдонот. Протоколдо даректи жана буйруктун байттарын жана бир эле билдирүүнүн тескери версиясын жөнөтүү жана кабыл алгандан кийин бирдей экендигин текшерүү аркылуу билдирүүнүн макул экендигин текшерүү үчүн жөнөкөй текшерүү колдонулат. Алыстан башкаруу пультунда бир баскыч басылганда, ал дареги жана буйругу менен толук инфра -кызыл билдирүү жөнөтөт. Баскычты басып туруу дарексиз жана буйрук маалыматысыз кыска кайталануучу билдирүү жөнөтүүгө алып келет. Баскычты басуу менен өткөрүлгөн билдирүүлөрдүн кайталануу убактысы белгиленет.

NEC Infra Red протоколу боюнча көбүрөөк маалыматты, мисалы, бул жерден тапса болот:

2 -кадам: Керектүү компоненттер

Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер

Бул долбоор үчүн төмөнкү компоненттерге ээ болушуңуз керек:

  • PIC микроконтроллери PIC18F14K50, караңыз:
  • Кристалл 12 МГц
  • Керамикалык конденсатор: 2 * 100nF, 1 * 220 nF, 2 * 18pF
  • Электролиттик конденсатор 47 uF/16V
  • Infra Red Receiver TSOP4838, караңыз:
  • Резисторлор: 2 * 33k, 1 * 4k7, 1 * 1k, 3 * 330 Ом, 1 * 22 Ом
  • Светодиоддор: 2 * Инфракызыл, 1 Янтарь, 1 Жашыл, 1 Кызыл
  • Транзистор BC640, караңыз:
  • Jumper (милдеттүү эмес)
  • USB туташтыргычы

Компоненттерди кантип туташтыруу боюнча схеманы караңыз. Сүрөттө жана видеодо көрүнүп тургандай, мен бул долбоор үчүн нан тактасын колдондум. Район өзүнүн кубатын ЖКнын USB портунан алат.

3 -кадам: Программалык камсыздоо жана Түзмөктүн иштеши

Жогоруда айтылгандай, программа PIC18F14K50 үчүн жазылган. Бул JALда жазылган. Сиздин PICти программалоо үчүн Intel Hex файлы тиркелет. Программалык камсыздоо төмөнкү функцияларды аткарат:

  • NEC Infra-Red билдирүүлөрүн декоддоо жана USB аркылуу ЖКга жөнөтүү. Билдирүү инфра-кызыл кабыл алуучу тарабынан чыгарылган бит агынынан чечмеленет жана дарек + буйрук кабарына же кайталануучу билдирүүгө которулат.
  • USB аркылуу компьютерден алынган NEC Infra Red билдирүүлөрүн жөнөтүү. Белгилей кетсек, программа ошондой эле 38 кГц жыштыкты түзүп, инфра-кызыл диоддорду түз айдайт. Инфра-кызыл LEDга параллелдүү болуп, янтарь LEDы билдирүүнүн берилишин көрүнүктүү кылуу үчүн туташтырылган.

Демейки боюнча, бул схема инфра-кызыл билдирүүнү берүү учурунда инфра-кызыл алуучунун үнүн өчүрөт. Эгерде секирүүчү 'Үнүн чыгаруу' абалына коюлса, бул үнсүз функциясын өчүрөт. Бул учурда, берилген инфра-кызыл билдирүү да параллелдүү түрдө декоддолот жана толугу менен кабыл алынгандан кийин ал инфракызыл информация катары ЖКга жөнөтүлөт. Эгерде жарактуу NEC Infra-Red билдирүүсү алынса, Кызыл "IR OK" LEDи күйөт.

Бул түзмөктү иштетүү үчүн сиздин компьютериңизде терминалдык эмулятор программасы болушу керек. Мен бул үчүн "термитти" колдондум. Түзмөк компьютерге туташканда, ал автоматтык түрдө Windows 10 тарабынан кошумча COM порту катары таанылат, анткени Windows 10до бул түзмөк үчүн Microchip драйвери бар окшойт. Бул COM портунун жөндөөсү мындай болушу керек: 19200 bod 8 bit, 1 stop-bit, parity жок жана RTS/CTS агымын башкарууну колдонуу. Керек болсо, бодун ылдамдыгы башка мааниге коюлушу мүмкүн, андыктан 115200 бады дагы иштейт. Түзмөк терминал эмулятору программасы аркылуу туташып USB порт аркылуу конфигурациялангандан кийин, Жашыл "Конфигурацияланган" LED күйөт.

Infra-Red билдирүүлөрүн алуу

Инфра-кызыл билдирүү келгенде, Терминал Эмулятор программасында төмөнкүлөр көрсөтүлөт:

  • Толук билдирүү болгон учурда 'A: xx C: xx', мында xx - даректин (A) жана команданын (C) он алтылык саны. Экөөнүн тең мааниси 0x00 (0) ден 0xFF (255) га чейин болушу мүмкүн.
  • Кайталанган билдирүү болгон учурда "Кайталаңыз".

Infra-Red билдирүүлөрдү жөнөтүү

Бул үчүн мен түзмөккө эмне кылуу керектигин айткан протоколду аныкташым керек болчу. Биз терминалдык эмуляторду колдонгондуктан, мен билдирүүнү аныктоо үчүн ASCII белгилерин колдондум. Түзмөккө буйрук жөнөтүү протоколу төмөнкү форматты колдонот: '! AACCRR#', мында (бардык символдор чоң -кичине сезилбейт):

  • '!' Билдирүүнүн башталышын билдирет.
  • "АА" - он алтылык белгилөөдө даректин мааниси, андыктан "0" ден "9" га чейин жана "А" дан "F" ге чейин,
  • "CC" - он алтылык белгилөөдө буйруктун мааниси, андыктан "0" ден "9" га чейин жана "А" дан "F" ге чейин
  • "RR" - бул "0" ден "9" га жана "А" дан "F" ге чейин он алтылык белгилерде берилиши керек болгон кайталануучу билдирүүлөрдүн саны. "00" мааниси кайталануучу билдирүү жөнөтүлбөгөнүн билдирет.

0x07 дареги, 0x05 буйругу жана 3 жолу кайталанган билдирүүнүн мисалы, Терминал Эмулятор программасында төмөнкүдөй жазылышы керек:! 070503#

Компьютерден буйрук жөнөтүлгөндөн кийин, түзмөктүн ар кандай жооптору болот:

  • "Y" билдирүү жөнөтүлгөнүн билдирет. Көңүл буруңуз, бул жооп бардык билдирүүлөр, анын ичинде бардык кайталоолор өткөрүлгөндөн кийин берилет, андыктан бул жоопту берүү үчүн бир нече убакыт талап кылынышы мүмкүн.
  • "N" ЖКга жөнөтүлгөн билдирүүдө мыйзамсыз мүнөз болгонун билдирет.
  • 'B' буйрук берилгенде инфра-кызыл берүү дагы эле бош эмес экенин билдирет.
  • ? 'Түзмөк'! 'Күткөнүн билдирет, бирок ал башка нерсени алды.

4 -кадам:

Мен иштеп жаткан аппараттын кыска видеосун тарттым. Бул видео үчүн мен алыстан башкаруу пульту менен коммерциялык LED лампасын колдондум жана берүү да, кабыл алуу да иштеп жатканын көрдүм. Видеодо төмөнкүлөр көрсөтүлгөн:

  • USB түзмөгүн Терминал Эмуляция программасынан конфигурациялоо. Түзмөк конфигурацияланганда, ал "USB NEC инфракызыл жибергич жана алуучу" билдирүүсү менен жооп берет. Түзмөктө Жашыл LED күйгүзүлүп, түзмөк ЖК тарабынан конфигурацияланганын көрсөтөт.
  • Чырак Алыстан башкаруу пульту менен күйгүзүлөт. Бул үчүн Remote Control 0x00 дарегин жана 0x07 буйругун колдонот, аны түзмөк чечип, ЖКда көрсөтөт.
  • Чырак Алыстан башкаруу пульту менен өчүрүлөт. Бул үчүн Remote Control 0x00 дарегин жана 0x06 буйругун колдонот, аны түзмөк чечип, ЖКда көрсөтөт.
  • Лампа күйгүзүлөт, ошол эле Remote Control буйругун компьютерге 0 кайталоо мааниси менен (кайталоо жок) "! 000700#" терүү менен. Лампа күйөт.
  • 0x00 дарегин жана 0x0A буйругун жана 0x30 кайталоону колдонуу менен чырактын түсүн көккө өзгөртүү. Инфра кызыл диоддор менен параллель туташкан Эмбер Лед, кайталануучу билдирүүнүн Infra Red аркылуу берилишин көрсөтөт. Терилген билдирүү "! 000A30#".

Бул видеону жазуу учурунда 'Unmute' секирүүчү байланышы активдүү болгонуна көңүл бурсаңыз, Терминалдык Эмуляция программасында 'A: 00 C: 07' катары кабыл алынган '! 000700#' билдирүүсүн көрө аласыз. Көк түскө боёлгон лампанын демонстрациясында, ошондой эле, кайталануучу билдирүүлөрдүн берилишине параллелдүү түрдө кабыл алынган жана декоддолгондуктан, билдирүүлөрдүн кызыл кайчылаш - жарактуу - кайталангыс болуп күйүп турганын көрүүгө болот.

Өзүңүздүн долбооруңузду куруп, реакцияңызды күтө туруңуз. Эгер сизге жакса, 2017 -жылдагы Алыстан башкаруу сынагына бул долбоорго добуш берүүнү унутпаңыз. Дагы бир жолу рахмат.

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