RC5 Code (Philips) mit Picaxe 08M generieren
Vielleicht etwas verwirrend, daher editiert siehe Ende des Textes.Hallo
Hoffe hier kann mir jemand weiterhelfen. Möchte mit einem Picaxe ein Philips Gerät ansteuern. Hierzu kann ich leider nicht den Unterstützten Sony Code nutzen, sondern muss den RC5 Code anwenden.
Bei dem RC 5 Code wird ein "1" Bit übertragen als abwechselnd 32 Impulse a 6,9444us und 32 pausen a 20,8332us (entspricht 36KHz).
Bei einer normalen Fernbedienung für Philips Geräte wird dies Taktung von einem 36KHz Generator übernommen, und dieser wird zum Erzeugen der benötigten Bits ein und ausgeschaltet.
Ich würde nun gern mit dem PWM Ausgang diese Taktung erzeugen. Für ein "1" Bit müßte ich dann den PWM Ausgang für 889uS aus, dann für 889uS einschalten. Für ein "0" Bit andersrum (erst ein, dann aus).
In dieser Weise würde ich dann meine gewünschten 14 Bit (für meinen Befehl zusammengestellt) per Ansteuerung einer IR Led über den PWM Port senden.
Sollte ja normalerweise möglich sein. Der Picaxe soll vorerst auch nur für diese eine Aufgabe genutzt werden.
Wie programmiere ich nun den PWM Ausgang auf meinen "Wunsch"? Komme damit noch nicht so ganz klar und währe für Hilfe sehr dankbar!
Den Rest bekomme ich wahrscheinlich Problemlos hin.
Edit:
[glow=red:77a3133240]Einfacher gesagt:[/glow:77a3133240]
Ich brauche Hilfe bei der Erstellung eines "PWM Programms" mit folgenden Parametern: Impuls (6,9444µS) dann Pause (20,8332µS) dann Impuls (6,9444µS) dann Pause (20,8332µS)...
Um meine gewünschten "Bits" dann zu übertragen würde ich diese PWM Signal dann entsprechend ein bzw abschalten um meine IR LED anzusteuern.
Vielen Dank für Eure Bemühungen
Mirco
Vielen Dank für deine Hilfeversuche
Hallo.
Danke für deine Hinweise.
Leider bin ich auch noch nicht wirklich weiter, da meine Puls / Pausen-verhältnisse (von 6,9444µs Puls + 20,8333µs pause.....) anscheinend einfach zu schnell für den Picaxe sind.
Hatte Ursprünglich angenommen, es sei sehr einfach. Wollte einfach Port einschalten, nach gewünschter zeit auf 0 und dann eben wieder einschalten... leider sind die kürzesten verfügbaren Pausen ja im ms Bereich, was mir nichts bringt:-(
Aber irgendwie muß es ja gehen, denn der im Picaxe integrierte "IR Sony Code" wird ja auch mit 38KHz ausgesendet. Beim RC5 Code benötige ich als Grundtakt 36KHZ.
Mal schauen. Vielleicht findet sich ja noch eine Lösung. Sonst versuche ich einen externen Oszillator mit 36KHz aufzubauen, den ich einfach vom Picaxe aus ansteuer um meine Bits zu übertragen. Wir in normalen Fernbedienungen ja ähnlich gemacht.
Hatte nur gehofft es ohne große externe Beschaltung hinzubekommen!
Grüße Mirco
Hey vielen Dank für die Infos.
Hallo.
Wofür brauchtest du denn diese kurzen Signale?
Habe da noch ein paar kurze Fragenn zum Verständnbiss, um deine Idee nicht ohne es zu verstehen zu übernehmen.
das von Dir gewünschte Verhältnis wären also period=27 (gewünschter Wert - 1! wiso??) und duty=28.
Verstehe ich das richtig entspricht
Periode 27 (=27*0,25uS ON entsprechen 6,75µS??)
duty 28(=28*1µS = 28µS pause??)
Wenn duty = Pause zwischen den Pulsen ist müßte ich ja aber duty21 nehmen, da ich ja eine Pause von 20,8333µS zwischen den Pulsen haben muss?!
Dann noch eine kurze Frage. Was bedeutet die 2 direkt hinter dem PWMOUT? PWMOUT 2,0,0 würde doch ein "PWM" ohne Pulse bedeuten. Nur als Befehl genutzt, um eben die 889µS zu haben und um den vorherigen PWM Befehl zu deaktivieren (oder wird er durch den naechsten Basic Befehl eh schon "überschrieben")?
Hoffe die Fragen nerfen nicht. Vielen Dank im Vorraus für deine Bemühungen!
Grüße Mirco
P.S.: Eine IR Fernbedienung habe ich nun bereits fertig unter www.mircosideen.de.vu