Mundarija:

AIY Universal IR masofadan boshqarish pulti: 5 qadam
AIY Universal IR masofadan boshqarish pulti: 5 qadam

Video: AIY Universal IR masofadan boshqarish pulti: 5 qadam

Video: AIY Universal IR masofadan boshqarish pulti: 5 qadam
Video: Trinary Time Capsule 2024, Noyabr
Anonim
AIY universal IR masofadan boshqarish pulti
AIY universal IR masofadan boshqarish pulti

Bu ko'rsatma AIY universal infraqizil masofadan boshqarish pultini qanday qilishni tasvirlaydi. Bu sizning ovozingiz yordamida har qanday televizor, ovoz paneli, digibox, DVD yoki bluray pleerni boshqarish uchun ishlatilishi mumkin.

Men uni universal deb atayman, chunki u har qanday masofadan boshqarish pultidan infraqizil signalni yozish uchun ishlatilishi mumkin bo'lgan IQ qabul qiluvchini o'z ichiga oladi.

AIY loyihasi IR signalini yozish va uzatish uchun LIRC dasturidan foydalanadi.

1 -qadam: PCB qiling

PCB qiling
PCB qiling
PCB qiling
PCB qiling

Qismlar ro'yxati:

Ikkita 940nm 5 mm infraqizil LED yoritgich

Bitta TSOP38238 infraqizil qabul qilgich

Bitta 2n3904 tranzistor

10 ohmlik bitta qarshilik

Bitta velosiped

To'rtta bitta ulagich (ixtiyoriy - men olti pinli ulagichni bitta ulagichga kesib tashladim)

AIY shlyapasiga ulanish uchun kabellar.

IQ LEDlarning birinchi oyog'ida uzun oyog'i, ikkinchisida qisqa oyog'i borligiga ishonch hosil qiling. Ikkinchi LED uzun oyog'i bilan ikkinchi qatorda, qisqa oyog'i esa uchinchi qatorda.

Uchinchi qismida tranzistor, to'rtinchisida kollektor va beshinchisida emitent bo'lishi kerak. Rezistorning tekis tomoni ulagichga qaraganligiga ishonch hosil qiling.

Rezistor beshinchi qatordan sakkizinchi qatorgacha o'tadi.

Bir qatorni ettinchi qatorga ulash uchun qisqa simdan foydalaning.

IQ qabul qilgichni ettinchi, sakkizinchi va to'qqizinchi qatorlarga ulang.

Bir, to'rt, sakkiz va to'qqizinchi qatorlarga ulagichlarni qo'shing.

Ulagichlar:

Birinchi qator - +5V quvvat

To'rtinchi qator - uzatuvchi signal

Sakkizinchi qator - er

To'qqiz qator - qabul qiluvchi signal

2 -qadam: AIY Hat -ga ulaning

AIY Hat -ga ulaning
AIY Hat -ga ulaning
AIY Hat -ga ulaning
AIY Hat -ga ulaning

Men AIY -ga ulanish ishlarini osonlashtirish uchun bosh pinlarini lehimladim.

Men ishlatgan pinlar - signal uchun Servo 0 (GPIO 26) va Servo 5 (GPIO 24). Bundan tashqari, Servo pinlari ustidagi gorizontal pimdan +5v dan foydalanardim. Men GNDdan Servo 0 yonidagi erni oldim, lekin siz xohlagan erdan foydalanishingiz mumkin.

Tegishli kabellardan foydalanib, men AIY shlyapasini taxtaga shunday bog'ladim:

Birinchi qatorga +5V

To'rtinchi qatorga Servo 0 (GPIO 26)

GND 8 -qatorga

To'rtinchi qatorga Servo 5 (GPIO 24).

3 -qadam: LIRC -ni o'rnating

Agar siz AIYni allaqachon o'rnatgan va sinovdan o'tkazgan bo'lsangiz, Biz LIRC -ni o'rnatishimiz kerak. Mirza Usmonning qimmatli ko'rsatmalariga amal qiling:

www.instructables.com/id/Install-Linux-Infrared-Remote-Control-LIRC-Package

Yoki muqobil ko'rsatmalarni bu erda Aleks Beyn topishi mumkin:

alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/

QAYD: o'rnatish uchun men /boot/config.txt faylida quyidagilar bo'lishi kerak edi:

dtoverlay = lirc-rpi, gpio_in_pin = 24, gpio_out_pin = 26

4 -qadam: Qurilmalaringiz uchun LIRC fayllarini oling yoki yarating

Bu keyingi qadamda siz foydalanmoqchi bo'lgan qurilmalar uchun pult haqidagi ma'lumotlarni o'z ichiga olgan lircd.conf faylini yaratadi.

Ushbu faylni yaratishning ikki yo'li mavjud:

1. Agar omadingiz bo'lsa, qurilmangiz uchun LIRC sahifalarida mavjud faylni topishingiz mumkin

2. Agar topa olmasangiz, u holda siz IR qabul qilgich va masofadan boshqarish pultidan foydalanib faylni yozib olishingiz kerak bo'ladi.

