Indholdsfortegnelse:

Gestusstyret universel fjernbetjening med Node-MCU: 12 trin
Gestusstyret universel fjernbetjening med Node-MCU: 12 trin

Video: Gestusstyret universel fjernbetjening med Node-MCU: 12 trin

Video: Gestusstyret universel fjernbetjening med Node-MCU: 12 trin
Video: Makeblock Untimate Robot Kit Part 2 : Robtic Arm Explaine, Software, Code App and Having Fun demo 2024, November
Anonim
Gestusstyret universal fjernbetjening med Node-MCU
Gestusstyret universal fjernbetjening med Node-MCU

Hej alle sammen og velkommen til dette projekt! Jeg er en ganske doven person, og en doven persons mareridt er at se tv, når du indser, at fjernbetjeningen er for langt væk! Jeg indså, at min fjernbetjening aldrig vil være for langt væk, hvis jeg hele tiden har den ved hånden. Det inspirerede mig til at oprette LAZr, den gestusstyrede universelle fjernbetjening.

I dette projekt vil jeg skabe en handske udstyret med sensorer, der er i stand til at registrere håndbevægelser og kan sende signaler til et tv eller andet apparat med en simpel fingerbevægelse.

Jeg håber, at du kan lide dette projekt og stemme på det i Epilog Laser Contest!

Trin 1: Delene

Dele
Dele

Dette projekt indeholder følgende dele:

En handske ($ 5,00)

Node-MCU / ESP8266 ($ 3,00)

Dette er mikrokontrolleren og hjernen i dette projekt. Det har mulighed for at oprette forbindelse til WiFi, hvilket gør det meget nyttigt i hjemmeautomatiseringsapplikationer og i projekter som dette, da WiFi -kontrol kan implementeres i dette projekt.

5 Flex -sensorer ($ 7,00 hver)

Disse sensorer måler bøjning, svarende til hvordan en LDR (Light Dependent Resistor) måler lysniveauer. Disse bruges til at måle fingerbøjning og håndbevægelser.

IR -sender ($ 0,30)

Denne komponent sender IR -signaler til enheder som f.eks. Fjernsyn, dvd -afspillere osv.

IR -modtager ($ 1,00)

Denne komponent modtager IR -signaler sendt af fjernbetjeninger. Det er nødvendigt for at afkode signaler fra fjernbetjeninger. Disse signaler kan derefter bruges til at styre apparatet fra handsken. Jeg anbefaler TSOP4838, da jeg med succes har testet den med Sharp, Samsung og Apple TV.

5 10k Ohm modstande ($ 0,01 hver)

Disse modstande er nødvendige for hver af Flex -sensorerne.

220 Ohm modstand ($ 0,01 hver)

Disse modstande er nødvendige for hver af Flex -sensorerne.

Transistor ($ 0,39)

Transistoren bruges til IR -transmission.

74HC4051N Multiplexer IC ($ 0,22)

Da Node-MCU kun har en analog port, bruges denne IC til at "opdele" den analoge pin i flere, som er forbundet til flex-sensorerne. Mere om dette senere.

Masser af springkabler! (Hvis du beslutter dig for at bruge et brødbræt)

Følgende dele er valgfri, men er nyttige, hvis de bruges:

16 -benet IC -fatning

Kvindelige overskrifter

Trin 2: Multiplexer IC (74HC4051N)

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

Mens Node-MCU er spækket med fremragende funktioner såsom WiFi og Arduino IDE-kompatibilitet, har det sine ulemper. Den har kun en analog pin, som er utilstrækkelig til dette projekt. Da handsken har fem flexsensorer, kræver det fem analoge indgange for at fungere. En enkel og billig løsning på dette problem er at bruge en Multiplexer IC (74HC4051N). Denne IC er i stand til at konvertere en analog indgang til otte!

Hvordan virker det?

IC'en fungerer ved at tænde en analog indgang, læse den og slukke den. Den tænder derefter for den næste analoge indgang. Ved at gøre dette læser den kun en sensor ad gangen og sender den til mikrokontrollerens analoge pin. IC'en er i stand til at tænde, læse og slukke de analoge indgange så hurtigt, at det ser ud til, at det læser dem alle på samme tid. Dette ligner, hvordan computer- og smartphone -skærme fungerer; Hver pixel kan ikke have sin egen udpegede pin (det ville være en katastrofe!), Så den tænder og slukker pixels så hurtigt, at vores øjne opfatter dem alle på samme tid. For at fungere har IC brug for tre digitale ben. Ved at ændre kombinationerne af stifternes tænd- og sluk -tilstand kan IC'en tænde og slukke alle 8 analoge indgange.

Trin 3: Layout på brødbræt

Brødbræt Layout
Brødbræt Layout

Enhedens layout er vist på billedet ovenfor.

VIGTIGT: Vær opmærksom på den type transistor, du bruger, transistorens kollektorstift skal tilsluttes IR -LED'en og ikke GND -stiften.

Trin 4: Modtagelse af signaler

For at handsken skal kende det korrekte signal, der skal sendes, skal der modtages signaler fra fjernsynets/apparatets fjernbetjening og programmeres i handskens kode. For at modtage disse signaler er en IR -modtager nødvendig.

Bemærk: tag et kig på tv -fjernbetjeningens modelnummer, og prøv at finde signalspecifikationerne online. Nogle IR -modtagere og -sendere fungerer ikke med nogle fjernbetjeninger, så det er vigtigt at finde en sender/modtager med den frekvens, der svarer til dit tv. Jeg bruger en 4838 IR -modtager, der fungerer med min Samsung TV -fjernbetjening.

