Съдържание:

Универсално дистанционно управление с жестове с Node-MCU: 12 стъпки
Универсално дистанционно управление с жестове с Node-MCU: 12 стъпки

Видео: Универсално дистанционно управление с жестове с Node-MCU: 12 стъпки

Видео: Универсално дистанционно управление с жестове с Node-MCU: 12 стъпки
Видео: КОНСТРУКЦИЯ И ПЕЧАТНАЯ ПЛАТА SMART-ROOM-PCB 2024, Ноември
Anonim
Универсално дистанционно управление с жестове с Node-MCU
Универсално дистанционно управление с жестове с Node-MCU

Здравейте на всички и добре дошли в този проект! Аз съм доста мързелив човек и кошмарът на мързелив човек е да гледа телевизия, когато осъзнаеш, че дистанционното е твърде далеч! Разбрах, че дистанционното ми никога няма да е твърде далеч, ако го имам под ръка по всяко време. Това ме вдъхнови да създам LAZr, универсално дистанционно управление с жестове.

В този проект ще създам ръкавица, оборудвана със сензори, които могат да откриват жестове на ръцете и да изпращат сигнали към телевизор или друг уред с просто движение на пръста.

Надявам се този проект да ви хареса и да гласувате за него в лазерния конкурс Epilog!

Стъпка 1: Частите

Частите
Частите

Този проект съдържа следните части:

Ръкавица ($ 5.00)

Node-MCU / ESP8266 ($ 3,00)

Това е микроконтролерът и мозъкът на този проект. Той има способността да се свързва с WiFi, което го прави много полезен в приложенията за домашна автоматизация и в проекти като този, тъй като WiFi контролът може да бъде внедрен в този проект.

5 гъвкави сензора ($ 7,00 всеки)

Тези сензори измерват огъването, подобно на това как LDR (Light Rependist Resistor) измерва нивата на светлина. Те се използват за измерване на огъване на пръсти и жестове на ръцете.

IR предавател ($ 0,30)

Този компонент предава IR сигнали към устройства като телевизори, DVD плейъри и др.

IR приемник ($ 1,00)

Този компонент получава IR сигнали, изпратени от дистанционни. Необходимо е за декодиране на сигнали от дистанционни. След това тези сигнали могат да се използват за управление на уреда от ръкавицата. Препоръчвам TSOP4838, тъй като успешно го тествах с телевизори Sharp, Samsung и Apple.

5 10k Ohm резистора ($ 0,01 всеки)

Тези резистори са необходими за всеки от гъвкавите сензори.

Резистор 220 ома ($ 0,01 всеки)

Тези резистори са необходими за всеки от гъвкавите сензори.

Транзистор ($ 0.39)

Транзисторът се използва за IR предаване.

74HC4051N мултиплексен IC ($ 0,22)

Тъй като Node-MCU има само един аналогов порт, тази IC се използва за "разделяне" на аналоговия щифт на няколко, които са свързани към гъвкавите сензори. Повече за това по -късно.

Много джъмперни кабели! (Ако решите да използвате макет)

Следните части са незадължителни, но са полезни, ако се използват:

16 -пинов IC гнездо

Женски заглавки

Стъпка 2: IC на мултиплексора (74HC4051N)

IC мултиплексер (74HC4051N)
IC мултиплексер (74HC4051N)

Докато Node-MCU е пълен с отлични функции като съвместимост с WiFi и Arduino IDE, той има своите недостатъци. Той има само един аналогов щифт, който е недостатъчен за този проект. Тъй като ръкавицата има пет сензора за огъване, тя изисква пет аналогови входа, за да работи. Просто и евтино решение на този проблем е използването на IC мултиплексер (74HC4051N). Тази IC може да преобразува един аналогов вход в осем!

Как работи?

IC работи, като включва един аналогов вход, чете го и го изключва. След това включва следващия аналогов вход. По този начин той чете само един сензор наведнъж, изпращайки го до аналоговия щифт на микроконтролера. IC може да включва, чете и изключва аналоговите входове толкова бързо, че изглежда сякаш ги чете всички едновременно. Това е подобно на това как работят екраните на компютрите и смартфоните; Всеки пиксел не може да има свой специален щифт (това би било катастрофа!), Така че той включва и изключва пикселите толкова бързо, че очите ни ги възприемат като включени едновременно. За да функционира, IC се нуждае от три цифрови пина. Чрез промяна на комбинациите от състояния на включване и изключване на пиновете, IC може да включва и изключва всички 8 аналогови входа.

Стъпка 3: Оформление на платката

Оформление на дъската
Оформление на дъската

Оформлението на устройството е показано на изображението по -горе.

ВАЖНО: Обърнете внимание на типа транзистор, който използвате, колекторният щифт на транзистора трябва да се свърже с IR LED, а не с GND Pin.

Стъпка 4: Получаване на сигнали

За да може ръкавицата да знае правилния сигнал за изпращане, трябва да се приемат сигнали от дистанционното на вашия телевизор/уреди и да се програмират в кода на ръкавицата. За приемане на тези сигнали е необходим IR приемник.

Забележка: погледнете номера на модела на вашето дистанционно управление на телевизора и се опитайте да намерите спецификациите на сигнала онлайн. Някои IR приемници и предаватели няма да работят с някои дистанционни управления, затова е важно да намерите предавател/приемник с честота, съответстваща на вашия телевизор. Използвам 4838 IR приемник, който работи с моето дистанционно за телевизора Samsung.

