Werbung
Verstecken Sie dies in Ihrem Wohnzimmer und lachen Sie, während die TiVo-Box scheinbar von einem Dämon besessen ist, der nach kitschigen Einkaufskanälen verlangt. Ob Ihr ultimatives Ziel darin besteht, jeden Fernseher in der Nachbarschaft auszuschalten oder einen Universal zu bauen Dieses Projekt mit Siri-Fernbedienung ist ein guter Ausgangspunkt, um die Grundlagen der IR-Steuerung zu erlernen und Empfänger.
In diesem "Streich" machen wir ein Gerät, das eine Reihe von IR-Fernbefehlen aufzeichnet und dann wiedergibt. Es funktioniert mit jedem Gerät, das eine IR-Fernbedienung oder sogar eine Mischung von Geräten gleichzeitig verwendet - es zeichnet bis zu 10 Tastendrücke auf.
Komponenten
Hier ist eine Liste der Dinge, die Sie für dieses Projekt benötigen:
- Arduino und Patchdrähte
- IR-Empfänger wie TSOP382 - aber Sie sollten in der Lage sein, einen kompatiblen in der alten Elektronik zu finden. Ich zog meine aus einem Ersatz-RGB-Beleuchtungscontroller. Sie haben normalerweise 3 Beine und sind schwarz. Eine Seite sieht aus wie eine LED, die in zwei Hälften geschnitten und aufgeklebt wurde. Ich bin mir sicher, dass es dafür ein technisches Wort gibt.
- IR-Sender-LED wie TIL38 - auch diese sind ziemlich häufig, aber ich habe eine neue Hochleistungs-LED von Maplin gekauft. Sie sehen mit jeder anderen LED identisch aus. Verwechseln Sie sie also nicht in Ihrem Elektronik-Kit!
- Geeigneter Widerstand für Ihre IR-LED - verwenden Sie diesen LED-Rechner gegeben die Versorgungsspannung (5 V vom Arduino) und die Durchlassspannung und den Durchlassstrom vom LED-Datenblatt (normalerweise um 1,2 V bei 20 mA). Dies kam in meinem Fall als 220 Ohm heraus.
- Drucktaste und 10k Pulldown und 100 Ohm Widerstände.
- Laden Sie die IR-Fernbibliothek von Ken Shirriff aus Github und platziere in deinem Arduino / Bibliotheken Mappe. Wir werden auch einen Beispielcode verwenden, auf den dann vom Arduino aus zugegriffen werden kann Öffnen -> Bibliotheken Speisekarte.
Verdrahtung
Nehmen Sie diese Schaltung in drei Teilen in Angriff - der Schalter ist etwas umständlich, aber alles andere ist einfach. Denken Sie daran, dass das kurze Bein der LED mit der flachen Fläche die Kathode (negativ oder geerdet) ist. Das lange Bein ist die Anode (positiv).
Signale empfangen
Gehen Sie voran und öffnen Sie die Bibliotheken / IRremote / IRrecvDemo Beispielcode. Stellen Sie sicher, dass RECV_Pin ist richtig eingestellt, kompilieren und hochladen, dann öffnen Sie die serielle Konsole bei 9600 Baud. Nehmen Sie eine Fernbedienung, die Sie zur Hand haben, richten Sie sie auf Ihren Empfänger und drücken Sie die Tasten. Unterschiedliche Schaltflächen erzeugen unterschiedliche Codes. Einige zeigen dann ein langes Drücken mit dem Anfangscode an FFFFFFWährend verschiedene Fernbedienungen den Code einfach noch einmal wiederholen können.
Eine detailliertere Ansicht der empfangenen Daten finden Sie unter IRrecvDump Beispiel stattdessen, das sowohl die Art des empfangenen Signals (in diesem Fall 32-Bit-NEC) als auch die Rohwerte angibt. Gut zu wissen, aber in den meisten Fällen möchten Sie nur die dekodierten Werte.
Signal wiederholen
Wir werden unseren Streich heute nicht von Grund auf neu schreiben, also schauen Sie sich das an IRrecord Beispiel. Die Codekomplexität nimmt hier stark zu, aber es ist meistens alles, um mit verschiedenen Arten von IR-Codes fertig zu werden - im Grunde ist hier, was in der Schleife vor sich geht:
- Überprüfen Sie, ob die Taste gedrückt wurde, spielen Sie das aktuell gespeicherte Signal erneut ab und wiederholen Sie den Vorgang alle 50 ms, bis es gedrückt wird.
- Wenn Sie nicht gedrückt werden und ein Signal erkannt wird, zeichnen Sie dies auf.
Die größte Einschränkung dieses Beispiels besteht darin, dass es jeweils nur mit einem Code funktioniert. Wenn Sie also eine andere Remote-Taste drücken, wird der letzte überschrieben. Die Taste gibt einfach das allerletzte empfangene Signal wieder. Kompilieren Sie den Code und führen Sie ihn aus, damit Sie diesen grundlegenden Signal-Repeater ausprobieren können. Für die Wiedergabe eines einzelnen Signals funktioniert es einwandfrei, aber das ist für einen Streich oder auf andere Weise von geringem praktischem Nutzen.
Der Streich!
Ändern wir es leicht, um 10 oder mehr schelmische Signale aufzuzeichnen. Sie finden die Vollständig geänderter Code hier, aber hier ist ein Überblick über die Änderungen, die ich vorgenommen habe, falls Sie dies selbst programmieren möchten:
- Definieren Sie 3 neue Arrays der Größe 10 zum Speichern eines Satzes von Signalen bei jeder Erkennung und eine Ganzzahl zum Speichern der Größe dieser Arrays.
- Speichern Sie einen Index darüber, wo wir uns derzeit in diesem Array befinden. Erhöhen Sie den Index jedes Mal, wenn ein Signal erkannt wird. Erhöhen Sie ihn jedoch nicht, wenn es sich bei dem Signal um einen Wiederholungscode handelt.
- Ein boolescher Wert, der aufhört, mehr aufzuzeichnen, sobald wir das Maximum erreicht haben.
- Ein Boolescher Wert, der angibt, ob wir uns im Wiedergabemodus befinden oder nicht, anstatt die Taste gedrückt halten zu müssen. Außerdem wurde die Schaltflächenlogik geändert, um dies umzuschalten.
Beachten Sie, dass die Anzeige-LED am Arduino (Pin 13) aktiviert wird, sobald der Speicher voll ist. Im Moment müssen Sie 10 Tastendrücke aufzeichnen - nicht weniger - und der Wiedergabemodus wartet zwischen jeder Tastenwiedergabe 1 Sekunde. Hier ist es in Aktion:
Sie können entweder mit mehr IR-Streiche spielen oder dies als einen guten Start für ein epischeres betrachten Hausautomationsprojekt Home Automation Guide Mit Raspberry Pi und ArduinoDer Markt für Hausautomation ist mit teuren Verbrauchersystemen überflutet, die nicht miteinander kompatibel und teuer in der Installation sind. Wenn Sie einen Raspberry Pi und einen Arduino haben, können Sie im Grunde das Gleiche erreichen bei ... Weiterlesen ; und vergessen Sie nicht, alle anderen zu überprüfen Arduino-Projekte. Teilen Sie Ihre Kreationen (oder Probleme) in den Kommentaren mit und zeigen Sie Ihre Wertschätzung für diesen Artikel, indem Sie ihn in Ihren bevorzugten sozialen Netzwerken teilen!
Bildnachweis: DaGoaty
James hat einen BSc in künstlicher Intelligenz und ist CompTIA A + und Network + zertifiziert. Er ist der Hauptentwickler von MakeUseOf und verbringt seine Freizeit mit VR-Paintball und Brettspielen. Er baut seit seiner Kindheit PCs.