Paso 6: El código
Caminata paso a paso a través de:
#define
Esto configura todas las salidas de pin para el ATtiny
Setup()
asigna pinMode a todos los pines
He tenido problemas con la configuración de mi reloj binario para el mismo como mi reloj así que añadido un valor de configuración, pulsar el botón de hora pasa por alto esta opción
shiftOut enviar el byte de 0xff, B11111111 en binario, los datos para el registro de desplazamiento, esto se convierte en todas las columnas
digitalWrite enciende luego una capa
luego espera a que el botón de la hora o el minuto; la hora botón salta el proceso de ajuste el minuto comienza el timmer
otra capa se enciende y empieza a contar
Cuando termines con 60 segundos Presione el botón de hora, cambiar botones
Loop()
tiendas de lastSecond cuando el reloj ha añadido un segundo, si es sobre el testTime agrega un segundo
testTime fue configurado o ignorar anteriores el valor predeterminado es 1000
el si () s evaluar si necesita cambiar la hora o minutos, añadí un if() no se utiliza si desea que el botón de minutos para
todas las variables de unidad sUnit, mUnit y hUnit reciben el valor de los lugar para segundos, minutos y horas
los botones se preguntó si están en
se llama a la función activate(), se describe a continuación
Activate()
Esto se enciende todos los LEDs para el tiempo actual
* una nota sobre el no uso de un registro de desplazamiento, utilice el que - no lo he probado asi que espero te funcione
Cuando el reloj baja datos pueden escribirse que y se desplazarán cuando reloj alta
haciendo esto permitiendo la capa para activar
hay un retraso por lo que tus ojos verán el LED
entonces todas las capas se dan vuelta apagado antes de carga la siguiente capa
aclarar y repetir...
Layer()
uno, dos, cuatro y ocho corresponden al valor del LED, en binario, será dado vuelta alto o bajo...
es mucho de números que parpadearán en el camino sabemos que es un reloj
LED()
se convierte en la capa correspondiente al valor de tiempo