Estilo vintage reloj de pared de nixie (7 / 21 paso)

Paso 7: el software

Como software he hecho algunas modificaciones en el código usado para mi primer reloj (tomado del material de código abierto disponible en sitio Web Arduinix ). Dicho código ha sido modificado para utilizar solamente un conductor del nixie en vez de dos, ya que no necesito para ejecutar más de 6 dígitos, y prefiero guardar drivers... He subido el código a la IC de Atmega8 utilizando una placa Arduino , es la manera más simple en mi opinión, pero aviso que probablemente necesitará grabar el bootloader en el IC nuevo para poder usarlo en Arduino, yo uso un programador USBtinyISP.

Nota: debo haber implementé el código con la función RTC. Lamentablemente han surgido algunos problemas y estoy teniendo algunos problemas en lo que es trabajar. Un botón debe aumentar las horas, escribir hora nueva en el módulo RTC, otro botón y misma cosa pero por minutos. Espero que algunos más cualificados que yo (no es difícil ser) me ayudará.

Arduinix 6 bulbo - también es compatible con horas y minutos tiempo de juego. / / Este código ejecuta una configuración de seis bombilla y muestra una configuración de reloj prototipo. Nota: la demora es setup para bulbos de nixie IN-17. / / original código por Jeremy Howa / / www.robotpirate.com / / www.arduinix.com / / 2008-2009 / / código modificado por Andrea Biffi www.andreabiffi.com trabajar con solo SN74141 / / / / última edición Nov de 2013 / / / / SN74141: tabla verdadera //D C B A # //L,L,L,L 0 //L,L,L,H 1 //L,L,H,L 2 //L,L,H,H 3 //L,H,L,L 4 //L,H,L,H 5 //L , H, H, L 6 //L,H,H,H 7 //H,L,L,L 8 //H,L,L,H 9 #define falso DEBUG_ON / / SN74141 int ledPin_0_a = 2; int ledPin_0_b = 3; int ledPin_0_c = 4; int ledPin_0_d = 5; Anod pins int ledPin_a_1 = 8; int ledPin_a_2 = 9; int ledPin_a_3 = 10; int ledPin_a_4 = 11; int ledPin_a_5 = 12; int ledPin_a_6 = 13; void setup() {pinMode (ledPin_0_a, salida); pinMode (ledPin_0_b, salida); pinMode (ledPin_0_c, salida); pinMode (ledPin_0_d, salida); pinMode (ledPin_a_1, salida); pinMode (ledPin_a_2, salida); pinMode (ledPin_a_3, salida); pinMode (ledPin_a_4, salida); pinMode (ledPin_a_5, salida); pinMode (ledPin_a_6, salida); / / Nota: / / puesta a tierra en pernos analog0 y entrada analógica 1 romperá la hora y minutos pinMode (A0 ENTRADA); configurar el pin virtual analog0 digitalWrite (pin 0 en las entradas analógicas) (A0, alto); configurar pin 0 entrada analógica como un tirón para arriba del resistor. pinMode (A1, entrada); conjunto el virtual pin analógico de entrada 1 (pin 1 en las entradas analógicas) digitalWrite (A1, alto); configurar pin 1 entrada analógica como un tirón para arriba del resistor. Si (DEBUG_ON) {Serial.begin(9600);}} / / / / DisplayNumberSet / / uso: paso anod número y número para el bulbo, esta función / / busca la tabla de verdad y abre la configuración correcta de la arduino / / a la luz de los números dados para esta función. En una configuración de bombilla 6 nixie. / / void DisplayNumberSet (int anod, int num1) {int anodPin; int a, b, c, d el; / / set defaults. a = 0; b = 0; c = 0; d = 0; / / mostrará un cero. anodPin = ledPin_a_1; / por defecto en primer anod. / / seleccionar qué anod fuego. interruptor (anod) {caso 0: anodPin = ledPin_a_1; break; caso 1: anodPin = ledPin_a_2; break; caso 2: anodPin = ledPin_a_3; break; case 3 : anodPin = ledPin_a_4; rotura; caso 4: anodPin = ledPin_a_5; rotura; caso 5: anodPin = ledPin_a_6; rotura; } / / Cargar el a, b, c, d el para enviar al interruptor de SN74141 IC (1) (num1) {caso 0: un = 0; b = 0; c = 0; d = 0; break; caso 1: un = 1; b = 0; c = 0; d = 0; break; caso 2: un = 0; b = 1; c = 0; d = 0; break; case 3: un = 1; b = 1; c = 0; d = 0; break; caso 4 : un = 0; b = 0; c = 1; d = 0; break; caso 5: a = 1; b = 0; c = 1; d = 0; break; caso 6: a = 0; b = 1, c = 1; d = 0; break; caso 7: un = 1; b = 1, c = 1; d = 0; break; caso 8: a = 0; b = 0; c = 0, d = 1; break; caso 9: a = 1; b = 0; c = 0, d = 1; break; } / / Escribir en pines de salida. digitalWrite (ledPin_0_d, d); digitalWrite (ledPin_0_c, c); digitalWrite (ledPin_0_b, b); digitalWrite(ledPin_0_a, a); Encienda esta anod. digitalWrite (anodPin, HIGH); Retraso / / Nota: con la diferencia de lámparas Nixie tendrá que cambiar / este retardo para establecer la velocidad de actualización de los bulbos. Si usted / / no esperes mucho tiempo suficiente la bombilla será dim o no la luz en todo / / desea establecer este retraso apenas a la derecha para que tengas / / Niza brillante salida pero lo suficientemente rápido como para que usted puede conectar con / / más bulbos (2ms es estándar). Delay(2); Cierre este anod. digitalWrite (anodPin, bajo); } / / / / / / / DisplayNumberString / uso: pasar una matriz que está 6 elementos mostrará números / / en una configuración de bombilla 6 nixie. / / void DisplayNumberString (int * array) {/ / Banco 1 (foco 1) DisplayNumberSet(0,array[0]); / / Banco 2 (foco 2) DisplayNumberSet(1,array[1]); / Banco 3 (foco 3) DisplayNumberSet(2,array[2]); / Banco 4 (bombilla 4) DisplayNumberSet(3,array[3]); / Banco 5 (bombilla 5) DisplayNumberSet(4,array[4]); / / Banco 6 (bombilla 6) DisplayNumberSet(5,array[5]);} / / define largos minutos = 60; 60 segundos en un minuto largo horas = 60 * minutos; 60 minutos en una hora. largos días = 24 * horas; 24 horas en un día. > Nota: cambie el 24 a 12 por vez no militar. tiempo de pasada largo = 0; Tiempo de cuando empezamos. sistemas de tiempo predeterminado. reloj comenzará a las 12:59 / / Nota: empezamos segundos en el 0 por lo que no necesitamos un reloj set / / los valores que ves aquí lo que cambia / / si ha agregado un entradas de reloj a la Junta. clockHourSet largo = 12; clockMinSet largo = 59; int HourButtonPressed = false; int MinButtonPressed = false; / / / / / / / void loop() {/ / obtener milisegundos. tiempo de ejecución = millis(); / / tiempo en segundos
. largo plazo = (tiempo de ejecución) / 1000; Cambie este valor a velocidad hacia arriba o retrasar el reloj, en menor número como 10, 1 o 100 para la depuración de int hourInput = digitalRead(14); int minInput = digitalRead(15); Si Serial.println (DEBUG_ON) (hourInput); Si (hourInput == 0) HourButtonPressed = true; Si (minInput == 0) MinButtonPressed = true; Si (HourButtonPressed == true & & hourInput == 1) {clockHourSet ++; HourButtonPressed = false; } Si (MinButtonPressed == true & & minInput == 1) {clockMinSet ++; MinButtonPressed = false; } / / Set basado en offset... hbump largo = 60 * 60 * clockHourSet; mbump largo = 60 * clockMinSet; tiempo += mbump + hbump; Tiempo de convertir a días, horas, minutos, segundos tiempo días = tiempo / días; días = * días; largas horas = tiempo / horas; hora = horas * horas; tiempo minutos = tiempo / minutos; tiempo = minutos * min; tiempo en segundos = tiempo; Obtener los valores de orden alto y bajo en horas, minutos, segundos. int lowerHours = horas % 10; int upperHours = horas - lowerHours; int lowerMins = minutos % 10; int upperMins = minutos - lowerMins; int lowerSeconds = segundos % 10; int upperSeconds = segundos - lowerSeconds; Si (upperSeconds > = 10) upperSeconds = upperSeconds / 10; Si (upperMins > = 10) upperMins = upperMins / 10; Si (upperHours > = 10) upperHours = upperHours / 10; Rellene la matriz número utilizada para mostrar en los tubos. int NumberArray [6] = {0,0,0,0,0,0}; NumberArray [0] = upperHours; NumberArray [1] = lowerHours; NumberArray [2] = upperMins; NumberArray [3] = lowerMins; NumberArray [4] = upperSeconds; NumberArray [5] = lowerSeconds; Pantalla. DisplayNumberString (NumberArray); }