1 -qadam uchun LIRC bosh sahifasiga o'ting va qo'llab -quvvatlanadigan qurilmalar ro'yxatini ko'rib chiqing:

www.lirc.org/

Agar siz qurilmaga tegishli faylni topa olsangiz, unda fayldagi ma'lumotlarni lircd.conf /etc /lirc fayliga o'tkazish kerak.

Mening AIY sarlavhasiz bo'lgani uchun, men lirc.conf -ga o'zgartirishlar kiritish uchun WINScP -dan foydalanaman.

Sizga kerak bo'lgan ma'lumotlar "masofadan boshlash" bilan boshlanadi va "tugatish pulti" bilan tugaydi.

ESLATMA: Agar siz bir nechta qurilmalarni boshqarishni xohlasangiz, mavjud "masofadan boshqarish pulti" dan keyin bitta faylga qo'shimcha masofaviy kodni qo'shing. Har bir masofadan boshqarish pultining o'ziga xos nomi borligiga ishonch hosil qiling. Men televizor uchun "mytv" dan foydalanaman va osmon uchun "osmon" digibox va boshqalar.

Agar siz qurilmangiz kodini topa olmasangiz, uni yozib olishingiz kerak bo'ladi.

LIRC yordamida har bir masofadan boshqarish pultini yozishni o'rganish uchun ushbu ko'rsatmalarga amal qiling:

www.instructables.com/id/Record-Infrared-Codes-of-Any-Remote-Control-Unit-f/

Birinchi masofadan boshqarish pultini yozib olganingizdan so'ng, barcha masofadan boshqarish pultlari yozilmaguncha jarayonni takrorlang. Keyin lirc.conf faylini siz yozgan barcha kodlar bilan yangilashingiz mumkin. Men buni ovoz paneli uchun qilishim kerak edi.

5 -qadam: Qurilmalaringizni boshqarish uchun AIY kodini kiriting

AIYdan IR uzatgichni boshqarish uchun "assistant_library_with_local_commands_demo.py" fayliga kerakli o'zgartirishlarni kiriting.

Sizning kodingiz ishlayaptimi yoki yo'qligini bilish uchun "Device Start" terminalidan "assistant_library_with_local_commands_demo.py" ni ishga tushirishingiz mumkin.

Men AIY -ni yuklashni avtomatik ravishda bu erda ko'rsatmaga binoan boshlayman:

aiyprojects.withgoogle.com/voice/#makers-guide-3-4--run-your-app-automatically

Shuni yodda tutingki, agar siz kodingizni o'zgartirmoqchi bo'lsangiz, AIY ishlashini to'xtatishingiz kerak va keyin uni yana boshlashingiz kerak:

sudo xizmati my_assistant stop

sudo xizmati my_assistant boshlanishi

Qo'shilgan kod mening joriy ishchi dasturimni o'z ichiga oladi.

(E'tibor bering, bu kodda internet radiosi kabi qo'shimcha funktsiyalar ham mavjud).

Kod kerakli IR signalini uzatish uchun LIRC send_start va send_stop yuborish variantlaridan foydalanadi. Men signalni ishga tushirish va to'xtatish o'rtasida pauza qo'yish kerakligini aniqladim va bu qurilmalar o'rtasida farq qilishi mumkin (mening Panasonic televizorim osmon qutisiga qaraganda uzunroq signalni talab qiladi). Shunday qilib, masalan:

subprocess.call ('irsend SEND_START mytv KEY_POWER', shell = True)

vaqt uyqu (0,5)

subprocess.call ('irsend SEND_STOP mytv KEY_POWER', shell = True)

Signallarning kombinatsiyasini yuborish uchun, masalan, osmon telekanali, men kanal kodiga iborani belgilaydigan ro'yxat tuzdim. E'tibor bering, qachonlardir AIY har doim ham to'g'ri so'zni eshitmaydi, shuning uchun men bu iboraga (masalan, bbc 1 va bbc one, yoki "hidoyat" va "dave" so'zlarini ham qo'shganman, chunki AIY har doim men buni qaytargan) dedi "dave" - bu mening aksentim bo'lishi kerak!). Keyin men ro'yxatdagi uchta belgidan iborat kodni oladigan va har bir raqamni uzatadigan tartibdan foydalandim (modulni ko'ring ## Sky kanalini o'zgartirish tartibini ##)

Bundan tashqari, signallarning kombinatsiyasini bir nechta qurilmalarga yuborish mumkin. Masalan, menda "tizim yoqilgan" tartib bor, u televizorni, ovoz panelini yoqadi, osmon qutisini ishga tushiradi va uni BBC 1 ga o'tkazadi.

IQ uzatuvchi AIY bilan ishlagandan so'ng, uni ishlatish uchun har xil kombinatsiyalarni o'ylab ko'rish mumkin. Masalan, men ovoz panelidagi ovoz balandligini sozlash uchun vaqt buyrug'ini yuborishim mumkin.

Baxtli AIY IR masofadan boshqarish pulti!

Tavsiya: