Paso 6: La parte de software - explicación del código (1)
Aquí una explicación detallada del código
1) vamos a empezar por definir nuestros pins, estamos utilizando tre pines de Arduino para cada 2 registros de desplazamiento (se las documentaciones para las clavijas)
http://Arduino.CC/en/Reference/int
Líneas de datos a la piedra de la hora Líneas de datos a la piedra de minuto decimal Líneas de datos a la piedra solo minuta horas y minutos ajustan botones
int hlatchPin = 3;
int hclockPin = 4;
int hdataPin = 5;
int dlatchPin = 6;
int dclockPin = 7;
int ddataPin = 8;
int mlatchPin = 9;
int mclockPin = 10;
int mdataPin = 11;
const int hourPin = 12;
const int minPin = 13;
2) y definimos nuestras variables
int h = 0; number_to_display de bytes;
int m = 0;
int minutos = 0;
int d = 0;
int previousHours = 0;
int previousMins = 0;
int hours_display [13];
3) entonces se define el valor de visualización de la hora (binario - basta con ver la imagen adjunta)
Una referencia de matriz: http://www.arduino.cc/en/Reference/Array
number_to_display [0] = 0000000000000000;
number_to_display [1] = 0000000001000000;
number_to_display [2] = 0100000001000000;
number_to_display [3] = 0100000000100100;
number_to_display [4] = 0010010000100100;
number_to_display [5] = 0010010001100100;
number_to_display [6] = 0110010001100100;
number_to_display [7] = 0110010000101101;
number_to_display [8] = 0010110100101101;
number_to_display [9] = 0010110101101101;
number_to_display [10] = 0110110101101101;
number_to_display [11] = 0110110100111111;
number_to_display [12] = 0011111100111111;
4) declaramos nuestra entrada / salidas
PinMode () Referencia: http://arduino.cc/en/Reference/PinMode
pinMode (hlatchPin, salida); pinMode (dlatchPin, salida); pinMode (mlatchPin, salida); pinMode (hourPin, entrada);
pinMode (hclockPin, salida);
pinMode (hdataPin, salida);
pinMode (dclockPin, salida);
pinMode (ddataPin, salida);
pinMode (mclockPin, salida);
pinMode (mdataPin, salida);
pinMode (minPin, entrada);