Artículos Relacionados

Niños vintage reloj de pared de grabación $4.

Niños vintage reloj de pared de grabación $4.

Hello all! Hoy quería compartir con ustedes mi regalo favorito ahorro idea! Sé que usted ha visto esto millones de veces en internet pero creo que mío es el único que se hace de los registros de niños vintage que suelen ser muy coloridos y creativos.
Reloj de pared Vintage de bordado

Reloj de pared Vintage de bordado

Recientemente encontré mucho de la vieja arpillera en mi sótano (sí, edad suficiente para ser realmente vintage!).Por esta razón yo estaba pensando maneras de usarlo, cuando vino a mi mente la idea del reloj. Arpillera es vieja o nuevo, siempre da un
Tienda estilo reloj de pared

Tienda estilo reloj de pared

Un i'ble de un solo paso para mostrar la creación del día: un reloj de pared hecho con materiales reciclado/gratis!Anteriormente solía llevar mi reloj de pulsera conmigo cuando fui trabajando en mi tienda, seguimiento de tiempo. Pronto me di cuenta d
Top Ten originales relojes de pared

Top Ten originales relojes de pared

1 reloj de pared Pop Quiz de matemáticas y CienciasEste precioso reloj nuevo parece haber sido escrita a mano por ese profesor de matemáticas mal que tuvimos que soportar. Cada hora está marcada por un problema de matemáticas simple. Resolverlo y res
Reloj de pared de la plataforma de madera

