Cuprins:

Telecomandă universală controlată prin gesturi cu Node-MCU: 12 pași
Telecomandă universală controlată prin gesturi cu Node-MCU: 12 pași

Video: Telecomandă universală controlată prin gesturi cu Node-MCU: 12 pași

Video: Telecomandă universală controlată prin gesturi cu Node-MCU: 12 pași
Video: Masina 4x4 Rock Crawler Controlabila prin Gesturi si Telecomanda - www.taggo.ro 2024, Noiembrie
Anonim
Telecomandă universală controlată prin gesturi cu Node-MCU
Telecomandă universală controlată prin gesturi cu Node-MCU

Bună ziua tuturor și bine ați venit la acest proiect! Sunt o persoană destul de leneșă și coșmarul unei persoane leneș este să mă uit la televizor când îți dai seama că telecomanda este prea departe! Mi-am dat seama că telecomanda mea nu va fi niciodată prea departe dacă o voi avea la îndemână tot timpul. Asta m-a inspirat să creez LAZr, telecomanda universală controlată prin gesturi.

În acest proiect, voi crea o mănușă echipată cu senzori care pot detecta gesturile mâinilor și pot trimite semnale către un televizor sau alt aparat printr-o simplă mișcare a degetului.

Sper să vă placă acest proiect și să îl votați în Epilog Laser Contest!

Pasul 1: piesele

Părțile
Părțile

Acest proiect conține următoarele părți:

O mănușă (5,00 USD)

Node-MCU / ESP8266 (3,00 USD)

Acesta este microcontrolerul și creierul acestui proiect. Are capacitatea de a se conecta la WiFi, ceea ce îl face foarte util în aplicațiile de automatizare a casei și în proiecte precum acesta, deoarece controlul WiFi poate fi implementat în acest proiect.

5 senzori flexibili (7,00 USD fiecare)

Acești senzori măsoară îndoirea, similar cu modul în care un LDR (Light Dependent Resistor), măsoară nivelurile de lumină. Acestea sunt folosite pentru a măsura îndoirea degetelor și gesturile mâinilor.

Transmițător IR (0,30 USD)

Această componentă transmite semnale IR către dispozitive precum televizoare, DVD playere etc.

Receptor IR (1,00 USD)

Această componentă primește semnale IR trimise prin telecomenzi. Este necesar pentru a decoda semnalele de la telecomenzi. Aceste semnale pot fi apoi utilizate pentru a controla aparatul din mănușă. Recomand TSOP4838 deoarece l-am testat cu succes cu televizoarele Sharp, Samsung și Apple.

5 rezistențe de 10 k ohmi (0,01 USD fiecare)

Aceste rezistențe sunt necesare pentru fiecare dintre senzorii flexibili.

Rezistor 220 Ohm (0,01 USD fiecare)

Aceste rezistențe sunt necesare pentru fiecare dintre senzorii flexibili.

Tranzistor (0,39 dolari)

Tranzistorul este utilizat pentru transmiterea IR.

IC multiplexor 74HC4051N (0,22 dolari)

Deoarece Node-MCU are un singur port analogic, acest IC este utilizat pentru a „împărți” pinul analogic în mai mulți, care sunt conectați la senzorii flex. Mai multe despre asta mai târziu.

O mulțime de cabluri jumper! (Dacă decideți să utilizați un panou de analiză)

Următoarele părți sunt opționale, dar sunt utile dacă sunt utilizate:

Priză IC cu 16 pini

Anteturi feminine

Pasul 2: IC multiplexor (74HC4051N)

IC multiplexor (74HC4051N)
IC multiplexor (74HC4051N)

În timp ce Node-MCU este dotat cu caracteristici excelente, cum ar fi compatibilitatea IDE WiFi și Arduino, are dezavantajele sale. Are doar un pin analogic, care este insuficient pentru acest proiect. Deoarece mănușa are cinci senzori flexibili, este nevoie de cinci intrări analogice pentru a funcționa. O soluție simplă și ieftină la această problemă este utilizarea unui multiplexor IC (74HC4051N). Acest IC poate converti o intrare analogică în opt!

