OneUp2:
Hab ihn auch schon über eine Stunde suchen lassen.
Es ist Quatsch zu versuchen, eine Zeit decodieren zu wollen, wenn Du überhaupt nicht weißt, wie gut oder wie schlecht Dein empfangenes Signal ist.
Lade Dir zum Testen des Signals diesen Test-Sketch:
/*
* DCFPulseLength.ino - DCF77 debug Example
* Thijs Elenbaas, 2012
* This example code is in the public domain.
This simple example shows the pulse-to-pulse time and pulse lengths
coming from the DCF decoder.
Notice that will the DCF specification says that pulses should be either
100 or 200 ms, we notice longer pulse lengths. This is likely due to to
the hardware of the decoder. For optimal distinction between long and
short pulses in the DCF library, set the parameter
#define DCFSplitTime in DCF77.h to (Tlongpulse+Tlongpulse)/2
*/
#define BLINKPIN 13
#define DCF77PIN 2
int flankUp = 0;
int flankDown = 0;
int PreviousflankUp;
bool Up = false;
void setup() {
Serial.begin(9600);
pinMode(DCF77PIN, INPUT);
pinMode(BLINKPIN, OUTPUT);
}
void loop() {
int sensorValue = digitalRead(DCF77PIN);
if (sensorValue) {
if (!Up) {
flankUp=millis();
Up = true;
digitalWrite(BLINKPIN, HIGH);
}
} else {
if (Up) {
flankDown=millis();
Serial.print("Cycle: ");
Serial.print(flankUp-PreviousflankUp);
Serial.print(" Pulse :");
Serial.println(flankDown - flankUp);
PreviousflankUp = flankUp;
Up = false;
digitalWrite(BLINKPIN, LOW);
}
}
}
Wenn Du keine sauberen Impulse von 1000 ms Dauer bekommst, mußt Du suchen, wo der Fehler liegt.
Langwelle dringt zwar durch alles durch, so dass die Antenne nicht wie bei GPS am Fenster liegen braucht wie bei GPS, sondern bei DCF ist der Empfang mitten im Raum genau so gut wie am Fenster, aber Langwellen werden durch alles gestört, was elektromagnetische Abstrahlungen verursacht, zum Beispiel:
- Computer
- Fernseher
- Monitore
- Schaltnetzteile
- Leuchtstoffröhren
- Energiesparlampen
- und alles was selbst funkt: jedes Handy, Smartphone oder WLAN-fähiges Gerät
Mindestabstand zu all diesen: Zwei Meter oder mehr
Auch der 16 MHz Arduino-Controller erzeugt im Nahfeld bereits einen Störnebel, so dass Du das GPS-Modul am besten einige Zentimeter entfernt vom Arduino-Board anordnest und die DCF-Antenne möglichst weit vom Atmega-Controller anordnest.
+------------+ +-----------+
| Atmega |---------| DCF-Modul |-------------|||||||||||||||||
+------------+ +-----------+ DCF-Anntenne
Und bevor Du anfangen kannst, eine Zeit aus dem Signal zu decodieren, brauchst Du erstmal ein stabiles 1-Sekunden-Signal.
Wenn Du das nicht hast, suche in zwei Meter Umkreis um die DCF-Antenne, woher die Störungen kommen!