Агуулгын хүснэгт:

USB NEC хэт улаан туяаны дамжуулагч ба хүлээн авагч: 4 алхам (зурагтай)
USB NEC хэт улаан туяаны дамжуулагч ба хүлээн авагч: 4 алхам (зурагтай)

Видео: USB NEC хэт улаан туяаны дамжуулагч ба хүлээн авагч: 4 алхам (зурагтай)

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

Энэ төсөл бол миний ажиллаж байгаа өөр нэг төслийн нэг хэсэг бөгөөд 2017 онд Instructables дээр Алсын удирдлага 2017 уралдаан болж байгаа тул би энэ төслийг нийтэлсэн гэж бодсон. Тиймээс энэ төсөл танд таалагдсан бол саналаа өгөөрэй. Баярлалаа.

Миний мэдэж байгаагаар би Microchip-ийн 8 битийн PIC хянагчдын том фен юм.

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

Ер нь би юу хийж байгаагаа бүрэн ойлгохын тулд бүх кодыг өөрөө бичдэг боловч энэ төслийн хувьд би PIC -ийг PC -ийн 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 мессежийг задалж, хаягийн байт, командын байт эсвэл давтан мессеж болгон хөрвүүлдэг. Энэ хаягийг мэдээж ТВ эсвэл Радио гэх мэт тодорхой төхөөрөмжид хандахад ашигладаг бөгөөд энд байтын тушаал нь дууны түвшинг дээшлүүлэх, дууг бууруулах зэрэг функцийг харуулдаг. Эдгээр мессежийг декодлохын хажуугаар энэ төхөөрөмжийг ашиглан Infra-Red-ээр дамжуулж болно.

Алхам 1: NEC хэт улаан улаан протоколын талаар зарим мэдээлэл

NEC хэт улаан улаан протоколын талаар зарим мэдээлэл
NEC хэт улаан улаан протоколын талаар зарим мэдээлэл

Энэхүү протоколын товч танилцуулга. NEC хэт улаан туяаны алсын удирдлагын протоколыг худалдан авах боломжтой олон төхөөрөмж, алсын удирдлагад ашигладаг. Энэ нь 38 кГц давтамжтай хэт улаан туяаны дохиог модуляцалж, логик "1" ба логик "0" -ийг кодлохын тулд импульсийн зайн кодчиллыг ашигладаг. Протокол нь мессеж хэвийн байгаа эсэхийг шалгахын тулд хаяг, командын байт хоёуланг нь хоёуланг нь хоёуланг нь хоёуланг нь хоёуланг нь илгээж, хүлээн авсны дараа ижил эсэхийг шалгана. Алсын удирдлага дээрх товчлуурыг дарахад энэ нь нэг удаа хаяг, командыг агуулсан хэт улаан туяаны бүрэн мессежийг илгээдэг. Товчлуурыг дарж хадгалснаар хаяг, тушаалын мэдээлэлгүй богино мессеж илгээх болно. Товчлуурыг дарж байх хооронд дамжуулсан мессежийг давтах хугацаа тогтмол байна.

NEC Infra Red протоколын талаархи нэмэлт мэдээллийг жишээлбэл https://sibotic.files.wordpress.com/2013/12/adoh-n… дээрээс олж болно.

Алхам 2: Шаардлагатай бүрэлдэхүүн хэсгүүд

Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд
Шаардлагатай бүрэлдэхүүн хэсгүүд

Энэ төслийн хувьд танд дараах бүрэлдэхүүн хэсгүүд байх ёстой.

  • PIC микроконтроллер PIC18F14K50, үзнэ үү:
  • Болор 12 МГц
  • Керамик конденсатор: 2 * 100nF, 1 * 220 nF, 2 * 18pF
  • Цахилгаан конденсатор 47 uF/16V
  • Хэт улаан туяаны хүлээн авагч TSOP4838, үзнэ үү:
  • Эсэргүүцэл: 2 * 33k, 1 * 4k7, 1 * 1k, 3 * 330 Ом, 1 * 22 Ом
  • LED: 2 * хэт улаан туяа, 1 шар, 1 ногоон, 1 улаан
  • BC640 транзисторыг үзнэ үү:
  • Холбогч (заавал биш)
  • USB холбогч