Cum functioneazã?

IC funcționează pornind o intrare analogică, citind-o și oprind-o. Apoi pornește următoarea intrare analogică. Făcând acest lucru, citește doar un senzor odată, trimitându-l la pinul analogic al microcontrolerului. IC-ul poate activa, citi și opri intrările analogice atât de repede încât pare că le citește pe toate în același timp. Acest lucru este similar cu modul în care funcționează ecranele computerelor și smartphone-urilor; Fiecare pixel nu poate avea propriul pin desemnat (ar fi un dezastru!), Așa că pornește și oprește pixelii atât de repede încât ochii noștri îi percep pe toți ca fiind aprinși în același timp. Pentru a funcționa, IC are nevoie de trei pini digitali. Prin schimbarea combinațiilor stărilor de pornire și oprire ale pinilor, IC-ul poate activa și dezactiva toate cele 8 intrări analogice.

Pasul 3: Aspectul panoului de calcul

Aspectul panoului de calcul
Aspectul panoului de calcul

Aspectul dispozitivului este prezentat în imaginea de mai sus.

IMPORTANT: Rețineți tipul de tranzistor pe care îl utilizați, pinul colector al tranzistorului ar trebui să se conecteze la LED-ul IR și nu la pinul GND.

Pasul 4: Primirea semnalelor

Pentru ca mănușa să știe semnalul corect de trimis, semnalele trebuie să fie primite de la telecomanda TV / aparate și programate în codul mănușii. Pentru a primi aceste semnale, este necesar un receptor IR.

Notă: aruncați o privire la numărul de model al telecomenzii dvs. TV și încercați să găsiți specificațiile semnalului online. Unele receptoare și emițătoare IR nu vor funcționa cu unele telecomenzi, deci este important să găsiți un emițător / receptor cu frecvența corespunzătoare televizorului. Folosesc un receptor 4838 IR care funcționează cu telecomanda Samsung TV.

Pasul 5: Cod pentru primirea semnalelor

Cod pentru primirea semnalelor
Cod pentru primirea semnalelor
Cod pentru primirea semnalelor
Cod pentru primirea semnalelor

Pentru a utiliza codul, biblioteca IRremoteESP8266 trebuie descărcată. Link-ul de descărcare este mai jos:

IRremoteESP8266

În IDE-ul Arduino, accesați Sketch> Include Library> Add. ZIP Library. Găsiți cele două biblioteci descărcate și adăugați-le în IDE. Pentru a accesa codul pentru a primi semnale IR, accesați Fișier> Exemple> IRremoteESP8266> IRrecvDumpV2. În cod, modificați valoarea kRecvPin de la 14 la 5. Acest lucru asigură faptul că Node-MCU citește pinul corect (D1).

După conectarea conexiunilor plăcii, încărcați acest cod pe Node-MCU și deschideți monitorul serial (setați rata de transmisie la 115200). Dacă apăsați un buton de pe telecomanda televizorului, semnalele vor fi imprimate pe monitorul dvs. serial. Succes!

Veți vedea un set lung de numere cu valoarea rawData. Înregistrați aceste numere și asigurați-vă că înregistrați butonul pe care l-ați apăsat pentru a obține aceste numere. Veți avea nevoie de acestea mai târziu.

Pasul 6: Schema PCB

Schema PCB
Schema PCB

Schema PCB a fost creată în Autodesk Eagle și este așa cum se arată în imaginea de mai sus. Toate fișierele Eagle se află în acest instructabil și pot fi descărcate în pasul următor.

Pasul 7: Proiectarea PCB

Designul PCB
Designul PCB

