- Erforderliche Komponenten:
- Arbeitserklärung:
- Schaltplan:
- Dekodieren von IR-Fernbedienungssignalen mit Arduino:
- Erstellen der Android App für IR Blaster:
Ich habe dieses Projekt gestartet, um verschiedene Fernbedienungen bei mir zu Hause loszuwerden und etwas Einzigartiges zu bauen, das Funktionen von allen enthalten könnte. Ich kam auf diese Idee, als ich eines der Handys meines Freundes mit eingebautem IR-Blaster sah. Damals entschied ich mich, kein ähnliches Telefon zu kaufen, sondern mein eigenes Gerät zu bauen, das mit meinem vorhandenen Mobilteil kompatibel sein sollte. Hier werden wir also ein Android-Telefon mit Arduino in eine IR-Fernbedienung umwandeln, um verschiedene Geräte zu Hause zu steuern.
Erforderliche Komponenten:
- Arduino Uno
- Infrarot-LED
- TSOP-IR-Empfänger (1838T)
- Bluetooth-Modul (HC05)
- Android-Gerät (Telefon, Tablet usw.)
Arbeitserklärung:
Im Allgemeinen verwenden wir zwei Fernbedienungen, um das Fernsehen zu Hause zu betreiben, eine für das Fernsehen und eine für die Set-Top-Box. Daher ziele ich hier in diesem Projekt auf diese beiden Fernbedienungen ab und lasse ein Android-Telefon als IR-Blaster arbeiten, damit das Fernsehen mit dem Telefon gesteuert werden kann, ohne eine der Fernbedienungen zu berühren.
Die Verwendung einer Arduino Uno- Karte hat mir den Umgang mit dem IR-Dekodierungs- und Codierungsteil nur erleichtert. Das maßgeschneiderte Schild ergänzt den praktischen Teil dieses Projekts. Die Abschirmung besteht aus einem TSOP-IR-Empfänger (1838T), einer IR-LED und einem Bluetooth-Modul (HC-05) (siehe Abbildung unten):
Sie können entweder die benutzerdefinierte Abschirmung erstellen oder die Komponenten direkt mit dem Arduino verbinden, wie im Schaltplan im folgenden Abschnitt gezeigt.
Bevor wir fortfahren, wollen wir zunächst diskutieren, wie die IR-Fernbedienungen funktionieren. Die meisten IR-Fernbedienungen arbeiten mit Frequenzen von 38 kHz (aus diesem Grund habe ich 18 38 T gewählt). Wenn man sich weiter mit diesem Thema befasst, wird man erkennen, dass es in diesen IR-Datenübertragungsmethoden keine feste Darstellung für Nullen und Einsen gibt. Diese Codes verwenden verschiedene Codierungstechniken, die wir in unserem Lehrplan für Ingenieurwissenschaften studieren (da ich Student der Elektrotechnik bin). Die Bedeutung von 38 kHz besteht darin, dass es die Frequenz ist, mit der das Signal bei logisch hohen Werten schwingt, dh dies ist die Trägerfrequenz des Signals. Schauen Sie sich das Bild unten an. Dies ist ein Beispiel für das NEC-Protokoll. Dies wird Ihr Konzept klarer machen:
So funktioniert dieser IR-Blaster: Ein Android-Telefon mit der maßgeschneiderten Android-App sendet das Signal über Bluetooth an die Arduino-Schaltung. Außerdem empfängt das Arduino das Signal über den TSOP-IR-Empfänger (1838T) und analysiert es. Dann befiehlt Arduino der IR-LED, in einem bestimmten Muster zu blinken, das der auf dieser Android-Geräte-App gedrückten Taste entspricht. Dieses Blinkmuster wird vom IR-Empfänger des Fernsehgeräts oder der Set-Top-Box erfasst und folgt den Anweisungen wie Ändern des Kanals oder Erhöhen der Lautstärke.
Aber vorher müssen wir die vorhandenen Fernbedienungen entschlüsseln. Wie bereits erwähnt, habe ich in diesem Projekt zwei Fernbedienungen verwendet, von denen eine mit dem Fernseher kommuniziert, während die andere für die an den Fernseher angeschlossene Set-Top-Box vorgesehen ist.
Schaltplan:
Dekodieren von IR-Fernbedienungssignalen mit Arduino:
Die Arduino-Karte arbeitet hier in zwei Phasen: Eine, wenn Sie sie zum Decodieren von IR-Codes von der Fernbedienung verwenden, und eine andere, wenn Sie sie als IR-Blaster verwenden.
Lassen Sie uns über die erste Phase sprechen. Um die IR-Tastencodes zu dekodieren, habe ich die IRremote- Header-Datei von Ken Shirriff verwendet. Diese Header-Datei enthält viele vordefinierte Beispiele / Codes, um uns die Arbeit mit IR-Codes zu erleichtern:
- Sie müssen zuerst die IR-Remotebibliothek von hier https://github.com/z3t0/Arduino-IRremote herunterladen und installieren.
- Entpacken Sie es und legen Sie es in Ihrem Arduino-Ordner "Libraries" ab. Benennen Sie dann den extrahierten Ordner in IRremote um.
- Brennen Sie dann den unten angegebenen Code in Arduino, schließen Sie die benutzerdefinierte Abschirmung wie oben gezeigt an und platzieren Sie eine zu decodierende Fernbedienung vor dem TSOP-IR-Empfänger. Öffnen Sie den diesem Arduino entsprechenden seriellen Monitor und drücken Sie eine beliebige Taste auf der Fernbedienung. Über dem Terminal werden einige Informationen angezeigt. Diese Informationen betreffen den Codetyp, seinen Wert und die Anzahl der damit verbundenen Bits. So sieht es aus:
#einschließen
Wenn Sie mit dem gewünschten Dekodierungsteil fertig sind, notieren Sie alle Dekodierungswerte und andere Informationen, indem Sie den entsprechenden Schaltflächennamen drücken. Dies wird als Datenbank für die nächste Phase von Arduino dienen. Das obige Programm stammt aus dem Ordner "examples" der IRremote-Bibliothek. Weitere Beispiele finden Sie unter Verwendung der IR-Fernbedienung. So haben wir den IR-Remote-Ausgang dekodiert.
Brennen Sie nun den Code, der am Ende im Abschnitt Code angegeben ist, auf dieselbe Platine. Herzlichen Glückwunsch, Sie sind mit der ersten Hälfte dieses Projekts fertig.
Erstellen der Android App für IR Blaster:
Hier kommt die zweite Hälfte, die Android App macht. Ich bevorzuge einfach die Verwendung von MITs APP Inventor-2, um solche Apps zu erstellen. Wenn Sie ein Amateur in der Android-Codierung sind, sparen Sie Zeit und erzielen gute Ergebnisse. Die Hauptkomponenten bei der Erstellung dieser App sind nicht viel, nur wenige Schaltflächen und ein Bluetooth-Client-Paket. Geben Sie beim Codieren der App den entsprechenden Text an, der für jede auf dem Bildschirm gedrückte Taste gesendet werden soll. Dadurch wird Arduino aufgefordert, die IR-LED auf die gleiche Weise zu blinken, wie dies von der einzelnen Fernbedienung getan worden wäre. Stellen Sie außerdem sicher, dass Sie die richtige Adresse Ihres Bluetooth HC-05-Moduls angeben. So sieht die endgültige App auf Ihrem Android-Smartphone aus:
Hier ist der schrittweise Prozess zum Erstellen der App:
SCHRITT 1:
Melden Sie sich unter folgendem Link an: ai2.appinventor.mit.edu oder versuchen Sie, MIT appinventor-2 bei Google zu suchen. Für die Anmeldung bei AI2 ist ein Google-Konto erforderlich. Wenn Sie kein Konto haben, erstellen Sie ein Konto.
SCHRITT 2:
Sobald Sie sich mit Ihrem Google-Konto angemeldet haben, werden Sie zur AI2-Arbeitswebseite weitergeleitet, die folgendermaßen aussieht:
Starten Sie ein neues Projekt, indem Sie oben auf die Registerkarte "Projekte" klicken und "Neues Projekt starten" auswählen. Wenn Sie mit dem Benennungsteil fertig sind, wird Ihnen ein leerer Bildschirm angezeigt, in dem Sie Schaltflächen und Text wie oben gezeigt platzieren können. Dies ist der GUI-Bildschirm, in dem Sie entscheiden, wie die App für einen Benutzer aussehen soll.
Um ein Schaltflächenpaket zu verwenden, wählen Sie die Registerkarte "Schaltfläche" auf der linken Seite des Bildschirms im Abschnitt "Benutzeroberfläche". Ziehen Sie einfach ein Paket aus dem Menü auf der linken Seite und legen Sie es auf dem Arbeitsbildschirm ab. Verwenden Sie in ähnlicher Weise das Paket "Label", um textbezogene Inhalte anzuzeigen.
SCHRITT 3:
Nachdem Sie alle Schaltflächen und Beschriftungen angeordnet haben, ist es jetzt an der Zeit, einen Code für diese App zu erstellen. Zuvor müssen wir jedoch auch ein Bluetooth-Paket für die Kommunikation mit dem Arduino auswählen.
Sie werden feststellen, dass dieses Paket nicht auf dem Bildschirm angezeigt wird, sondern unter "Nicht sichtbare Komponenten" angezeigt wird. Dies sind die Komponenten, die für das GUI-Make-up keine Bedeutung haben.
SCHRITT 4:
Als nächstes folgt der Codierungsabschnitt, in dem Sie die Funktion für Komponenten definieren, die Sie ausgewählt haben und mit denen Sie arbeiten möchten.
Auf der linken Seite des Bildschirms sehen Sie alle Pakete, die Sie im GUI-Bereich ausgewählt haben. Das Bild oben zeigt, welche Komponenten in einem bestimmten Paket enthalten sind, das Sie verwenden können. Beachten Sie auch, dass die Adresse des Bluetooth-Moduls in einem Textformat angegeben werden muss.
SETP 5:
Wenn Sie der Meinung sind, dass die App einsatzbereit ist und auch keine Fehler vorliegen, klicken Sie wie oben gezeigt auf die Registerkarte „Erstellen“ und wählen Sie die zweite Option aus. Dadurch wird Ihre selbst erstellte App im APK-Format auf den Computer heruntergeladen. Übertragen Sie diese APK-Datei dann einfach auf ein beliebiges Android-Gerät und klicken Sie zum Installieren darauf.
Auf diese Weise können Sie jedes ferngesteuerte IR-Gerät mit Ihrem Smartphone steuern. Sie müssen lediglich die Fernbedienung aller Geräte dekodieren, die Sie mit Ihrem Telefon steuern möchten, und den decodierten HEX-Code der Fernbedienungstasten im Arduino-Code ersetzen.