Forum: Mikrocontroller und Digitale Elektronik fernbedienung - IR protokolle !


von josef angermeier (Gast)


Lesenswert?

hi ihr

ich würde gerne mit dem mikrocontroller so eine art 
universal-fernbedienung bauen, aber erstmal wäre ich schon mal froh wenn 
ich die signale von meinem eigenen fernseher verstehen könnte. das ist 
nämlich ein modell von der firma SAMSUNG und wie mir scheint verwenden 
die kein RC5 protokoll. hab auch schon fleißig gesucht, aber vielleicht 
hat jemand von euch mehr glück gehabt ?

und apropos auf meinem mikrocontorller 
(http://www.mikrocontroller.com-platine) funktioniert die 2. LED nicht, 
einmal hab ich se so ganz dumpf leuchten gesehn, was macht man da ?

ausserdem verwende ich den avr-gcc unter linux und würde gern mein 8x2 
lcd ansprechen. muss ich das selber umsetzen oder hat das von euch schon 
jemand gemacht ?

ciao

von Holger Buss (Gast)


Lesenswert?

Hi Josef,

elektor hatte Ende letzten Jahres eine Auflistung aller IR-Protokolle 
(November/Dezember?)

Zur LED: Was ist denn mit den anderen LEDs? Hast Du mal die Spannung 
über dieser LED gemessen? Vielleicht schaltest Du sie ja auch per 
Software nur schnell an und wieder aus?

Gruss,
Holger

von Meiserl (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Habe vor einigen Wochen was ähnliches gemacht.
3 verschiedene Geräte mit einen µC gesteuert.

Ich habe auch im Internet nach Standards gesucht nur anscheinend gibt es 
die nicht wirklich.

Jeder Hersteller kocht da so seine eigene Suppe.
Schließlich habe ich dann auch entschlossen das Protokoll der 
Fernbedienung mit einem Digitaloszi aufzunehmen und dann im µC 
nachprogrammiert.
Und noch ein paar Protokollbeschreibungen und das Ding lief.

Ich hoffe der Anhang hilft dir etwas weiter.
(Elektor Artikel und NEC Protokollbeschreibung)

... viel spass

von josef angermeier (Gast)


Lesenswert?

danke meiserl! echt super! des war genau des was ich verzweifelt 
gesuchte hab. nochmal danke!

von josef angermeier (Gast)


Lesenswert?

mmm, ein bisschen verständnisprobleme was das abtasten von nem signal 
betrifft hab ich allerdings noch. also ich hab jetz erstmal versucht das 
RC5-IR-Protokoll zu verstehen, weil ich dazu von 
http://www.mikrocontroller.com ja den source zum dekodieren habe. - was 
ich bei dem source allerdings nicht so ganz verstanden habe ist warum 
die timer-frequenz auf 31250hz gestellt wird und was der satz 
"entspricht 1,5 fache bit länge" bedeutet.

also jetz mal ganz langsam: RC5 ist manchester-codiert, und ein bit ist 
genau 1778us lang. deswegen hätte ich halt folgendermassen gedacht: 
abtastfreqzenz mit 1/1778us und des noch mal 256, sodass der 
mikrocontroller beim überlauf des 8-bit counters den interrupt genau 
auslöst. naja vielleicht kann mir da jemand einfach die rechnung sagen 
wie man 31250hz kommt, den rest find ich dann schon raus

danke & tschüss

von Thomas_D (Gast)


Lesenswert?

Ein einfacher Ansatz zum Probieren wäre, einfach das Signal immer nach 
einem Viertel der Bit-Länge abzutasten und je nach dem ob HIGH oder LOW 
anliegt, Daten einlesen. So hab ich das beim ersten Mal gemacht, 
funktionierte auf Anhieb einwandfrei.

von josef angermeier (Gast)


Lesenswert?

naja das Samsung IR signal liefert zuerst 4,5ms high und dann 4,5 ms 
low, und ich triggere auf eine steigende flanke warte 1/2*0.56ms und 
dann immer 0.56ms und diese werte schreib ich in den speicher und geb 
sie später nach der messung aus.
es kommen auch 8 x '1' zum vorschein, bloss danach kommt nur eine 0 für 
die 4,5ms low.... weiß ned so recht was ich davon halten soll! also ich 
hab da keine erfahrung deswegen kann ich da so ziemlich alles falsch 
gemacht haben.


mmm, mit "je nach dem ob HIGH oder low anliegt, daten einlesen"... 
meintest du dass du halt so das eine signal von den andern (wie zum 
beispiel so ner dummen lampe ...gr* ) unterscheidest


SIGNAL(SIG_INTERRUPT0){
  unsigned char werte[64];
  unsigned char temp, i,c;

  semi_delay_1p125ms();
  for(i=0;i<sizeof(werte);i++){
    werte[i] = bit_is_set(PIND,2) ? '1' : '0';
    delay_1p125ms();
  }

  led_mask(LEDMASK_ALL);
  for(c=0;c<sizeof(werte)/16;c++){
    lcd_clear();
    for(i=0;i<16;i++) lcd_putchar(werte[c*16+i]);
    delay_1s(10);
  }
  led_mask(LEDMASK_NONE);




}

von FrankL (Gast)


Lesenswert?

Vorsicht mit dem ELEKTOR Beitrag er ist schlecht.

Einige Protokolle stimmen nicht.

von josef angermeier (Gast)


Lesenswert?

im elektor beitrag wird auf das samsung protokoll garnicht so gross 
eingegangen, aber es ist ein hinweis auf einen mikrocontroller der von 
samsung fernsteuerungen verwendet wird, und in den datenblättern steht 
das protokoll genauso erklärt !

von Meiserl (Gast)


Lesenswert?

Hallo FrankL

Ich würde nicht sagen das der Elektorartikel schlecht ist, sondern es 
sind nicht alle Protokolle beschrieben.
Dieser Artikel wäre sonst ein ganzer Band geworden.

Leider macht sich hier jeder Hersteller seinen eigenen Standard.

Ich denke dieser Artikel ist wenigstens etwas.  Nur mit dem Digitaloszi 
in den Protokollen schnüffeln ist sehr mühsam.
Und oft sind verschiedene Protokolle ähnlich.

Hatte z.B.: so einen Fall mit einem Hirschmann Receiver er verwendet den 
NEC-Code und hängt hinten dran noch ein Bit.

Also wars gut eine Beschreibung des NEC-Codes zu haben....

von Meiserl (Gast)


Lesenswert?

Anfrage an FrankL

Du sagtest ja das einige Protokolle falsch beschrieben sind.
Hast du Unterlagen wie sie richtig sind.

Wäre dir sehr dankbar wenn du mir die zukommen lässt.
Man findet sehr weinig Infomaterial im Netz darüber.

Vielleicht bist ja grad du eine Quelle wo man vieeeele IR-Protokolle 
bekommt.

von FrankL (Gast)


Lesenswert?

Hallo Meiserl

Ausprobieren mit der Fernbedienung mit der Du senden willst. Scope oder 
Soundeditor (input auf 1V gegrenzen).

Wenn man dann seine Programm danach schreibt, ist es ein leichtes die 
Funktionen und die Systemnummern mit Led's sichtbar zu machen. Wenn man 
als IR Code Anfänger sich auf eine Fachzeitung verlässt und es praktisch 
ganz anders aussieht, dann war es vielleicht eine kleine Hilfe.

Wer die Elektor über Jahre liest, kennt ja die Nachlese.

Ich habe gerade so meine Erfahrungen mit einer Sony IR Fernbedienung 
gemacht. Die gesendeten Funktionen mit der Systemnummer sind teilweise 
doppelt vergeben (Systemnummer CD und VTR gleich). Je nach angewähltem 
System sind Tasten belegt/nicht belegt.

Bei einer Grundig IR Fernbedienung sind zwar eine Menge Tasten aber 
einige werden nicht dekodiert.

von Meiserl (Gast)


Lesenswert?

Hi FrankL

komischerweise haben bei mir die SonyCodes für VTR und Fernseher genau 
gestimmt.

Allerdings waren im Elektor nicht ALLE Tasten und Codes.
Aber wie gesagt besser als nichts.

Hab auch so ähnliche Erfahrungen wie du gemacht wie z.B.: gibts beim VTR 
einen Recordknopf und beim Fernseher nicht :-)))))) wenn man nachdenkt 
ist es ja logisch.

