Paso 4: Paso "pasado", el código.
#include < LedControl.h >
#include < Wire.h >
const int DS1307 = 0x68;
A5 = SCL, A4 = SDA
const char * días [] = {"Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sabado"};
const char * meses [] = {"Enero", "Febrero", "Marzo", "abril", "mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"};
bytes segundo = 0; minutos de byte = 0; hora de byte = 0; día de la semana byte = 0;
byte monthday = 0;
mes de byte = 0;
año de byte = 0;
lastMinute byte = 0;
byte lastSecond = 0;
int Led = 13;
byte nul = B0000000;
een bytes = B01000000;
twee bytes = B01100000;
drie bytes = B01110000;
vier bytes = B01111000;
vijf bytes = B01111100;
zes bytes = B01111110;
zeven bytes = B01111111;
acht bytes = B11111111;
negen bytes = B01000000;
tien bytes = B01100000;
elf de bytes = B01110000; me
NT un = 0; int b = 0; int c = 0;
int vijfMinTwee = 0;
uitgang int = bajo;
/ * pin 12 está conectado a la DataIn pin 11 se conecta a la CLK pin 10 está conectado a la carga * /
LedControl lc = LedControl(12,11,10,1);
delaytime largo sin signo = 100;
void setup() {}
Wire.Begin(); Serial.Begin(9600);
pinMode (Led, salida);
LC.Shutdown(0,false);
/ * Ajustar el brillo a una media de valores * /
lc.setIntensity(0,8);
/ * y borrar la pantalla * /
lc.clearDisplay(0);
}
void loop() {}
readTime();
digitalWrite(Led,uitgang);
Si (segundo! = lastSecond) {}
Si (uitgang == LOW) uitgang = alta;
otro uitgang = bajo;
digitalWrite (Led, uitgang);
lastSecond = segundo;
}
Si (minutos! = lastMinute) {printTime(); lastMinute = minutos;
}
}
byte bcdToDec(byte val) {}
regresar ((val/16 * 10) + (val % 16));
}
void printTime() {}
buffer de Char [3];
minuten largo = minutos;
uren largo = horas;
int vijfmin = minuten 5;
int eenminuut = minuten-(vijfmin * 5);
int vijfuren = uren/5;
int eenuren = uren - (vijfuren * 5);
un = vijfmin;
Digitaal();
vijfmin = b;
vijfMinTwee = c;
un = eenminuut;
Digitaal();
eenminuut = b;
un = vijfuren;
Digitaal();
vijfuren = b;
un = eenuren;
Digitaal();
eenuren = b;
lc.setRow(0,4,vijfuren);
lc.setRow(0,3,eenuren);
lc.setRow(0,1,vijfmin);
lc.setRow(0,2,vijfMinTwee);
lc.setRow(0,0,eenminuut);
}
void readTime() {}
Wire.beginTransmission(DS1307);
Wire.Write(byte(0));
Wire.endTransmission();
Wire.requestFrom (DS1307, 7);
segundo = bcdToDec(Wire.read());
minutos = bcdToDec(Wire.read());
hora = bcdToDec(Wire.read());
día de la semana = bcdToDec(Wire.read());
MonthDay = bcdToDec(Wire.read());
mes = bcdToDec(Wire.read());
año = bcdToDec(Wire.read()); }
void digitaal() {}
interruptor (a) {}
caso 0:
b = nul; c = nul;
rotura;
caso 1:
b = een; c = nul;
rotura;
caso 2:
b = twee; c = nul;
rotura;
caso 3:
b = drie; c = nul;
rotura;
caso 4:
b = vier; c = nul;
rotura;
caso 5:
b = vijf; c = nul;
rotura;
caso 6:
b = zes; c = nul;
rotura;
caso 7:
b = zeven; c = nul;
rotura;
caso 8:
b = acht; c = nul;
rotura;
caso 9:
b = acht; c = negen;
rotura;
caso 10:
b = acht; c = tien;
rotura;
caso 11:
b = acht; c = elf;
rotura;
}
}
Muy sencillo, creo.
Otro beneficio de este bosquejo: ahora aprenden cómo contar en holandés... De 0 a 11... ;-)
Esperamos que disfruten esto!
Marc.