Бүрэлдэхүүн хэсгүүдийг хэрхэн холбох схемийг үзнэ үү. Би энэ төсөлд талхны самбар ашигласан бөгөөд үүнийг зураг болон видеоноос харж болно. Энэ хэлхээ нь компьютерын USB портоос хүчээ авдаг.

Алхам 3: Програм хангамж ба төхөөрөмжийн ажиллагаа

Өмнө дурьдсанчлан, програм хангамж нь PIC18F14K50 -д зориулагдсан болно. JAL дээр бичсэн байсан. Таны PIC програмчлалын Intel Hex файлыг хавсаргасан болно. Програм хангамж нь дараахь үүргийг гүйцэтгэдэг.

  • NEC Infra-Red мессежийг декодлож, USB-ээр компьютерт илгээнэ үү. Мессежийг хэт улаан туяаны хүлээн авагчийн үүсгэсэн бит дамжуулалтаас тайлж, хаяг + командын мессеж эсвэл давтан мессеж рүү хөрвүүлдэг.
  • USB -ээр компьютерээс хүлээн авсан NEC Infra Red мессежийг илгээх. Програм хангамж нь хэт улаан туяаны LED-ийг шууд жолооддог 38 кГц давтамжийг бий болгодог гэдгийг анхаарна уу. Хэт улаан туяа LED-тэй зэрэгцэн Amber LED холбогдсон бөгөөд энэ нь мессеж дамжуулалтыг харуулдаг.

Анхдагч байдлаар энэ хэлхээ нь хэт улаан туяаны мессеж дамжуулах үед хэт улаан туяаны хүлээн авагчийн дууг хаах болно. Хэрэв холбогчийг 'Дуугүй болгох' байрлалд байрлуулсан бол энэ дууг хаах функцийг идэвхгүй болгоно. Энэ тохиолдолд дамжуулсан Инфра-Улаан мессежийг дамжуулалттай зэрэгцэн декодлох бөгөөд бүрэн хүлээн авсны дараа хүлээн авсан инфра-улаан мессеж болгон компьютерт илгээнэ. Хэрэв хүчин төгөлдөр NEC хэт улаан туяаны мессеж хүлээн авбал улаан "IR OK" LED асна.

Энэ төхөөрөмжийг ажиллуулахын тулд та компьютер дээрээ терминал эмулятор програмтай байх ёстой. Би энэ зорилгоор "Термит" -ийг ашигласан. Төхөөрөмжийг компьютерт холбосон үед Windows 10-д үүнийг нэмэлт COM порт гэж автоматаар хүлээн зөвшөөрөх болно, учир нь Windows 10-д энэ төхөөрөмжийн Microchip драйвер байдаг. Энэхүү COM портын тохиргоо нь: 19200 baud 8 бит, 1 stop-bit, parity байхгүй, RTS/CTS урсгалын хяналтыг ашиглах ёстой. Шаардлагатай бол baud rate -ийг өөр ямар ч утгад тохируулж болох тул 115200 -ийн baud rate нь бас ажиллах болно. Төхөөрөмжийг Терминал Эмулятор програмаар холбож USB портоор тохируулсны дараа Ногоон "Тохируулсан" LED асах болно.

Хэт улаан туяаны мессеж хүлээн авч байна

Хэт улаан туяаны мессежийг хүлээн авахад Терминал эмулятор програмд дараахь зүйлийг харуулна.

  • "A: xx C: xx" нь бүрэн мессеж илгээсэн тохиолдолд xx нь (A) болон командын (C) арван зургаатын дугаар юм. Аль алиных нь утга 0x00 (0) -ээс 0xFF (255) хооронд хэлбэлзэж болно.
  • Давтан мессеж ирсэн тохиолдолд "давтана уу".