Reloj de pared de la plataforma de madera

Crear un reloj de pared de tablas de palet de madera reciclado es muy sencillo y tiene un aspecto fantástico. Este Instructable documenta el proceso.* Si te gusta este Instructable considere votar por él en el concurso del tiempo! Como siempre, no du
Estante de exhibición apenado de estilo vintage (modo fácil)

Estante de exhibición apenado de estilo vintage (modo fácil)

Mi esposa y encontré este estante de estilo vintage en una tienda, y decidió que necesitábamos otro para emparejar. (La primera espada y escudo del bebé es la copia.) Se hace muy simplemente con clavos del clavito, tablas de 1 x 4 y un tablón con cue
Reloj de pared de Batman

Reloj de pared de Batman

por lo que durante el último par de semanas he estado haciendo planes para decorar mi dormitorio de ahijados y quería un Batman temático así pensé yo empezar fácil y él construir un reloj de pared estilo de Batman.Su realmente muy fáciles de hacer y
Reloj de pared de la exhibición minifigura

Reloj de pared de la exhibición minifigura

una gran manera de mostrar colecciones de minifigura!Las tiras de montaje desmontable tipo velcro facilitan cambiar figuras y sustituir la batería del reloj.Nivel de dificultad: muy fácilTiempo: tiempo de espera de menos de una hora de trabajo, ademá
Reloj de pared

Reloj de pared

Hola chicos, hoy vamos a aprender algunas habilidades de diseño para hacer impresionantes relojes de pared. En este proyecto utilizar InkScape para el diseño de nuestro reloj de pared y utilizará una máquina de corte láser para cortar.Nota: Este proy
Reloj de pared LED

Reloj de pared LED

Esto es simplemente una manera simple de decorar de nuevo tu reloj de pared con materiales básicos alrededor de la casa.Paso 1: Materiales necesarios Antiguo reloj de paredLuces LED - sombrero de paja blanco LedBatería de 9V + ClipBonos de Alteco col
Parafrasear: convertir iPhones viejos en reloj de pared o arte de la pared!

Parafrasear: convertir iPhones viejos en reloj de pared o arte de la pared!

¿Tienes un iPhone funcional viejo que está sentado alrededor de recoger el polvo? Es un miniordenador súper avanzado completamente funcional con una maravillosa pantalla, altavoces, micrófonos y un montón de sensores en. Me puse a buscar una manera e
Reloj De Pared Con Palets

Reloj De Pared Con Palets

En esta ocasión os traigo un vídeo de como hacer un reloj de pared con dos listones de un palet, clavos y un poco de cola...Espero os guste.
Reloj de pared de LED binario puro con Arduino

Reloj de pared de LED binario puro con Arduino

Mi reloj de pared binario está inspirado en muchos relojes binarios, que he encontrado en InstructablesEnlaces:Reloj de LilyPad Arduino:Reloj binario:Además de algunos otros instructables reloj binario.Pero...Lo que me pareció carente de ellos era la
Reloj de pared de la cabeza del tambor

Reloj de pared de la cabeza del tambor

hice este proyecto hace unos años y decidió que sería una buena idea para seguir adelante y publicar en línea. Tenía una cabeza extra bombo ahí que yo no tenía necesidad de. Pensé que sería una idea aseada para convertirlo en una especie de arte de l