Mündəricat:

Node-MCU ilə Jest Nəzarətli Universal Uzaqdan: 12 Addım
Node-MCU ilə Jest Nəzarətli Universal Uzaqdan: 12 Addım

Video: Node-MCU ilə Jest Nəzarətli Universal Uzaqdan: 12 Addım

Video: Node-MCU ilə Jest Nəzarətli Universal Uzaqdan: 12 Addım
Video: NodeMCU ESP8266 WiFi İnkişaf lövhəsinə HTTP Müştəri nümunəsi ilə giriş 2024, Noyabr
Anonim
Node-MCU ilə Jest İdarə Edilən Universal Uzaqdan
Node-MCU ilə Jest İdarə Edilən Universal Uzaqdan

Hər kəsə salam və bu layihəyə xoş gəldiniz! Mən olduqca tənbəl insanam və tənbəl adamın kabusu uzaqdan uzaqda olduğunu başa düşəndə televizora baxmaqdır! Həmişə əlimdə olsaydı uzaqdan idarəetmə cihazımın heç vaxt çox uzaqda olmayacağını başa düşdüm. Bu mənə jestlə idarə olunan universal uzaqdan idarəetmə cihazı olan LAZr yaratmağa ilham verdi.

Bu layihədə, əl hərəkətlərini aşkar edə bilən və sadə bir barmaq hərəkəti ilə televizora və ya başqa bir cihaza siqnal göndərə bilən sensorlar ilə təchiz edilmiş bir əlcək yaradacağam.

Ümid edirəm ki, bu layihəni bəyənirsiniz və Epilog Lazer Yarışmasında buna səs verirsiniz!

Addım 1: Parçalar

Parçalar
Parçalar

Bu layihə aşağıdakı hissələrdən ibarətdir:

Əlcək (5.00 dollar)

Node-MCU / ESP8266 ($ 3.00)

Bu mikrokontrolör və bu layihənin beyinləridir. WiFi -yə qoşulma qabiliyyətinə malikdir ki, bu da ev avtomatlaşdırma tətbiqlərində və buna bənzər layihələrdə çox faydalıdır, çünki WiFi nəzarəti bu layihəyə tətbiq oluna bilər.

5 Flex Sensor (hər biri 7.00 dollar)

Bu sensorlar, LDR (İşığa Bağlı Rezistor) işığının səviyyəsini ölçdüyü kimi əyilməni ölçür. Bunlar barmaqların əyilməsini və əl hərəkətlərini ölçmək üçün istifadə olunur.

IR ötürücü ($ 0.30)

Bu komponent IR siqnallarını televizorlar, DVD pleyerlər və s.

IR qəbuledicisi (1.00 dollar)

Bu komponent uzaqdan göndərilən IR siqnallarını alır. Uzaqdan gələn siqnalları deşifr etmək lazımdır. Bu siqnallar cihazı əlcəkdən idarə etmək üçün istifadə edilə bilər. Sharp, Samsung və Apple TV ilə uğurla sınadığım üçün TSOP4838 -i tövsiyə edirəm.

5 ədəd 10k Ohm rezistor (hər biri 0,01 dollar)

Bu rezistorlar Flex Sensorların hər biri üçün lazımdır.

220 Ohm Rezistor (hər biri 0,01 dollar)

Bu rezistorlar Flex Sensorların hər biri üçün lazımdır.

Transistor (0.39 dollar)

Transistor IR ötürülməsi üçün istifadə olunur.

74HC4051N Multiplexer IC (0,22 dollar)

Node-MCU-nun yalnız bir analoq portu olduğundan, bu IC, analoq pinini əyilmə sensorlarına qoşulmuş bir neçə hissəyə "bölmək" üçün istifadə olunur. Bu barədə daha sonra.

Çoxlu keçid kabelləri! (Çörək taxtasından istifadə etmək qərarına gəlsəniz)

Aşağıdakı hissələr isteğe bağlıdır, lakin istifadə edildikdə faydalıdır:

16 pinli IC yuvası

Qadın başlıqları

Addım 2: Multiplexer IC (74HC4051N)

Multiplexer IC (74HC4051N)
Multiplexer IC (74HC4051N)

Node-MCU, WiFi və Arduino IDE uyğunluğu kimi əla xüsusiyyətlərlə dolu olsa da, çatışmazlıqları var. Bu layihə üçün kifayət etməyən yalnız bir analoq pin var. Əlcəyin beş əyilmə sensoru olduğu üçün işləmək üçün beş analoq giriş tələb olunur. Bu problemin sadə və ucuz həlli Multiplexer IC (74HC4051N) istifadə etməkdir. Bu IC bir analoq girişi səkkizə çevirə bilir!

