Clock + possibility for safe/lock

Descripción de la función

Nuestro proyecto es un reloj funcional completo. En la parte delantera hay 60 LEDs, uno para cada segundo, y en la parte superior del reloj que hemos colocado un segmento LED pantalla que mantiene un registro de los minutos y horas. Como una característica extra que hemos instalado un potenciómetro conectado a los LEDs y al girar el potenciómetro control que de los 60 LEDs que va a la luz. El objetivo principal con esta función adicional debía ser capaz de poner en un código secreto que luego se cierre la caja, como una caja fuerte.

Lista de componentes
• 60st LEDs RGB por controladores de LED de corriente constante de HC595

• 4 salidas de x HC595 con 16 cada uno

• 4 x 7 segmentos LED para la indicación

• DS1307 reloj tiempo real

• Fotorresistencia (para el ajuste de brillo)

• Potenciómetro

• Interruptor (en la tecla/Off)

Código:
LED int latchPin = 2;

int reloj = 4;

int dataPin = 2;

Botones
int ButtonPin = 13;

int analogPin = A0;

Reloj int APin = 5;

int BPin = 6;

int CPin = 7;

Trabajo de int = 8;

previousTime largo sin signo = 0;

int hora = 11;

int minutos = 36;

int segundo = 0;

int HourTen = 0;

int MinuteTen = 0;

int Hourunit = 0;

int Hour1 = 0;

int Minuteunit = 0;

int minutos = 0;

int HourPin = 9;

int HourunitPin = 10;

int MinutePin = 11;

int MinuteunitPin = 12;

intervalo largo sin signo = 1000;

void setup () {}

pinMode (analogPin, entrada);

pinMode (ButtonPin, INPUT_PULLUP);

Pernos de LED

pinMode (latchPin, salida);

pinMode (reloj, salida);

pinMode (dataPin, salida);

Pasadores reloj

pinMode (APin, salida);

pinMode (BPin, salida);

pinMode (CPin, salida);

pinMode (trabajo, salida);

pinMode (HourPin, salida);

pinMode (HourunitPin, salida);

pinMode (MinutePin, salida);

pinMode (MinuteunitPin, salida);

Serial.Begin(9600);

}

void loop () {}

currentTime larga sin signo = millis();

Si (digitalRead(ButtonPin) == LOW) {}

int val = analogRead(analogPin);

Val = mapa (val, 0, 1023, 0, 60);

lightlednr(Val);

}

Else {}

Si ((currentTime-previousTime) > intervalo) {}

En segundo lugar = segundo ++;

previousTime = currentTime;

Serial.Print(hour);

Serial.Print(":");

Serial.Print(minute);

Serial.Print(":");

Serial.println(Second);

Serial.Print(bitRead(digit,3));

Serial.Print(bitRead(digit,2));

Serial.Print(bitRead(digit,1));

Serial.println(bitRead(digit,0));

}

Si (segundo == 60) {}

Segundo = 0;

Minutos = minutos ++;

}

Si (minutos == 60) {}

Minuto = 0;

Hora = hora ++;

}

Si (horas == 24) {}

Hora = 0;

}

ha pasado un segundo

Minuteunit = minuto % 10;

MinuteTen = (minuto - Minuteunit) / 10;

Hourunit = hora % 10;

HourTen = (hora - Hourunit) / 10;

UpdateClock(); lightlednr(Second);

}

}

Serial.Print(hour);

Serial.Print(":");

Serial.Print(minute);

Serial.Print(":");

Serial.println(Second);

void UpdateClock() {}

digitalWrite (HourPin, alto);

showdigit (HourTen);

Delay(5);

digitalWrite (HourPin, bajo);

digitalWrite (HourunitPin, alto);

showdigit (Hourunit);

Delay(5);

digitalWrite (HourunitPin, bajo);

digitalWrite (MinutePin, alto);

showdigit (MinuteTen);

Delay(5);

digitalWrite (MinutePin, bajo);

digitalWrite (MinuteunitPin, alto);

showdigit (Minuteunit);

Delay(5);

digitalWrite (MinuteunitPin, bajo);

}

void showdigit (int dígitos) {}

digitalWrite (APin, bitRead(digit,0));

digitalWrite (BPin, bitRead(digit,1));

digitalWrite (CPin, bitRead(digit,2));

digitalWrite (trabajo, bitRead(digit,3));

Serial.Print(bitRead(digit,3));

Serial.Print(bitRead(digit,2));

Serial.Print(bitRead(digit,1));

Serial.println(bitRead(digit,0));

//

}

void lightlednr (lednr bytes) {}

digitalWrite (latchPin, bajo);

Serial.println (lednr, BIN);

byte shbyte = 0;

Si (lednr < 8) {}

shiftOut (dataPin, reloj, LSBFIRST, bitWrite (shbyte, (lednr % 8), 1));

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

}

else if (lednr < 16) {}

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, LSBFIRST, bitWrite (shbyte, (lednr % 8), 1));

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

}

else if (lednr < 24) {}

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, LSBFIRST, bitWrite (shbyte, (lednr % 8), 1));

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

}

else if (lednr < 32) {}

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, LSBFIRST, bitWrite (shbyte, (lednr % 8), 1));

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

}

else if (lednr < 40) {shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, LSBFIRST, bitWrite (shbyte, (lednr % 8), 1));

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

}

else if (lednr < 48) {shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, LSBFIRST, bitWrite (shbyte, (lednr % 8), 1));

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

}

