Inhaltsverzeichnis:

Gestengesteuerte Universalfernbedienung mit Node-MCU - Gunook
Gestengesteuerte Universalfernbedienung mit Node-MCU - Gunook

Video: Gestengesteuerte Universalfernbedienung mit Node-MCU - Gunook

Video: Gestengesteuerte Universalfernbedienung mit Node-MCU - Gunook
Video: Gestengesteuerte Drohne: Lass Das Flugabenteuer Beginnen 2024, November
Anonim
Gestengesteuerte Universalfernbedienung mit Node-MCU
Gestengesteuerte Universalfernbedienung mit Node-MCU

Hallo zusammen und willkommen zu diesem Projekt! Ich bin ein ziemlich fauler Mensch und der Albtraum eines faulen Menschen ist es, fernzusehen, wenn man merkt, dass die Fernbedienung zu weit weg ist! Mir wurde klar, dass meine Fernbedienung nie zu weit weg sein wird, wenn ich sie immer zur Hand habe. Das hat mich dazu inspiriert, LAZr zu entwickeln, die gestengesteuerte Universalfernbedienung.

In diesem Projekt entwickle ich einen Handschuh, der mit Sensoren ausgestattet ist, die Handgesten erkennen und mit einer einfachen Fingerbewegung Signale an einen Fernseher oder ein anderes Gerät senden können.

Ich hoffe, dass Ihnen dieses Projekt gefällt und Sie beim Epilog Laser Contest dafür stimmen!

Schritt 1: Die Teile

Die Teile
Die Teile

Dieses Projekt enthält die folgenden Teile:

Ein Handschuh (5,00 $)

Knoten-MCU / ESP8266 ($ 3,00)

Dies ist der Mikrocontroller und das Gehirn dieses Projekts. Es hat die Fähigkeit, sich mit WiFi zu verbinden, was es in Heimautomatisierungsanwendungen und in Projekten wie diesem sehr nützlich macht, da die WiFi-Steuerung in dieses Projekt implementiert werden kann.

5 Flex-Sensoren (jeweils 7,00 USD)

Diese Sensoren messen die Biegung, ähnlich wie ein LDR (Light Dependent Resistor) Lichtpegel misst. Diese werden verwendet, um Fingerbeugen und Handgesten zu messen.

IR-Sender (0,30 $)

Diese Komponente überträgt IR-Signale an Geräte wie Fernseher, DVD-Player usw.

IR-Empfänger ($1.00)

Diese Komponente empfängt von Fernbedienungen gesendete IR-Signale. Es wird benötigt, um Signale von Fernbedienungen zu decodieren. Diese Signale können dann verwendet werden, um das Gerät vom Handschuh aus zu steuern. Ich empfehle den TSOP4838, da ich ihn erfolgreich mit Sharp, Samsung und Apple TVs getestet habe.

5 10k Ohm Widerstände ($ 0,01 pro Stück)

Diese Widerstände werden für jeden der Flex-Sensoren benötigt.

220 Ohm Widerstand ($ 0,01 pro Stück)

Diese Widerstände werden für jeden der Flex-Sensoren benötigt.

Transistor (0,39 $)

Der Transistor wird für die IR-Übertragung verwendet.

74HC4051N Multiplexer-IC (0,22 $)

Da die Node-MCU nur über einen analogen Port verfügt, dient dieser IC dazu, den analogen Pin in mehrere "aufzuteilen", die mit den Flex-Sensoren verbunden sind. Dazu später mehr.

Viele Überbrückungskabel! (Wenn Sie sich für ein Steckbrett entscheiden)

Die folgenden Teile sind optional, aber hilfreich, wenn sie verwendet werden:

16-poliger IC-Sockel

Buchsenleisten

Schritt 2: Der Multiplexer-IC (74HC4051N)

Der Multiplexer-IC (74HC4051N)
Der Multiplexer-IC (74HC4051N)

Obwohl die Node-MCU mit hervorragenden Funktionen wie WiFi und Arduino IDE-Kompatibilität ausgestattet ist, hat sie ihre Nachteile. Es hat nur einen analogen Pin, der für dieses Projekt nicht ausreicht. Da der Handschuh über fünf Flexsensoren verfügt, benötigt er fünf analoge Eingänge, um zu funktionieren. Eine einfache und kostengünstige Lösung für dieses Problem ist die Verwendung eines Multiplexer-IC (74HC4051N). Dieser IC ist in der Lage, einen analogen Eingang in acht umzuwandeln!