Хэт улаан туяаны мессеж илгээж байна

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

  • '!' Нь зурвас эхэлснийг илтгэнэ.
  • "AA" нь "арван" тэмдэгт дэх хаягийн утга бөгөөд "0" -ээс "9" хүртэл, "А" -аас "F" хүртэл,
  • "CC" нь арван зургаатын тэмдэгт дэх командын утга бөгөөд "0" -ээс "9" хүртэл, "А" -ээс "F" хүртэл байна.
  • "RR" гэдэг нь "0" -ээс "9" хүртэл "А" хүртэл "арван" тэмдэгтээр дамжуулах шаардлагатай давталтын тоо юм. "00" гэсэн утга нь дахин мессеж илгээгээгүй гэсэн үг юм.

0x07 хаяг, 0x05 тушаал, 3 удаа давтагдсан мессежийн жишээг Terminal Emulator програм дээр дараах байдлаар бичих ёстой:! 070503#

Компьютерээс тушаал явуулсны дараа төхөөрөмж өөр өөр хариу үйлдэл үзүүлдэг.

  • "Y" гэдэг нь мессеж дамжуулсан гэсэн үг юм. Энэ хариултыг бүх зурвас, түүний дотор бүх давталтыг дамжуулсны дараа өгдөг тул олон давтан мессеж дамжуулах шаардлагатай бол хариу өгөхөөс өмнө хэсэг хугацаа шаардагдах болно.
  • "N" гэдэг нь компьютерт илгээсэн зурваст хууль бус тэмдэгт байсан гэсэн үг юм.
  • 'B' гэдэг нь тушаал өгөх үед хэт улаан туяаны дамжуулалт завгүй байсан гэсэн үг юм.
  • ? "Энэ нь төхөөрөмж"! "Гэж хүлээж байсан боловч өөр зүйл хүлээж авсан гэсэн үг юм.

Алхам 4:

Би төхөөрөмжийн талаар богино хэмжээний видео бичлэг хийсэн. Энэ видеоны хувьд би алсын удирдлагатай арилжааны LED чийдэнг ашиглан дамжуулалт, хүлээн авалт хоёулаа ажилладаг болохыг олж мэдэв. Видео нь дараахь зүйлийг харуулж байна.

  • USB төхөөрөмжийг Terminal Emulation програмаас тохируулах. Төхөөрөмжийг тохируулсны дараа "USB NEC хэт улаан туяаны дамжуулагч ба хүлээн авагч" гэсэн мессежээр хариу өгөх болно. Төхөөрөмж дээр компьютерийг тохируулсан болохыг харуулсан Ногоон LED асаалттай байна.
  • Дэнлүүг алсын удирдлагаар асаана. Үүнийг хийхийн тулд алсын удирдлага нь 0x00 хаяг болон 0x07 тушаалыг ашигладаг бөгөөд үүнийг төхөөрөмжийн декодчилсон бөгөөд компьютер дээр харуулдаг.
  • Дэнлүүг алсын удирдлагаар унтраадаг. Үүнийг хийхийн тулд алсын удирдлага нь 0x00 хаяг болон 0x06 тушаалыг ашигладаг бөгөөд үүнийг төхөөрөмжийн декодчилсон бөгөөд компьютер дээр харуулдаг.
  • Дэнлүүг PC дээрх ижил алсын удирдлагын командыг 0 давталтын утгатай (дахин давтахгүй) бичээд "! 000700#" гэж бичээд асаадаг. Дэнлүү асдаг.
  • 0x00 хаяг, 0x0A командыг ашиглан 0x30 давталтыг ашиглан дэнлүүний өнгийг цэнхэр болгож өөрчлөх. Хэт улаан туяаны LED -тэй зэрэгцэн холбогдсон Amber Led нь Infra Red -ээр дамжуулан давтан мессежийг дамжуулж байгааг харуулж байна. Бичсэн мессеж нь '! 000A30#' юм.

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

Өөрийнхөө төслийг боловсруулж, хариу өгөхийг тэсэн ядан хүлээж байгаарай. Хэрэв танд таалагдаж байвал энэ төсөлд Алсын удирдлага 2017 уралдаанд санал өгөхөө бүү мартаарай. Дахин баярлалаа.

Зөвлөмж болгож буй: