Go Down

Topic: FS20 Sendemodul mit Arduino Duemilanove ansteuern (Read 4 times) previous topic - next topic

maximat

Hy Marco, vielen Dank, bei mir läuft die Schleife mit den externen Interrupts pausenlos durch und zeigt einen unregelmäßigen Wechsel von 0 + 1 an.
Ich komme garnicht dazu eine Dauer zu messen. Hast du dein Programm noch?
Es könnte ja sein, dass es doch an den Pegeln liegt - ich werde mir mal ein 3,3 Volt Bord besorgen
Grüße von Klaus

Dollhouse31

Diesen Pegelwechsel hast du andauernd, liegt am Rauschen! Du musst die Zeitdifferenz zwischen den beiden interrupts messen und schauen ob es sich bei einem high impuls um ein mögliches fs20 Bit handeln könnte! Anschliessend den low Impuls auswerten und schauen, ob er dazu passt!
Wie schon gesagt, guck dir mal das fs20 Protokoll an. Passt die high und die anschliessende low Impulsdauer kann es sich dann um ein fs20 Bit handeln!  
http://fhz4linux.info/tiki-index.php?page=FS20%20Protocol

Fs20 0 = 400us high und 400us low
Fs20 1 = 600us high und 600us low
Denk an die Toleranzen, die auf der URL angegeben sind!

Jetzt schreib dir einen Algorithmus der den synchroniserungsblock ermitteln kann! 12 * fs20 0 und 1 * fs20 1
Falls du ein arduino nutzt kannst du mit der Funktion micros() die systemlaufzeit ermitteln! Alte und neue Zeit von zwei interrupts ergibt Zeitdifferenz!

Den Code hätte ich zurnot auch noch!;)

Dollhouse31

Hi Klaus, wollte mal ne Rückmeldung haben!
Hast du es hinbekommen?
Gruß Marco

Go Up