Hallo zusammen, da meine IR FB von meinem Asus O!Play nicht mehr (richtig) funktioniert, habe ich vor längerer Zeit die IR-Codes mittels IRMP Loggingfunktion gesichert. Nachdem nun die Asus FB gar nicht mehr tut, habe ich mir einen IR-Umsetzer gebaut. Dieser setzt die Codes von einer funktionierenden OPTICUM FB (SAT Receiver) auf Asus FB um. Gleich vorweg, ja ich könnte mir auch ein Universal-FB kaufen. Wenn es hier welche gäbe, hätte ich das auch getan. Jetzt zu meinem Anliegen: Technisch funktioniert das Ganze. Jedoch weigert sich der Asus Mediaplayer die ausgesendeten IR-Codes zu akzeptieren. Dass die Codes für den Asus stimmen, sagt mir zumindest der IRMP-Logger, mit dem ich die Daten des Asus damals aufgezeichnet habe. Der IRMP-Logger ist eine Mega32 mit LCD-Display; hatte vorher einen RS232 Anschluss zum mitschneiden auf dem PC. Meine Frage ist: Hat jemand Erfahrung mit IRSND und Asus O!Play ? Gibt es hierzu Dinge die man beachten muss/soll? Wäre schön, wenn mir jemand einen Tipp geben könnte. Die Sourcefiles von dem Umsetzer und dem Logger habe ich mal angehängt. Den Schaltplan natürlich auch. Vielen Dank!
> Wäre schön, wenn mir jemand einen Tipp geben könnte.
Traegerfrequenz?
Olaf
Sieht das ASUS-Teil vielleicht beide IR-Codes gleichzeitig (überlagert)?
Peter M. schrieb: > Jedoch weigert sich der Asus Mediaplayer die ausgesendeten IR-Codes zu > akzeptieren. 1. Wenn Du Deine (Handy-)Kamera vor die IR-LED des Transmitters hältst: Siehst Du die IR-LED aufblitzen? 2. IR-LED: Was ist das für eine? 3. Ohne Transistor ist die Reichweite beschränkt. Wie nah bist Du dran? > Dass die Codes für den Asus stimmen, sagt mir zumindest der IRMP-Logger, > mit dem ich die Daten des Asus damals aufgezeichnet habe. Okay, das ist laut Deinem Source NEC. Es kann natürlich sein, dass der Asus MediaPlayer wenig tolerant beim Timing ist. Das kann sogar so weit gehen, dass Du einen Quarz für den IRSND brauchst. Aber mal zu den Adressen: Ich lese da die Adresse 0x686c für die Asus-FB. Das ist für ASUS sehr ungewöhnlich, dass hier Extended NEC statt NEC verwendet wird. Bist Du Dir da sicher? Bei den großen Herstellern wird eher Standard-NEC verwendet, d.h. das zweite Byte ist das negierte erste Byte. Bei der Opticum-FB lese ich 0xfd01 als Adresse. Sicher? Wenn hier Standard-NEC verwendet wird, sollte die Adresse eher 0xfe01 oder 0xfd02 sein. Ob Deine gewählte richtig ist, kannst Du daran erkennen, dass Dein Transmitter anfängt zu feuern (Kamera!), wenn Du die Opticum-FB drauf hältst. Dann ist auf der Empfänger-Seite schon mal alles ok. Letzte Frage: Du schreibst, Deine ASUS-FB funktioniert nicht mehr vollständig. Das heisst, es funktionieren noch einige Tasten? Dann könntest Du ja mit Deinem ATmkega32 verifizieren, ob die obige Adresse korrekt ist. Wenn alle Stricke reißen, könntest Du noch mit dem ATmega32 einen Frame scannen, um das exakte Timing herauszufinden. Es kann sein, dass die ASUS-FB sich nicht so strikt an das NEC-Timing hält, IRMP aber tolerant genug ist. Man könnte dann für IRSND die Timings noch anpassen. P.S. Achte beim Testen darauf, den IR-Strahl der Opticum möglichst gegenüber dem MediaPlayer abzudecken, damit dieser kein überlagertes Signal sieht. Was ist das für ein komisches "bled" in der Timer-ISR? Reduziere die ISR mal auf:
1 | ISR(TIMER1_COMPA_vect) |
2 | {
|
3 | if (! irsnd_ISR()) // call irsnd ISR |
4 | { // if not busy... |
5 | irmp_ISR(); // call irmp ISR |
6 | }
|
Oder bei optisch guter Isolierung beider Signale auch so:
1 | ISR(TIMER1_COMPA_vect) |
2 | {
|
3 | irsnd_ISR()) // call irsnd ISR |
4 | irmp_ISR(); // call irmp ISR |
5 | }
|
:
Bearbeitet durch Moderator
Hallo Frank, 1. Die IR-Leds senden definitiv. 2. Sind SFH415 Dioden mit 950nm 3. Die werden via Transistor mit knapp 90mA je Diode angesteuert. Der Abstand zum Player ist 30 cm. Beide Adressen werden von IRMP so angezeigt. Hatte ich doch im Eröffnungspost so geschrieben. Die Asus Codes hatte ich damals mit einem Atmega32 ermittelt, der mit einem 16 MHz Quarz rannte. Es gibt keinen Unterschied in den Adressen und Codes, wenn ich die mit 32er mit internem Oszillator erfasse und auf dem LCD anzeigen lasse. Auf meinem IRMP-LCD sehe ich bei den Tests, dass der Code für den Asus korrekt (nach IRMP Meinung) ausgesendet wird. Irgendwo beißt sich hier der Hund selbst in den Schwanz....
@Frank: Das bled in der ISR dient dazu, dass erst nach Ablauf von ca. 200 ms IRMP wieder zum Zug kommt. D.h., nach dem Empfang der Codes von der Opticum FB wird etwas gewartet bevor der Asus Code ausgesendet wird. Grund ist, dass keine optische Trennung vorhanden ist. IR Empfänger und Sender sitzen praktisch nur 3 cm von einander getrennt auf der Platine.
Kann es sein, dass die Original-FB beim Drücken einer Taste vielleicht grundsätzlich einen Wiederholungsframe hinterherschickt? Manchmal gibt es sowas. Das könntest Du mal mit: irmp_data_out.flags = 1; testen. Du müsstest dann mit Deinem IR-Tester aber auch flags=1 auf dem LCD sehen, wenn dieser Wiederholungen berücksichtigt und nicht einfach so wegschmeisst. Den Tester-Code habe ich mir jetzt nicht angeschaut.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.