Trin 5: Kode til modtagelse af signaler

Kode til modtagelse af signaler
Kode til modtagelse af signaler
Kode til modtagelse af signaler
Kode til modtagelse af signaler

For at bruge koden skal IRremoteESP8266 -biblioteket downloades. Downloadlinket er herunder:

IR fjernbetjeningESP8266

I Arduino IDE skal du gå til Skitse> Inkluder bibliotek> Tilføj. ZIP -bibliotek. Find de to downloadede biblioteker, og tilføj dem i IDE. For at få adgang til koden for at modtage IR -signaler skal du gå til Filer> Eksempler> IRremoteESP8266> IRrecvDumpV2. I koden ændres værdien kRecvPin fra 14 til 5. Dette sikrer, at Node-MCU læser den korrekte pin (D1).

Efter at have tilsluttet brødbrætforbindelserne, skal du uploade denne kode til din Node-MCU og åbne din serielle skærm (indstil baudhastighed til 115200). Hvis du trykker på en knap på din fjernsyns fjernbetjening, udskrives signalerne på din serielle skærm. Succes!

Du vil se et langt antal numre med værdien rawData. Registrer disse numre, og sørg for at optage den knap, du trykkede på for at få disse numre. Du får brug for disse senere.

Trin 6: PCB skematisk

PCB skematisk
PCB skematisk

PCB -skematikken blev oprettet i Autodesk Eagle og er som vist på billedet ovenfor. Alle Eagle -filer er i denne instruktionsbog og kan downloades i det næste trin.

Trin 7: PCB -designet

PCB -designet
PCB -designet

Her er mit PCB -design. Alle Eagle -filer til dette printkort er nedenfor, så du kan bruge eller ændre dette design til at bygge dit eget printkort! Jeg har tilføjet SMD -pads til de ekstra 3 analoge indgange samt 3V3 og GND -porten. Dette giver mig mulighed for at udvide dette system, hvis jeg nogensinde har brug for det, hvilket sparer ressourcer og tid og gør PCB alsidigt.

Trin 8: Sæt det hele sammen

Samler det hele
Samler det hele

Efter at have ventet et par dage, fik jeg endelig mine printkort med posten. Nu er det tid til den sjove del, lodning det hele sammen! Ved at følge skematikken var lodning af printkortet ret let. I mit design brugte jeg en IC-fatning og hunhoveder til min multiplexer IC og Node-MCU. Dette er for at jeg kan fjerne disse chips, hvis jeg skal udskifte eller genbruge dem. Hvis du gerne vil have en slankere formfaktor, er du velkommen til at lodde chipsene direkte til brættet, men husk at det vil være ret svært at fjerne disse senere.

Trin 9: Sæt handsken sammen

At sætte handsken sammen
At sætte handsken sammen

For at installere flexsensorerne i handsken limede jeg små gummirør ind i handskens fingre og placerede sensorerne i dem. På denne måde havde sensorerne noget vrimlerum og kunne fjernes efter behov. For at holde printkortet monterede jeg det på handsken ved hjælp af velcrobånd. Endnu en gang er det op til dig at sammensætte dette. Du kan være kreativ!

Trin 10: Programmering af kommandoer

Nu hvor hardwaren er taget sig af, er det tid til softwaren. Til din handske skal du downloade koden herunder.

For at få koden til at fungere med dit tv, skal du ændre nogle tal. Kan du huske de tal, du skrev ned? Nu er det tid til at bruge dem. Hvis du ikke har tallene, skal du ikke bekymre dig, det er meget let at indsamle disse signaler; Gå blot tilbage til IR -modtagelsestrin. Kopier datasættet rawData, og indsæt det under kommentaren "PASTE DATA HERE" i koden. Omdøb dette datasæt til powerOn. Kopiér nummeret ved siden af powerOn (i mit tilfælde 95). Dette tal er mængden af tal i datasættet. Gå nu til bunden af koden under kommentaren "DISPLAY POWER". Erstat "95" med den værdi, du kopierede. Upload nu din kode til Node-MCU og tag handsken på. Hvis du vender din hånd mod fjernsynet og bøjer en af dine fingre, tændes dit tv!

Dette kan let tilpasses. Hvis du vil tilføje flere funktioner, skal du blot tilføje flere datasæt og kopiere og indsætte funktionen DISPLAY POWER og ændre dens oplysninger til det tilhørende datasæt og antal værdier. Da hver flex -sensor er forskellig, skal du muligvis ændre tallet "310", så det registreres, når fingeren er foldet. Du kan endda lave flere fingerbevægelser og "master switches". For eksempel justerede jeg min kode, så når jeg bøjer min ringfinger og tommelfinger, dæmpes lydstyrken på mit tv, og kilden ændres. Mulighederne for udvidelse er uendelige!

Trin 11: Dens Done

Det er gjort!
Det er gjort!
Det er gjort!
Det er gjort!

Der har du det, en universel gestusstyret tv -fjernbetjening! Jeg håber, at du kunne lide dette projekt, og jeg håber, at du stemmer på mig i Epilog Laser -konkurrencen. Hvis du har spørgsmål, er du velkommen til at skrive en kommentar, og jeg vil gøre mit bedste for at besvare dem. Endnu en gang håber jeg, at du kunne lide det!

Anbefalede: