Paso 3: Código y explicación
El código completo está disponible en binarymetricclock.ino. Ahora procederé a explicar el código:deci de int = 0, centi = 0, milli = 0, micro = 0;
Estas son las variables que el tiempo. 0, 0, 0, 0 significa medianoche. Éstos se deben establecer en el momento en que sube el código, o enciende por primera vez.
void setup)
{
pinMode (13, salida);
pinMode (12, salida);
pinMode (11, salida);
pinMode (10, salida);
pinMode (9, salida);
pinMode (8, salida);
pinMode (7, salida);
pinMode (6, salida);
pinMode (5, salida);
pinMode (4, salida);
pinMode (3, salida);
pinMode (2, salida);
}
Este código es bastante auto explicativo. Podría haber utilizado un bucle o algo, pero he decidido no.
void writebin (int valor, int pin1, pin2 int, int pin3, pin4 int)
{
Se trata de una función que toma un valor, un valor int y escribe en binario a pin1 - pin4.
Si (valor == 0)
{
digitalWrite (PIN 1, bajo);
digitalWrite (pin2, LOW);
digitalWrite (pin3, LOW);
digitalWrite (pin4, LOW);
}
Si (valor == 1)
{
digitalWrite (PIN 1, HIGH);
digitalWrite (pin2, LOW);
digitalWrite (pin3, LOW);
digitalWrite (pin4, LOW);
}
Estas son sólo dos de cada diez declaraciones sobre cómo escribir cada número en binario. No comparto el resto, pero se incluyen en la fuente completa.
void loop)
{
writebin (deci, 5, 4, 3, 2);
writebin (centi, 8, 7, 9, 6);
writebin (milli, 10, 11, 13, 12);
Estos escriben la variable diferente a sus broches de es.
Delay(86.4);
Se trata de duración (en milisegundos) de un micro-día.
micro ++;
Indecates que ha pasado un día de micro.
Si (micro == 1000)
{
Milli ++;
micro = 0;
}
Esta instrucción if agrega a milli si el micro llega a 1000, mostrando que hay 1000 micro-días en milli-día.
Si (milli == 10)
{
centi ++;
Mili = 0;
}
Esta instrucción if simple aumenta centi en uno si milli llega a diez. Establece entonces milli nuevamente en 0.
Si (centi == 10)
{
Deci ++;
centi = 0;
}
Funciona de manera similar.
Si (deci == 10)
{
Deci = 0;
}
Otra vez trabajos de una manera similar.
}
Termine con el código! Bastante simple, ¿verdad?