Lassen Sie mich vorausschicken, dass ich ein absoluter Elektronik-Noob bin. Ich bin anständig mit der Programmierung.
Ich habe einen RCA L40FHD41 HDTV, den ich 2010 gekauft habe. Ich habe versucht, viele Universalfernbedienungen mit diesem Fernseher zu verwenden, aber nachdem ich Hunderte von Codes ausprobiert habe, funktioniert nichts. Ich habe eine billige Ersatzfernbedienung (RCA 276045 TV-Fernbedienung) gekauft, aber es ist ein Hit und Miss, wenn sie sich entscheidet, tatsächlich zu funktionieren. Ich hatte gehofft, ich könnte einen Arduino mit einem IR-Empfänger verwenden, um alle IR-Codes für die Fernbedienung zu erhalten, wenn sie sich verhält, und dann versuchen, einen Arduino-IR-Sender zur Steuerung des Fernsehers herzustellen.
Ich hatte einen Code, der im Grunde einen rohen IR-Eingang nehmen und über eine IR-LED ausgeben würde. Zum Testen richtete ich die IR-LED auf den Empfänger meiner PC-Medienfernbedienung und drückte einige Tasten auf der PC-Medienfernbedienung. Das hat funktioniert. Aber als ich die IR-LED auf den Fernseher richtete und die Tasten auf der TV-Fernbedienung drückte, passierte nichts. Ich denke, dass der Fernseher eine Differenzmodulation verwendet. Ich habe gelesen, dass die meisten Standard-IR 38 kHz verwenden. Ich möchte herausfinden, welche Modulation die TV-Fernbedienung verwendet. Gibt es überhaupt diese Informationen mit einem Arduino und einem IR-Empfänger?
Bearbeiten: Jemand sagte, es könnte ein Dekodierungsproblem sein. Das kann nicht der Fall sein, da ich einen anderen Beispielcode verwendet habe, um die Timings und HEX-Codes für alle Tasten zu erhalten, und wenn ich dieselbe Taste mehrmals gedrückt habe, wurden immer die gleichen Ergebnisse erzielt. Hier ist ein Beispiel für die Ausgabe dieses Beispielcodes: POWER BUTTON
Code: 6A68351E (32 Bit)
Zeitplan[51]:
+4050, -3400 + 800, -1650 + 800, -1600 + 850, -1600
+ 800, -1600 + 800, - 650 + 800, - 650 + 850, -1600
+ 800, - 650 + 800, -1650 + 750, - 700 + 750, -1650
+ 750, - 750 + 700, - 750 + 750, - 700 + 750, - 700
+ 750, - 750 + 700, -1700 + 700, -1700 + 700, - 750
+ 700, -1750 + 650, - 800 + 600, -1850 + 600, - 850
+ 600, -1800 + 600
unsigned int rawData[51] = {4050,3400, 800,1650, 800,1600, 850,1600, 800,1600, 800,650, 800,650, 850,1600, 800,650, 800,1650, 750,700, 750,705,16 700.750, 750.700, 750.700, 750.750, 700.1700, 700.1700, 700.750, 700.1750, 650.800, 600.1850, 600.850, 600.1800, 600};
BEARBEITEN: Ich habe einen Code, der funktioniert, um den Fernseher ein- und auszuschalten. Ich bin mir nicht sicher, was sich zwischen dem Code unterscheidet, der einfach eine Roheingabe genommen und gesendet hat.
Mit einem gewöhnlichen IR-Empfänger wie TSOP4840 oder CHQ0038 ist dies nicht möglich, da diese bereits einen Demodulator eingebaut haben (siehe Blockdiagramm im Datenblatt).
Sie benötigen einen AC-gekoppelten Sensor wie den TSMP58000.
Die IRLib2 Arduino Infrarotbibliothek hat eine Beispielskizze , die die Modulationsfrequenz bestimmt. Die Vorgehensweise ist im Handbuch näher beschrieben .
Übrigens ist es meiner Meinung nach wahrscheinlicher, dass Sie ein Timing-, Dekodierungs- oder Reichweitenproblem haben, als dass der Fernseher etwas anderes als 38 kHz verwendet. Haben Sie ein Oszilloskop/Logikanalysator und einen zweiten IR-Empfänger?
André KR
Oldtimer
Oldtimer
Oldtimer
Oldtimer
Oldtimer
Wolodymyr Smotesko
YoItsTrev
Oldtimer
Oldtimer