else if (lednr < 56) {}

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, LSBFIRST, bitWrite (shbyte, (lednr % 8), 1));

shiftOut (dataPin, reloj, MSBFIRST, 0);

}

else if (lednr < 64) {}

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, MSBFIRST, 0);

shiftOut (dataPin, reloj, LSBFIRST, bitWrite (shbyte, (lednr % 8), 1));

}

digitalWrite (latchPin, HIGH);

}

Artículos Relacionados

Carne hamburguesa ingresos

Carne hamburguesa ingresos

Se ha dicho que "se rompió es una condición temporal, pobre es un estado de ánimo". Hay mucho de verdad a eso. Me gustaría añadir que rico también es un estado de ánimo. Si usted tiene lo que necesitay algunas o la mayoría de lo que usted quiere
En su propio tiempo!

En su propio tiempo!

8 veces siete segmentos pantalla inducida por me hacer este dispositivo de reloj. El principio de diseño es: mostrar el cableado y la electrónica!Después de probar con el Arduino y un protoboard decidí hacer algunos ejemplos en el PWB. También las se
Reloj de lenguaje natural para RaspberryPi

Reloj de lenguaje natural para RaspberryPi

Todo lo que necesita es un RaspberryPi, hará cualquier modelo.Este programa fue escrito para ayudar a reconectarme con cadena en C. El RaspberryPi me interesé en programación otra vez después de no hacerlo en unos 20 años.Si nunca ha utilizado el com
Centro de información de 1990 mustang GT

Centro de información de 1990 mustang GT

*** actualización: v3.6 incluye correcciones a tiempo y RTC para mostrar antes de cerradura de la señal GPS ***SIGUIENTE: conectar y calibrar el sensor de temperatura del exterior ***Este proyecto de Arduino utiliza un 20 x 4 LCD instalado en lugar d
Bicicleta de LED intermitentes

Bicicleta de LED intermitentes

era volver a publicar en TreeHugger! http://www.TreeHugger.com/Slideshows/gadgets/how-make-LED-Turn-signals-Your-Bike/Resulta que los chicos de CleanTechnica y WonderHowTo escribió en su blog sobre esto sin decirme primero. No estoy seguro si debo es
Lechuga para la vida - Arduino 101 basado automatizado controlador para hidroponía, aeroponía, acuaponia, etc..  Curie de Intel

Lechuga para la vida - Arduino 101 basado automatizado controlador para hidroponía, aeroponía, acuaponia, etc.. Curie de Intel

RESUMENUn dispositivo que puede usarse para controlar hasta 4 diferentes sistemas Hydroponic/aeroponica a la vez. El dispositivo de los componentes del sistema de control y mostrar la notificación a una pantalla de LCD y permiten al usuario personali
Super safe magnetically locked flash drive (in five minutes or less)

Super safe magnetically locked flash drive (in five minutes or less)

While browsing Instructables the other day I found this brilliant idea- - Upon looking at the comments, I found that it is possible to lock a USB port by putting a switch on one of the data cables. Si bien es una idea impresionante, he encontrado un
Dead Mac Laptop Clock                                                                                                                                                                                                                       lock

Dead Mac Laptop Clock lock

MaterialsMecanismo del reloj con las manosTapa superior de una MacBook / Pro / iBook / PowerbookCartulina blancaHerramientasTaladroBrocas (tamaño depende del reloj)Paso 1: taladro Hacer un agujero por debajo del logo de applePaso 2: montar Coloque el
Tensegrity Goes Big For Burning Man

Tensegrity Goes Big For Burning Man

La pieza se llama 'Quiralidad', significa 'uso de las manos' y es una escultura de tensegridad de gran escala que fue diseñada y construida para el año 2015 de hombre ardiente en el lapso de cuatro meses. Fue construido en el sitio por un equipo dedi
Hand In Hand Skeleton Clock

Hand In Hand Skeleton Clock

Una mano en la mano reloj es un reloj donde el minutero está montado en la punta de la aguja de las horas (y el segundo en minutos). Esto le da un aspecto peculiar y único, pero aún muy legible y el reloj como.Este reloj es una edición esqueleto de u
Cuatro letras Word Clock con el generador de Akafugu palabra y frases inspiradoras

Cuatro letras Word Clock con el generador de Akafugu palabra y frases inspiradoras

Esta es mi versión de las cuatro letra Word Clock, una idea que se originó en la década de 1970. El reloj muestra una serie de cuatro – letra palabras que se generan de un algoritmo de generador de palabra al azar o de una base de datos relacionados
La nueva funda DIY U-lock

La nueva funda DIY U-lock

Después de algunos días de experimentación creo que he encontrado el perfecta DIY funda para cerraduras de U. Ideal para bicicletas con Marcos pequeños que no tienen suficiente espacio para una funda, pero funciona de maravilla en cualquier tipo y ta
Smart Lock usando Intel Edison

Smart Lock usando Intel Edison

En este proyecto hemos utilizado a un Edison de Intel para hacer una caja de la cerradura inteligente. Esto es principalmente porque podemos integrar una tarjeta de sonido, sensor de dedo de impresión y el solenoide de cerradura de la manera más fáci
Bicicleta bricolaje U-Lock

Bicicleta bricolaje U-Lock

Con todas mis pertenencias terrenales en la parte trasera de un antiguo 1992 Ford Ranger, clunked y rebotó a lo largo de las 689 millas entre San Diego, CA y Provo, UT. Después de casi 10 horas de conducción, tiré de la autopista y en una ciudad de c