Bu necə işləyir?

IC, bir analoq girişi yandırmaq, oxumaq və söndürməklə işləyir. Daha sonra növbəti analoq girişi işə salır. Bunu etməklə bir anda yalnız bir sensoru oxuyur və onu mikrokontrolörün analog pininə göndərir. IC, analoq girişləri o qədər tez aça, oxuya və söndürə bilir ki, sanki hamısını eyni anda oxuyur. Bu, kompüter və smartfon ekranlarının işləməsinə bənzəyir; Hər pikselin öz təyin etdiyi pin ola bilməz (bu fəlakət olardı!), Buna görə də pikselləri o qədər sürətlə açar və söndürər ki, gözlərimiz hamısını eyni anda algılar. IC -nin işləməsi üçün üç rəqəmsal pin lazımdır. Pimlərin açma və söndürmə vəziyyətlərinin birləşməsini dəyişdirərək, IC bütün 8 analoq girişi yandırıb söndürə bilir.

Addım 3: Breadboard Layout

Çörək lövhəsi düzeni
Çörək lövhəsi düzeni

Cihazın düzeni yuxarıdakı şəkildə göstərilmişdir.

ƏHƏMİYYƏTLİ: İstifadə etdiyiniz tranzistorun növünə diqqət yetirin, tranzistorun kollektor pimi GND Pininə deyil, İQ LEDinə qoşulmalıdır.

Addım 4: Siqnalların qəbulu

Əlcəyin göndərilməli olan düzgün siqnalı bilməsi üçün siqnallar televizorunuzdan/cihazlarınızdan uzaqdan alınmalı və əlcək koduna daxil edilməlidir. Bu siqnalları almaq üçün İR qəbuledicisi lazımdır.

Qeyd: TV pultunuzun model nömrəsinə baxın və onlayn olaraq siqnal xüsusiyyətlərini tapmağa çalışın. Bəzi IR qəbulediciləri və ötürücüləri bəzi pultlarla işləməyəcək, buna görə də televizorunuza uyğun olan tezliyə malik bir ötürücü/alıcı tapmaq vacibdir. Samsung TV pultumla işləyən 4838 IR Reciever istifadə edirəm.

Addım 5: Siqnalların alınması üçün kod

Siqnalların qəbulu üçün kod
Siqnalların qəbulu üçün kod
Siqnalların qəbulu üçün kod
Siqnalların qəbulu üçün kod

Kodu istifadə etmək üçün IRremoteESP8266 kitabxanasını yükləmək lazımdır. Yükləmə linki aşağıda:

IRremoteESP8266

Arduino IDE -də, Sketch> Kitabxanaya daxil et> ZIP Kitabxanası əlavə edin. Yüklənmiş iki kitabxananı tapın və IDE -yə əlavə edin. IR siqnallarını almaq üçün kodu əldə etmək üçün Fayl> Nümunələr> IRremoteESP8266> IRrecvDumpV2 bölməsinə keçin. Kodda kRecvPin dəyərini 14-dən 5-ə dəyişin. Bu, Node-MCU-nun düzgün pin (D1) oxuduğunu təmin edir.

Çörək taxtası əlaqələrini bağladıqdan sonra bu kodu Node-MCU'nuza yükləyin və seriyalı monitorunuzu açın (baud dərəcəsini 115200 olaraq təyin edin). Televizorunuzun pultundakı bir düyməni basarsanız, siqnallar serial monitorunuza yazılacaq. Uğur!

RawData dəyəri olan uzun bir ədəd dəsti görəcəksiniz. Bu nömrələri qeyd edin və bu nömrələri əldə etmək üçün basdığınız düyməni yazdığınızdan əmin olun. Daha sonra bunlara ehtiyacınız olacaq.

Addım 6: PCB Şematik

PCB Şematik
PCB Şematik

PCB Şematik Autodesk Eagle -də yaradılmışdır və yuxarıdakı şəkildə göstərildiyi kimidir. Bütün Eagle faylları bu Təlimatdadır və növbəti addımda yüklənə bilər.

Addım 7: PCB Dizaynı

PCB Dizaynı
PCB Dizaynı

Budur mənim PCB dizaynım. Bu elektron kart üçün bütün Eagle sənədləri aşağıda verilmişdir, buna görə də öz PCB qurmaq üçün bu dizayndan istifadə edə və ya dəyişdirə bilərsiniz! Əlavə 3 analoq giriş üçün 3V3 və GND portu üçün SMD yastıqları əlavə etdim. Bu, ehtiyac duyduğum zaman bu sistemi genişləndirməyimə, resurslara və vaxta qənaət etməyə və PCB -ni çox yönlü hala gətirməyə imkan verəcəkdir.

