/*
Das Programm gibt eine Bitfolge aus, die ein DCF 77 Signal simuliert
Es sind genau 59 Bit, die nach einer kurzen Pause wiederholt werden
Die simulierte Zeit ist 17.03 Uhr
0-00011110001110-001001-11000000-1110100-011000-111-00001-001001000
*/
#define outPin 16 // D0
#define ledPin 2 // D4
byte selectBit;
int timeBit[59] = {0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 2};
void setup() {
pinMode(outPin, OUTPUT);
pinMode(ledPin, OUTPUT);
digitalWrite(outPin, LOW);
digitalWrite(ledPin, HIGH);
}
void loop() {
for (int i = 0; i <= 58; i++) {
int a = timeBit[i];
if (a == 0) {
selectBit = 0;
if (a == 1) {
selectBit = 1;
if (a == 2) {
selectBit = 2;
switch (selectBit) {
case 0:
digitalWrite(outPin, HIGH);
digitalWrite(ledPin, LOW);
delay(100);
delay(900);
break;
case 1:
delay(200);
delay(800);
case 2:
delay(1900);
case 3:
delay(1800);