Стъпка 5: Код за получаване на сигнали

Код за получаване на сигнали
Код за получаване на сигнали
Код за получаване на сигнали
Код за получаване на сигнали

За да използвате кода, библиотеката IRremoteESP8266 трябва да бъде изтеглена. Връзката за изтегляне е по -долу:

IRremoteESP8266

В IDE на Arduino отидете на Sketch> Include Library> Add. ZIP Library. Намерете двете изтеглени библиотеки и ги добавете в IDE. За достъп до кода за получаване на IR сигнали, отидете на Файл> Примери> IRremoteESP8266> IRrecvDumpV2. В кода променете стойността kRecvPin от 14 на 5. Това гарантира, че Node-MCU чете правилния щифт (D1).

След като окабелите връзките на макета, качете този код на вашия Node-MCU и отворете серийния си монитор (задайте скорост на предаване на 115200). Ако натиснете бутон на дистанционното на телевизора, сигналите ще бъдат отпечатани на вашия сериен монитор. Успех!

Ще видите дълъг набор от числа със стойността rawData. Запишете тези числа и не забравяйте да запишете бутона, който сте натиснали, за да получите тези числа. Те ще ви трябват по -късно.

Стъпка 6: Схема на печатни платки

Схема на печатни платки
Схема на печатни платки

Схемата на печатни платки е създадена в Autodesk Eagle и е както е показано на изображението по -горе. Всички файлове на Eagle са в тази инструкция и могат да бъдат изтеглени в следващата стъпка.

Стъпка 7: Дизайн на печатни платки

Дизайнът на печатни платки
Дизайнът на печатни платки

Ето моят дизайн на печатни платки. Всички файлове на Eagle за тази платка са по -долу, така че можете да използвате или промените този дизайн, за да изградите своя собствена печатна платка! Добавих SMD подложки за допълнителните 3 аналогови входа, както и 3V3 и GND порта. Това ще ми позволи да разширя тази система, ако някога се наложи, спестявайки ресурси и време и правейки платката гъвкава.

Стъпка 8: Съберете всичко заедно

Събирайки всичко заедно
Събирайки всичко заедно

След като изчаках няколко дни, най -накрая получих моите печатни платки по пощата. Сега е време за забавната част, запоявайки всичко заедно! Следвайки схемата, запояването на печатната платка беше доста лесно. В моя дизайн използвах IC гнездо и женски заглавия за моите мултиплексни IC и Node-MCU. Това е така, че мога да премахна тези чипове, ако трябва да ги заменя или използвам повторно. Ако искате по -тънък форм -фактор, не се колебайте да запоявате чиповете директно към платката, но не забравяйте, че ще бъде доста трудно да ги премахнете по -късно.

Стъпка 9: Сглобяване на ръкавицата

Сглобяване на ръкавицата
Сглобяване на ръкавицата

За да монтирам сензорите за огъване в ръкавицата, залепих малки гумени тръби в пръстите на ръкавицата и поставих сензорите в тях. По този начин сензорите имаха малко място за размахване и можеха да бъдат премахнати при необходимост. За да държа платката, я монтирах към ръкавицата с помощта на велкро лента. За пореден път всичко това зависи от вас. Можете да бъдете креативни!

Стъпка 10: Програмиране на командите

Сега, когато хардуерът е погрижен, е време за софтуера. За вашата ръкавица изтеглете кода по -долу.

За да накарате кода да работи с вашия телевизор, трябва да промените някои номера. Спомняте ли си тези числа, които сте записали? Сега е време да ги използвате. Ако нямате номера, не се притеснявайте, много е лесно да съберете тези сигнали; Просто се върнете към стъпката за получаване на IR. Копирайте набора от данни rawData и го поставете под коментара „ПОСТАВЕТЕ ДАННИ ТУК“в кода. Преименувайте този набор от данни на powerOn. Копирайте номера до powerOn (в моя случай 95). Това число е количеството числа в набора от данни. Сега отидете в долната част на кода, под коментара „DISPLAY POWER“. Заменете „95“със стойността, която сте копирали. Сега качете кода си на Node-MCU и сложете ръкавицата. Ако обърнете ръка към телевизора и огънете един от пръстите си, телевизорът ви ще се включи!

Това лесно се персонализира. За да добавите още функции, просто добавете още набори от данни и копирайте-поставете функцията DISPLAY POWER и променете нейната информация в съответния набор от данни и брой стойности. Тъй като всеки гъвкав сензор е различен, може да се наложи да промените номера "310", така че да регистрира, когато пръстът е сгънат. Можете дори да правите жестове с няколко пръста и „главни превключватели“. Например, коригирах кода си така, че когато огъвам безименния си палец и палеца, силата на звука на телевизора ми заглушава и източникът се променя. Възможностите за разширяване са безкрайни!

Стъпка 11: Готово е

Готово е!
Готово е!
Готово е!
Готово е!

Ето го, универсално дистанционно управление на телевизора с жестове! Надявам се, че този проект ви е харесал и се надявам да гласувате за мен в конкурса Epilog Laser. Ако имате въпроси, не се колебайте да напишете коментар и аз ще се постарая да отговоря на тях. Още веднъж се надявам да ви хареса!

Препоръчано: