Go Down

Topic: Binäre DCF77 Uhr mit exponentiellem Filter und Blinkenlighty (Read 19 times) previous topic - next topic

Udo Klein

Dir ist aber schon klar, daß meine Implementation funktioniert? Von daher ist die Frage

Quote
Kann der Digitale Filter denn die Aliaseffekte ausgleichen, die BEIM Abtasten entstehen?


schon etwas offensiv. Dass dich das wundert war aus der Frage nicht zu ersehen. Die hat sich vom Ton eher angehört wie: "Du hast nur Glück und weisst vermutlich nicht was Du tust". Hast Du Dir die Quellen auf meiner Seite angesehen. Ich habe die gelesen und ausreichend weit verstanden.
Check out my experiments http://blog.blinkenlight.net

MueThoS

Ich habe mal eine blöde Frage.
Ich experimentiere gerade mit dem Filter rum und hätte aber gerne den I2C frei.
Deshalb wollte ich den Eingangspin für das DCF77-Modul ändern.
Ich dachte dies geht hier:
Code: [Select]
const uint8_t dcf77_sample_pin = 19; // A5
19 = Analog 5
Wenn ich, sagen wir mal Analog 1 haben will:
Code: [Select]
const uint8_t dcf77_sample_pin = 15; // A1
Aber dann macht er nichts mehr.

Wo denke ich falsch?

jurs


Aber dann macht er nichts mehr.

Wo denke ich falsch?


Wenn Du Dich auf den Original-Code beziehst:

> const uint8_t dcf77_sample_pin = 19; // A5
> const uint8_t dcf77_analog_sample_pin = 5;
...
>    //const uint32_t input = digitalRead(dcf77_sample_pin) * decimal_offset;
>    const uint32_t input = analogRead(dcf77_analog_sample_pin)>200? decimal_offset: 0;

Deklariert sind sowohl dcf77_sample_pin als auch dcf77_analog_sample_pin.

Die auskommentierte Codezeile bezieht sich auf dcf77_sample_pin und die ausgeführte Codezeile aber auf dcf77_analog_sample_pin.

Wenn Du den Code so verwendest, mußt Du entweder
- die Deklaration für dcf77_analog_sample_pin ändern.
oder
- die Codezeile verwenden, in der dcf77_sample_pin verwendet wird und die andere auskommentieren.

MueThoS

Jetzt wo Du es sagst.  :smiley-eek:

Hab ich nicht gesehen.

Danke!

MueThoS

Ich glaube ich werde das nie lernen mit den Variablen Typen.
Ich versuche gerade das Funkuhrsignal in eine RTC zu schreiben.
von der Funkuhr bzw der Time.h bekomme ich ja :
Code: [Select]
sekund() minute() hour() year() month() day()
Das sind int wenn ich mich nicht irre. Diese werden mir auch schön im seriellen Monitor angezeigt:
Quote
17.12.2012 16:31:02


So die RTC (ich habe hier eine softI2C) nimmt die Daten richtig an wenn ich sie so schreibe:
Code: [Select]
uint8_t d[4];
d[3]=0x12; // Jahr
d[2]=0x12; // Monat
d[1]=0x16; // Tag
d[0]=0x01; // Wochentag

Das ist HEX-Schreibweise wenn ich mich nicht irre.
Wenn ich jetzt einfach die ints versuche zu übergeben sieht meine ausgelesene RTC so aus;
Quote
RTC: 11.0C.2001 01:1F:01

Das ist irgendwie falsch!
Gehe ich recht in der Annahme das ich aus dem int ein HEX machen muss?
Und wenn ja, wie?

Go Up