Wie funktioniert es?

Der IC funktioniert, indem er einen analogen Eingang einschaltet, ihn liest und ausschaltet. Es schaltet dann den nächsten analogen Eingang ein. Auf diese Weise liest es jeweils nur einen Sensor und sendet ihn an den analogen Pin des Mikrocontrollers. Der IC ist in der Lage, die analogen Eingänge so schnell ein-, auszulesen und auszuschalten, dass es den Anschein hat, als würde er alle gleichzeitig lesen. Dies ist vergleichbar mit der Funktionsweise von Computer- und Smartphone-Bildschirmen; Jedes Pixel kann keinen eigenen Pin haben (das wäre eine Katastrophe!), also schaltet es die Pixel so schnell ein und aus, dass unsere Augen sie alle gleichzeitig als eingeschaltet wahrnehmen. Um zu funktionieren, benötigt der IC drei digitale Pins. Durch Ändern der Kombinationen der Ein- und Ausschaltzustände der Pins kann der IC alle 8 analogen Eingänge ein- und ausschalten.

Schritt 3: Steckbrett-Layout

Steckbrett-Layout
Steckbrett-Layout

Das Layout des Geräts ist im Bild oben dargestellt.

WICHTIG: Beachten Sie den verwendeten Transistortyp. Der Kollektorstift des Transistors sollte mit der IR-LED und nicht mit dem GND-Pin verbunden sein.

Schritt 4: Empfangen von Signalen

Damit der Handschuh das richtige zu sendende Signal kennt, müssen Signale von der Fernbedienung Ihres Fernsehers/Geräts empfangen und in den Handschuhcode programmiert werden. Um diese Signale zu empfangen, ist ein IR-Empfänger erforderlich.

Hinweis: Sehen Sie sich die Modellnummer Ihrer TV-Fernbedienung an und versuchen Sie, die Signalspezifikationen online zu finden. Einige IR-Empfänger und -Sender funktionieren nicht mit einigen Fernbedienungen, daher ist es wichtig, einen Sender/Empfänger mit der Frequenz zu finden, die Ihrem Fernsehgerät entspricht. Ich verwende einen 4838 IR-Empfänger, der mit meiner Samsung TV-Fernbedienung funktioniert.

Schritt 5: Code zum Empfangen von Signalen

Code zum Empfangen von Signalen
Code zum Empfangen von Signalen
Code zum Empfangen von Signalen
Code zum Empfangen von Signalen

Um den Code zu verwenden, muss die Bibliothek IRremoteESP8266 heruntergeladen werden. Der Download-Link ist unten:

IR-FernbedienungESP8266

Gehen Sie in der Arduino IDE zu Sketch> Include Library> Add. ZIP Library. Suchen Sie die beiden heruntergeladenen Bibliotheken und fügen Sie sie der IDE hinzu. Um auf den Code zum Empfangen von IR-Signalen zuzugreifen, gehen Sie zu Datei > Beispiele > IRremoteESP8266 > IRrecvDumpV2. Ändern Sie im Code den Wert kRecvPin von 14 auf 5. Dadurch wird sichergestellt, dass die Node-MCU den richtigen Pin (D1) liest.

Nachdem Sie die Steckbrettverbindungen verdrahtet haben, laden Sie diesen Code auf Ihre Node-MCU hoch und öffnen Sie Ihren seriellen Monitor (stellen Sie die Baudrate auf 115200 ein). Wenn Sie eine Taste auf Ihrer TV-Fernbedienung drücken, werden die Signale auf Ihren seriellen Monitor gedruckt. Erfolg!

Sie sehen eine lange Reihe von Zahlen mit dem Wert rawData. Notieren Sie diese Zahlen und stellen Sie sicher, dass Sie die Taste aufzeichnen, die Sie gedrückt haben, um diese Zahlen zu erhalten. Diese werden Sie später benötigen.

Schritt 6: PCB-Schema

PCB-Schema
PCB-Schema

Der PCB-Schema wurde in Autodesk Eagle erstellt und sieht wie in der Abbildung oben gezeigt aus. Alle Eagle-Dateien sind in diesem Instructable und können im nächsten Schritt heruntergeladen werden.

Schritt 7: Das PCB-Design

Das PCB-Design
Das PCB-Design