von josef angermeier (Gast)


Angehängte Dateien:

Lesenswert?

mmm, als ehrlichgesagt probier ich an dem samsung protokoll jetz schon 4 
tage rum, aber ich glaub ehrlichgesagt nicht, dass es irgendwie an einer 
falschen beschreibung von elektor liegt sonder vielmehr an meinem 
unvermögen :-)
wenn jemand grad zeit und lust hat meinen code anzuschauen wär das 
natürlich toll, ich kann jetz heute nimmer. ist bestimmt irgendeine 
blöde kleinigkeit.

tschüss

von josef angermeier (Gast)


Lesenswert?

den fehler hab ich nun gefunden. - ich hab mich wohl einfach zu schnell 
von datenblatt des empfängers erschrecken lassen. - der empfänger gibt 
das optische signal kurze zeit verzögert eben INVERS wieder raus. - zwar 
ist das signal nicht 100% einwandfrei (- zuviele bits und nicht ganz 
optimal) aber das start-bit stimmt und mit ein bisschen 
mehrfachabtastung klappt des dann hoffentlich schon.

von Wagner Lipnharski (Gast)


Lesenswert?

Also check http://www.ustr.net for Nec, Sony, JVC, Hitachi, RC5, and 
other infrared remote control specifications and some hints to decode 
them using any microcontroler...

Wagner.

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
Noch kein Account? Hier anmelden.