Addım 8: Hamısını bir yerə yığın

Hamısını bir araya gətirmək
Hamısını bir araya gətirmək

Bir neçə gün gözlədikdən sonra nəhayət PCB -lərimi poçtla aldım. İndi hamısını birlikdə lehimləməklə əyləncəli hissənin vaxtı gəldi! Şemaya uyğun olaraq, PCB -ni lehimləmək olduqca asan idi. Dizaynımda, IC və Node-MCU multiplekserim üçün bir IC yuvası və qadın başlıqlarından istifadə etdim. Bu çipləri dəyişdirməyim və ya yenidən istifadə etməyim lazım olduqda onları silə biləcəyim üçün. Daha incə bir forma istəsəniz, çipləri birbaşa lövhəyə lehimləməkdən çekinmeyin, amma unutmayın ki, bunları sonradan çıxarmaq olduqca çətin olacaq.

Addım 9: Əlcəyi bir araya gətirin

Əlcəyi Bir araya gətirmək
Əlcəyi Bir araya gətirmək

Fleks sensorlarını əlcəyə quraşdırmaq üçün əlcəyin barmaqlarına kiçik rezin borular yapışdırdım və sensörləri içlərinə qoydum. Bu yolla sensorlar bir az tərəddüd edir və lazım olduqda çıxarıla bilər. PCB -ni tutmaq üçün cırtdan lentdən istifadə edərək əlcəyə bağladım. Bir daha bunu bir araya gətirmək hər şey sizə bağlıdır. Yaradıcı ola bilərsiniz!

Addım 10: Əmrlərin proqramlaşdırılması

İndi hardware ilə maraqlandıqdan sonra, proqram təminatının vaxtıdır. Əlcək üçün aşağıdakı kodu yükləyin.

Kodun televizorunuzla işləməsi üçün bəzi nömrələri dəyişdirməlisiniz. Yazdığınız nömrələri xatırlayırsınızmı? İndi onlardan istifadə etməyin vaxtıdır. Nömrələriniz yoxdursa, narahat olmayın, bu siqnalları toplamaq çox asandır; Sadəcə IR Alma Adımına qayıdın. Datababanı rawData -dan kopyalayın və koddakı "VERİLƏRİ BURADA YAP" şərhinin altına yapışdırın. Bu verilənlər bazasının adını powerOn olaraq dəyişdirin. PowerOn -un yanındakı nömrəni kopyalayın (mənim vəziyyətimdə 95). Bu rəqəm, verilənlər bazasındakı ədədlərin miqdarıdır. İndi kodun altına, şərhin altına "GÜCÜ GÖSTƏR" yazın. "95" -i kopyaladığınız dəyərlə əvəz edin. İndi kodunuzu Node-MCU-ya yükləyin və əlcəyi taxın. Əlinizi televizora tutub barmaqlarınızdan birini əysəniz, televizorunuz açılacaq!

Bu asanlıqla özelleştirilebilir. Daha çox funksiya əlavə etmək üçün sadəcə daha çox məlumat toplusu əlavə edin və DISPLAY POWER funksiyasını kopyalayıb yapışdırın və məlumatını müvafiq verilənlər bazasına və dəyərlərin sayına dəyişin. Hər bir əyilmə sensoru fərqli olduğu üçün barmağınızı büküldükdə qeydiyyatdan keçməsi üçün "310" rəqəmini dəyişdirməli ola bilərsiniz. Hətta çox barmaq hərəkətləri və "usta keçidlər" edə bilərsiniz. Məsələn, kodumu elə düzəltdim ki, üzük barmağımı və baş barmağımı bükəndə televizorumun səsi sönür və mənbə dəyişir. Genişləndirmə imkanları sonsuzdur!

Addım 11: Tamamlandı

Tamamlandı!
Tamamlandı!
Tamamlandı!
Tamamlandı!

Budur, universal bir jestlə idarə olunan TV pultu! Ümid edirəm bu layihəni bəyənmisiniz və ümid edirəm ki, Epilog Laser yarışmasında mənə səs verəcəksiniz. Hər hansı bir sualınız varsa, şərh yazmaqdan çekinmeyin və cavablandırmaq üçün əlimdən gələni edəcəyəm. Bir daha ümid edirəm ki, xoşunuza gəldi!

Tövsiyə: