Proyecto Arduino reloj para Ahmed (2 / 8 paso)

Paso 2: Añadir algunos salida - Display de 7 segmentos

Ver tiempo desactiva en la consola serie es cool, pero bueno, ya tienes un reloj digital exacta abajo en la esquina de la pantalla del ordenador. Necesitamos algunas reales de salida, así que voy a agregar un display de 7 segmentos. Adafruit y SparkFun tienen un número de opciones de visualización diferentes, pero voy a usar I2C de Adafruit uno (https://www.adafruit.com/products/881).

La pantalla y el módulo RTC (paso 5) tienen bibliotecas de software que deben instalarse para darnos la funcionalidad programarlos fácilmente. Bibliotecas Resumen todo el código de bajo nivel del hardware por lo que sólo podemos centramos en la tarea.

Eventualmente van a necesitar tres bibliotecas, así que vamos a instalar todos ellos ahora. Comience con las instrucciones de la biblioteca de exhibición en https://learn.adafruit.com/adafruit-led-backpack/0... e instalar las bibliotecas de:

También, siguiendo las instrucciones de instalación de https://learn.adafruit.com/ds1307-real-time-clock-... la biblioteca de:

Conectar la pantalla por las instrucciones y el diagrama y prueba con el ejemplo de la biblioteca "sevenseg". Una vez que estés satisfecho está funcionando, estamos listos para algún código de reloj:

 #include "Wire.h" <br> #include "RTClib.h" #include "Adafruit_LEDBackpack.h" #include "Adafruit_GFX.h" Adafruit_7segment matrix = Adafruit_7segment(); // time variables long lastMillis; int hours = 0; int minutes = 0; int seconds = 0; void setup() { Serial.begin(9600); // Open channel to serial console Serial.println("Arduino Clock Step 2"); matrix.begin(0x70); // Start display } void loop() { long curMillis = millis(); // get current counter in milliseconds if (curMillis > (lastMillis + 1000)){ // If one second has passed: lastMillis = lastMillis + 1000; seconds = seconds + 1; // increment seconds if (seconds > 59){ seconds = 0; minutes = minutes + 1; // increment minutes if (minutes > 59){ minutes = 0; hours = hours + 1; // increment hours if (hours > 23){ hours = 0; } } } // Display time on serial console if (hours < 10){ Serial.print(" "); // pad hours } Serial.print(hours); Serial.print(":"); if (minutes < 10){ Serial.print("0"); // pad minutes} } Serial.print(minutes); Serial.print(":"); if (seconds < 10){ Serial.print("0"); // pad seconds } Serial.println(seconds); // Break time into individual digits for display int h1 = hours / 10; int h2 = hours - h1 * 10; int m1 = minutes / 10; int m2 = minutes - m1 * 10; int s1 = seconds / 10; int s2 = seconds - s1 * 10; // Send data to display if (h1){ matrix.writeDigitNum(0, h1, false); } else{ matrix.writeDigitRaw(0, 0); // blank instead of zero } matrix.writeDigitNum(1, h2, false); matrix.drawColon(seconds % 2); // on if second is odd matrix.writeDigitNum(3, m1, false); matrix.writeDigitNum(4, m2, false); matrix.writeDisplay(); } } 

Dependiendo de su hora de salida, sólo puede ver "0 00". Bastante aburrido. Si quieres ver algún movimiento número, intentar sustituir en los dígitos de los segundos (s1, s2) para los dígitos de minutos (m1, m2) para dígitos # 3 y 4.

También, la mayoría relojes digitales dan la indicación de segundos pasando por los dos puntos entre horas y minutos que destella. Usted puede hacerlo usando un modulo de prueba en segundos a flash en si es impar, apagado si es incluso. Trate de añadir:

 matrix.drawColon(seconds % 2);<br> 

Con la biblioteca RTC (incluso sin el módulo real instalado), podemos utilizar algunos trucos para obtener la hora el bosquejo fue guardado y ajuste la hora.

 // Get upload date time<br> DateTime uploadDateTime = DateTime(__DATE__, __TIME__); int hours = uploadDateTime.hour(); int minutes = uploadDateTime.minute(); int seconds = uploadDateTime.second(); 

Ahora debe tener una pantalla decente de tiempo actual hasta que reinicia o encender el tablero. Sólo volver a subir el boceto para definir la hora otra vez!

Tiempo para explorar:

  • ¿Cómo harías el reloj correr más rápido o más lento?
  • ¿Puede hacer correr hacia atrás?
  • ¿Cómo podría mostrar AM/PM en lugar de 24 horas?

Artículos Relacionados

Arduino reloj construir instrucciones

Arduino reloj construir instrucciones

actualización: nueva versión que trabaja con Arduino 1.0 y superiores!El reloj de Arduino proporciona detección aumentada de temperatura y gama, programa de dibujo de color de 16 bits, juego Breakout y también dice la hora en su opción de digital, bi
Proyecto Arduino DIY-reloj

Proyecto Arduino DIY-reloj

Este instructable es en la construcción de mi Arduino-reloj. Este instructable reúne a un par de mis anteriores subproyectos que se han publicado en yo he progresado a la terminación de la palabra reloj.Entonces, ¿qué es un reloj de palabra? Es un re
' OK para despertar' en el reloj para su niño

' OK para despertar' en el reloj para su niño

3:45, mi hijo es feliz y despierto. Es tiempo de empezar su rutina de la mañana. Está gritando para pan con Nutella y quiere ir abajo para jugar.3:46 Obtener un aporte de mi esposa, que tengo que ir de la cama y convencerlo de que sigue siendo el med
10 proyectos de breadboard para principiantes

10 proyectos de breadboard para principiantes

Protoboard es una gran manera para construir proyectos electrónicos fácilmente y en menos tiempo sin necesidad de soldadura. Un problema que es enfrentado por los principiantes en el campo de la electrónica es que no se puede soldar los componentes c
RELOJ para cocer huevos en acrílico

RELOJ para cocer huevos en acrílico

Así que... fuiste al mercado de pulgas, buena voluntado navegado en línea y el perfectopedazo de basura que usted podría hacer el mejorCOSA de. Bueno yo vi esta base acrílicoy dijo wow... Qué gran huevo-timer.Yo sólo te pegue unos LEDs, escribir una
Parcela el reloj para los maniquíes.

Parcela el reloj para los maniquíes.

Revisiones:1. agrega las instrucciones del módulo reloj DS1307 en tiempo real.Esta no es mi idea, pero voy a intentar mostrar cómo conseguí que funcione finalmente.A menudo, los chicos brillantes que hacen estas cosas, se olvida que hay idiotas (como
Cuadro de proyecto Arduino

Cuadro de proyecto Arduino

Constantemente estoy jugando en tierra de Arduino con sensores, pantallas y nuevos brotes de acné. Recientemente, tuve la llamada a construir un registrador de temperatura para registrar temperaturas de 16 diferentes lugares dentro de un gran montaje
4WD todo terreno Arduino Robot para todos

4WD todo terreno Arduino Robot para todos

Siempre me ha gustado robots que pueden moverse en terrenos ásperos. Esta vez he decidido que voy a utilizar chasis confeccionado modificarlo un poco y añadiendo unos pocos componentes adicionales. Mediante el uso de un chasis listo rápidamente podrí
Cómo uso mBlock Software para Control de la placa de Arduino UNO para tocar el órgano electrónico

Cómo uso mBlock Software para Control de la placa de Arduino UNO para tocar el órgano electrónico

mBlock es un software de programación gráfica que está diseñado partiendo de cero y es compatible con placas Arduino Arduino UNO, Nano, mega 2560, leonardo, PicoBoard, Makeblock Junta y etc.. La gente puede programar su aplicación, proyectos de Ardui
Proyecto Arduino: Giroscopio/acelerómetro MPU-6050 y Adafruit Motor Driver escudo

Proyecto Arduino: Giroscopio/acelerómetro MPU-6050 y Adafruit Motor Driver escudo

Hola chicos, si usted está planeando usar el módulo del MPU 6050 giroscopio/acelerómetro o L329D adafruit moter conductor protector con Arduino para su próximo proyecto luego te están en el lugar correcto, porque en el artículo estoy compartiendo un
Beeduino: Caseros Arduino Uno para $6

Beeduino: Caseros Arduino Uno para $6

¿Hey cual es el costo de esta placa azul cosita, "Arduino" Creo que su llamado? Bien el costo es aproximadamente $30 por tablero. Woah $30 para solo este simple circuito. ¿Cuál es tan especial en ella? Bueno nada en realidad. Sólo una plataforma
LA placa ARDUINO DIY para 5$

LA placa ARDUINO DIY para 5$

La placa arduino es una plataforma de prototipado electrónico de código abierto utilizada por el aficionado, artista, diseñadores, fabricantes etc....El arduino es fácil de usar en lugar de cualquier otra tabla de prototipos.Echado a perder tanto din
Proyecto de Ciencias para niños - calentadores de mano reutilizable

Proyecto de Ciencias para niños - calentadores de mano reutilizable

Calentadores de mano - Haz clic en el botón de calor inmediato. Hervir para volver a utilizar.Un buen proyecto de día lluvioso que tiene un poco de ciencia detrás de él, pero también será popular con los niños en el invierno está haciendo calentadore
Caja cristalina para Arduino reloj

Caja cristalina para Arduino reloj

Estoy haciendo un smartwatch con alguna placa de Arduino. Es muy fácil de encontrar recursos de hardware y software cómo hacerlo en la web. Pero que estoy enfrentando un problema crítico, smartwatch de Arduino más imagen Google no es lo suficientemen