Hier ist mein PCB-Design. Alle Eagle-Dateien für diese Leiterplatte sind unten aufgeführt, sodass Sie dieses Design verwenden oder ändern können, um Ihre eigene Leiterplatte zu bauen! Ich habe SMD-Pads für die zusätzlichen 3 analogen Eingänge sowie den 3V3- und GND-Port hinzugefügt. Dies ermöglicht es mir, dieses System bei Bedarf zu erweitern, Ressourcen und Zeit zu sparen und die Leiterplatte vielseitig zu machen.

Schritt 8: Alles zusammenfügen

Alles zusammenfügen
Alles zusammenfügen

Nachdem ich ein paar Tage gewartet hatte, bekam ich endlich meine PCBs per Post. Jetzt ist es Zeit für den lustigen Teil, alles zusammen zu löten! Durch das Befolgen des Schaltplans war das Löten der Platine ziemlich einfach. In meinem Design habe ich einen IC-Sockel und Buchsenleisten für meinen Multiplexer-IC und die Node-MCU verwendet. Dies ist so, dass ich diese Chips entfernen kann, wenn ich sie ersetzen oder wiederverwenden muss. Wenn Sie einen schlankeren Formfaktor wünschen, können Sie die Chips gerne direkt auf die Platine löten, aber denken Sie daran, dass es ziemlich schwierig sein wird, diese später zu entfernen.

Schritt 9: Zusammensetzen des Handschuhs

Zusammensetzen des Handschuhs
Zusammensetzen des Handschuhs

Um die Flexsensoren in den Handschuh einzubauen, habe ich kleine Gummiröhrchen in die Finger des Handschuhs geklebt und die Sensoren hineingesteckt. Auf diese Weise hatten die Sensoren etwas Spielraum und konnten bei Bedarf entfernt werden. Um die Platine zu halten, habe ich sie mit Klettband am Handschuh befestigt. Die Zusammenstellung liegt wieder ganz bei Ihnen. Sie können kreativ sein!

Schritt 10: Programmieren der Befehle

Jetzt, wo die Hardware gepflegt ist, ist es Zeit für die Software. Laden Sie für Ihren Handschuh den folgenden Code herunter.

Damit der Code mit Ihrem Fernseher funktioniert, müssen Sie einige Zahlen ändern. Erinnerst du dich an die Zahlen, die du aufgeschrieben hast? Jetzt ist es an der Zeit, sie zu verwenden. Wenn Sie die Zahlen nicht haben, machen Sie sich keine Sorgen, es ist sehr einfach, diese Signale zu sammeln; Gehen Sie einfach zurück zum IR-Empfangsschritt. Kopieren Sie den Datensatz rawData und fügen Sie ihn unter dem Kommentar "PASTE DATA HERE" in den Code ein. Benennen Sie dieses Dataset in powerOn um. Kopieren Sie die Nummer neben powerOn (in meinem Fall 95). Diese Zahl ist die Anzahl der Zahlen im Datensatz. Gehen Sie nun zum Ende des Codes unter dem Kommentar "DISPLAY POWER". Ersetzen Sie "95" durch den kopierten Wert. Laden Sie nun Ihren Code auf die Node-MCU hoch und ziehen Sie den Handschuh an. Wenn Sie Ihre Hand zum Fernseher zeigen und einen Ihrer Finger beugen, schaltet sich Ihr Fernseher ein!

Dies ist leicht anpassbar. Um weitere Funktionen hinzuzufügen, fügen Sie einfach weitere Datensätze hinzu, kopieren Sie die Funktion DISPLAY POWER und fügen Sie ihre Informationen in den entsprechenden Datensatz und die Anzahl der Werte ein. Da jeder Flexsensor anders ist, musst du möglicherweise die Zahl "310" ändern, damit er registriert, wenn der Finger gefaltet wird. Sie können sogar Mehrfingergesten und "Hauptschalter" ausführen. Zum Beispiel habe ich meinen Code so angepasst, dass die Lautstärke meines Fernsehers stummgeschaltet wird und die Quelle wechselt, wenn ich meinen Ringfinger und Daumen beuge. Die Möglichkeiten der Erweiterbarkeit sind endlos!

Schritt 11: Fertig

Es ist fertig!
Es ist fertig!
Es ist fertig!
Es ist fertig!

Da haben Sie es, eine universelle gestengesteuerte TV-Fernbedienung! Ich hoffe, Ihnen hat dieses Projekt gefallen, und ich hoffe, Sie stimmen für mich im Epilog Laser-Wettbewerb. Wenn Sie Fragen haben, können Sie gerne einen Kommentar schreiben und ich werde mein Bestes geben, um sie zu beantworten. Ich hoffe es hat euch noch einmal gefallen!

Empfohlen: