Inhaltsverzeichnis:
- Schritt 1: Erforderliches Werkzeug
- Schritt 2: Erforderliche Komponenten
- Schritt 3: So funktioniert es (IR-Protokoll)
- Schritt 4: Die Fernbedienung
- Schritt 5: Erfassen von RAW-Samples
- Schritt 6: Beobachten der RAW-Samples und Konvertieren in ein menschenlesbares Format
- Schritt 7: Beobachten von Mustern durch Vergleich mehrerer Rohproben
- Schritt 8: GEBEN Sie die decodierten Daten an den seriellen Monitor aus
- Schritt 9: Fertig
Video: IR-Protokoll der Fernbedienungen der Klimaanlage verstehen - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Ich lerne seit einiger Zeit über IR-Protokolle. So senden und empfangen Sie IR-Signale. An dieser Stelle bleibt nur noch das IR-Protokoll der AC-Fernbedienungen.
Im Gegensatz zu herkömmlichen Fernbedienungen fast aller elektronischen Geräte (z. B. eines Fernsehers), bei denen nur die Informationen einer Taste gleichzeitig gesendet werden, werden bei Wechselstrom-Fernbedienungen alle Parameter codiert und gleichzeitig gesendet. Daher kann es ein wenig schwierig sein, das Signal von einem Mikrocontroller zu decodieren.
In diesem anweisbaren werde ich erklären, wie wir IR-Protokolle jeder AC-Fernbedienung leicht decodieren können. Ich werde meine HID-IR-TASTATUR verwenden, um die IR-Signale zu lesen und zu decodieren, indem ich ein neues Programm schreibe. Sie können jedoch fast jeden Ihnen bekannten Mikrocontroller verwenden, solange er externe Interrupts in Verbindung mit einem TSOP-IR-Demodulator unterstützt.
Schritt 1: Erforderliches Werkzeug
Lötstation. (zB. DIESE)
Sie können zwar billigere Bügeleisen verwenden, aber eine Lötstation von guter Qualität wird empfohlen, wenn Sie sich für Elektronik interessieren.
Pickit 2. (zB. DIES)
Sie können auch einen PICKIT 3 verwenden, müssen dann jedoch einen separaten USB-zu-UART-Konverter verwenden, um die Ausgabe vom Mikrocontroller zu lesen.
Ein Oszilloskop
Nun, ich habe es nicht. aber wenn Sie einen haben, wird Ihr Leben viel einfacher. Kaufen Sie auf jeden Fall einen, wenn Sie sich einen leisten können.
Ein Computer
Nun.. Duh
Schritt 2: Erforderliche Komponenten
- PIC18F25J50 (zB HIER)
- TSOP IR-Empfänger. (zB. HIER)
- LM1117 3.3v Regler. (zB HIER)
- 2x220nf Kondensatoren.
- 470 Ohm Widerstand.
- 10k Ohm Widerstand.
Dies sind die Komponenten, die für mein HID-IR-Tastaturprojekt erforderlich sind. Wenn Sie ein anderes Bildentwicklungsboard oder ein Arduino haben, benötigen Sie nur das TSOP IR-Decodermodul.
Eine AC-Fernbedienung
Die Fernbedienung, die entschlüsselt werden muss. Ich werde die Fernbedienung meines Videocon AC verwenden. Diese hat kein Display, funktioniert aber ähnlich wie andere Fernbedienungen mit Display.
Schritt 3: So funktioniert es (IR-Protokoll)
Bevor wir fortfahren, wollen wir einige Grundlagen verstehen.
IR-Fernbedienungen verwenden eine IR-LED, um das Signal von der Fernbedienung an den Empfänger zu übertragen, indem die LED schnell ein- und ausgeschaltet wird. Aber auch viele andere Lichtquellen erzeugen IR-Licht. Um unser Signal besonders zu machen, wird ein PWM-Signal mit einer bestimmten Frequenz verwendet.
Die in fast allen IR-Fernbedienungen verwendeten Frequenzen sind 30 kHz, 33 kHz, 36 kHz, 38 kHz, 40 kHz und 56 kHz.
Die gängigsten sind jedoch 38 kHz und 40 kHz.
Das TSOP-Modul demoduliert das Trägersignal (zB 38 kHz) auf eine geeignetere TTL-Logik von GND und VCC.
Die Dauer von HIGH der LOW-Logik bezeichnet Bit '1' oder '0'. Die Dauer variiert je nach Remote-Protokoll. (z. B. NEC)
Um das IR-Protokoll im Detail zu verstehen, können Sie sich auf DIESES Dokument beziehen.
Schritt 4: Die Fernbedienung
Die Fernbedienung, die ich verwende, gehört zu einer ziemlich alten Klimaanlage in meinem Zimmer. Es hat also kein schickes Display, aber es funktioniert so ziemlich wie jede AC-Fernbedienung mit Display.
Wir können die folgenden Einstellungen mit der Fernbedienung ändern.
- Einschalten / Ausschalten
- Schlafmodus ein/aus
- Turbo-Modus ein/aus
- Schwingen ein/aus
- Lüftergeschwindigkeit (Niedrig, Mittel, Hoch)
- Modusauswahl (Kühlen, Trocknen, Ventilator)
- Temperatur (von 16 bis 30 Grad Celsius)
Schritt 5: Erfassen von RAW-Samples
Im Bild sehen Sie die RAW-Samples, die vom TSOP-IR-Empfänger ausgespuckt werden. die Zahlen bezeichnen die Dauer des Bursts und das Vorzeichen +/- bezeichnet die MARK und SPACE des Signals.
hier bezeichnet 1 Einheit 12us (Mikrosekunden).
Ein Burst von 80 bedeutet also 960us und so weiter.
Der folgende Codeabschnitt erfasst die Daten und gibt sie an den seriellen Monitor des pickit2 aus. (Die IDE ist MikroC PRO für PIC)
Aus irgendeinem Grund vermasselt der Instructable-Editor das Code-Tag. Also, ich habe gerade den Screenshot des Codes angehängt, siehe das zweite Bild dieses Schrittes.
Ich hätte den gesamten Projektordner angehängt, aber es ist im Moment ein Durcheinander und noch nicht ganz bereit für das, was ich erreichen möchte.
Schritt 6: Beobachten der RAW-Samples und Konvertieren in ein menschenlesbares Format
Wenn wir uns die RAW-Samples genau ansehen, können wir leicht feststellen, dass es vier Bereiche von Burst-Dauern gibt.
~80
~45
~170
~250
Die letzten drei Werte sind immer +250 -250 +250. Daher können wir sicher annehmen, dass es sich um das STOP-Bit der Burst-Daten handelt. Mit dem folgenden Code-Snippet können wir diese vier Burst-Dauern nun in '-', '.' aufteilen. und 1'.
Das Code-Snippet finden Sie im dritten Bild dieses Schritts.
Sie haben vielleicht bemerkt, dass ich die Zahl ~80 im Code ignoriert habe. Das liegt daran, dass jede ungerade Platzierung des Codes unbedeutend ist. Durch Drucken des Arrays _rawprocess auf dem seriellen Monitor (wie Sie im zweiten Bild dieses Schritts sehen können.) haben wir ein sehr klares Bild der empfangenen Daten. Durch Drücken verschiedener Tasten auf der Fernbedienung können wir nun die Musteränderungen in den Daten beobachten, wie im nächsten Schritt erklärt.
Schritt 7: Beobachten von Mustern durch Vergleich mehrerer Rohproben
Indem wir nur die dekodierten Daten ausdrucken, können wir uns ein klares Bild davon machen, welche Bits verwendet werden, um welche Daten zu senden.
Die Einstellung POWER SLEEP und TURBO verwendet nur ein Bit. d.h. entweder '.' oder eine '1'.
Der SWING verwendet drei nebeneinander liegende Bits. was entweder als '…' oder '111' geht.
Die Lüfter- und Modusauswahl verwendet ebenfalls 3 Bits jeweils '1..' '.1.' und 1'
Die Temperatur verwendet vier Bits, die den Wert mit binär codierten Bits mit einem Offset von 16 senden, was '…' bedeutet. sendet den Wert von 16 Grad Celsius während '111'. sendet 30 Grad Celsius.
Schritt 8: GEBEN Sie die decodierten Daten an den seriellen Monitor aus
Wie Sie im Bild sehen können, habe ich alle von der AC-Fernbedienung gesendeten Bits erfolgreich decodiert.
Von nun an wissen diejenigen, die Erfahrung im Umgang mit ir-Protokollen haben, bereits, wie man das Signal neu codiert und an das AC sendet. Wenn Sie sehen möchten, wie das gemacht werden kann, warten Sie auf mein nächstes instructable, das ich in einer Woche oder so posten werde.
Schritt 9: Fertig
Vielen Dank für Ihre Zeit.
Bitte hinterlassen Sie einen Kommentar, wenn Ihnen das Projekt gefallen hat. oder wenn Ihnen ein Fehler aufgefallen ist.
Einen schönen Tag noch.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
So erstellen Sie einen Smart Pot mit NodeMCU, der von der App gesteuert wird – wikiHow
So erstellen Sie einen Smart Pot mit NodeMCU, der von einer App gesteuert wird: In dieser Anleitung bauen wir einen Smart Pot, der von einem ESP32 und einer Anwendung für Smartphones (iOS und Android) gesteuert wird. Wir verwenden NodeMCU (ESP32) für die Konnektivität und die Blynk-Bibliothek für das Cloud-IoT und die Anwendung auf dem Smartphone. Endlich haben wir
So verbinden Sie die Android-Anwendung mit AWS IOT und verstehen die Spracherkennungs-API: 3 Schritte
So verbinden Sie die Android-Anwendung mit AWS IOT und verstehen die Spracherkennungs-API: In diesem Tutorial erfahren Sie, wie Sie die Android-Anwendung mit dem AWS IOT-Server verbinden und die Spracherkennungs-API verstehen, die eine Kaffeemaschine steuert. Die Anwendung steuert die Kaffeemaschine über Alexa Sprachdienst, die c
So verstehen und warten Sie eine Festplatte – wikiHow
Wie man eine Festplatte versteht und pflegt: Hallo! Mein Name ist Jason und heute werde ich Ihnen alles darüber beibringen, was eine Festplatte ist, wie sie funktioniert und wie Sie Ihre Festplatte so lange wie möglich funktionsfähig halten können