Iată designul meu PCB. Toate fișierele Eagle pentru această placă de circuit sunt mai jos, deci puteți utiliza sau modifica acest design pentru a vă crea propriul PCB! Am adăugat tampoane SMD pentru cele 3 intrări analogice suplimentare, precum și portul 3V3 și GND. Acest lucru îmi va permite să extind acest sistem dacă am nevoie vreodată, economisind resurse și timp și făcând PCB versatil.

Pasul 8: Puneți totul împreună

Punând totul împreună
Punând totul împreună

După ce am așteptat câteva zile, în cele din urmă mi-am luat PCB-urile prin poștă. Acum este timpul pentru partea distractivă, lipind totul împreună! Urmând schema, lipirea PCB-ului a fost destul de ușoară. În proiectarea mea, am folosit o priză IC și anteturi de sex feminin pentru multiplexorul meu IC și Node-MCU. Asta pentru a putea elimina aceste cipuri Dacă trebuie să le înlocuiesc sau să le refolosesc. Dacă doriți un factor de formă mai subțire, nu ezitați să lipiți jetoanele direct pe tablă, dar amintiți-vă că va fi destul de dificil să le eliminați mai târziu.

Pasul 9: Asamblarea mănușii

Punând împreună mănușa
Punând împreună mănușa

Pentru a instala senzorii flex în mănușă, am lipit tuburi mici de cauciuc în degetele mănușii și am așezat senzorii în ele. În acest fel, senzorii aveau spațiu de mișcare și puteau fi îndepărtați în caz de nevoie. Pentru a ține PCB-ul, l-am montat pe mănușă folosind niște bandă de velcro. Încă o dată pune totul împreună depinde de tine. Poți fi creativ!

Pasul 10: Programarea comenzilor

Acum că hardware-ul este îngrijit, este timpul pentru software. Pentru mănușa ta, descarcă codul de mai jos.

Pentru ca codul să funcționeze cu televizorul dvs., trebuie să schimbați unele numere. Îți amintești acele numere pe care le-ai notat? Acum este timpul să le folosim. Dacă nu aveți numerele, nu vă faceți griji, este foarte ușor să colectați aceste semnale; Pur și simplu reveniți la Pasul de primire IR. Copiați setul de date rawData și lipiți-l sub comentariul „PASTE DATA AICI” în cod. Redenumiți acest set de date la powerOn. Copiați numărul de lângă powerOn (în cazul meu 95). Acest număr este cantitatea de numere din setul de date. Acum, accesați partea de jos a codului, sub comentariul „DISPLAY POWER”. Înlocuiți „95” cu valoarea pe care ați copiat-o. Acum, încărcați codul pe Node-MCU și puneți mănușa. Dacă vă îndreptați mâna spre televizor și îndoiți unul dintre degete, televizorul dvs. se va aprinde!

Acest lucru este ușor de personalizat. Pentru a adăuga mai multe funcții, pur și simplu adăugați mai multe seturi de date și copiați-lipiți funcția DISPLAY POWER și schimbați-le informațiile în setul de date corespunzător și numărul de valori. Deoarece fiecare senzor flexibil este diferit, poate fi necesar să schimbați numărul „310”, astfel încât să se înregistreze când degetul este pliat. Puteți face chiar gesturi cu mai multe degete și „comutatoare master”. De exemplu, mi-am ajustat codul astfel încât, atunci când îmi îndoi degetul inelar și degetul mare, volumul televizorului să se oprească și sursa să se schimbe. Posibilitățile de extindere sunt nelimitate!

Pasul 11: S-a terminat

Este gata!
Este gata!
Este gata!
Este gata!

Iată-l, o telecomandă TV controlată prin gesturi universale! Sper că ți-a plăcut acest proiect și sper să mă votezi în concursul Epilog Laser. Dacă aveți întrebări, nu ezitați să scrieți un comentariu și voi încerca tot posibilul să le răspund. Încă o dată, sper că ți-a plăcut!

Recomandat: