Horloge de grand bois nixie (13 / 26 étapes)

Etape 13 : Le code

Le code de cette horloge est la même chose de mon deuxième projet nixie. Le code dérive le matériel open source disponible sur le site Web Arduinix , et j’ai modifié ce code pour n'utiliser qu’un seul pilote de nixie au lieu de deux, étant donné que je n’avez pas besoin d’exécuter plus de 6 chiffres, et je préfère sauver les pilotes. J’ai téléchargé le code à l’Atmega8 EI à l’aide d’une carte Arduino , c’est la façon la plus simple à mon avis, mais notez que vous devrez probablement brûler le bootloader sur le nouveau IC pour pouvoir l’utiliser dans l’Arduino, j’utilise un USBtinyISP programmeur.

Ampoule Arduinix 6 - prend également en charge heure et min. de temps ensemble. / / Ce code exécute une installation six ampoule et affiche une configuration d’horloge de prototype. NOTE : le retard est configuré pour les ampoules de nixie IN-17. / / original code par Jeremy Howa / / www.robotpirate.com / / www.arduinix.com / / 2008 / 2009 / / code modifié par Andrea Biffi www.andreabiffi.com de travailler avec un seul SN74141 / / / / dernière modification: Nov 2013 / / / / SN74141 : vrai tableau //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 faux 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, sortie); pinMode (ledPin_0_b, sortie); pinMode (ledPin_0_c, sortie); pinMode (ledPin_0_d, sortie); pinMode (ledPin_a_1, sortie); pinMode (ledPin_a_2, sortie); pinMode (ledPin_a_3, sortie); pinMode (ledPin_a_4, sortie); pinMode (ledPin_a_5, sortie); pinMode (ledPin_a_6, sortie); / / NOTE: / / mise à la terre sur tiges d’analog0 et d’entrée analogique 1 volonté régler l’heure et mn pinMode (A0 ENTRÉE) ; définir l’analog0 virtuel pin (pin 0 sur les entrées analogiques) digitalWrite (A0, élevé) ; définir broche analogique entrée 0 comme une traction vers le haut de résistance. pinMode (entrée, A1) ; ensemble l’axe virtuel analogique d’entrée 1 (broche 1 sur les entrées analogiques) digitalWrite (A1, élevé) ; broche 1 entrée analogique fixé une traction vers le haut de résistance. Si (DEBUG_ON) {Serial.begin(9600);}} / / / / DisplayNumberSet / / usage : croisement anod nombre et nombre d’ampoule, cette fonction / / recherche la table de vérité et ouvre les aboutissants correctes de l’arduino / / pour éclairer les nombres donnés à cette fonction. Sur une configuration d’ampoule 6 nixie. / / / void DisplayNumberSet (int anod, int num1) {int anodPin ; int a, b, c et d; / / set defaults. un = 0; b = 0; c = 0; d = 0; / / affiche un zéro. anodPin = ledPin_a_1; / / par défaut sur le premier anod. / / sélectionner quel anod au feu. commutateur (anod) {case 0: anodPin = ledPin_a_1 ; break ; case 1: anodPin = ledPin_a_2 ; break ; case 2: anodPin = ledPin_a_3 ; break ; case 3 : anodPin = ledPin_a_4 ; rupture ; case 4: anodPin = ledPin_a_5 ; rupture ; cas 5: anodPin = ledPin_a_6 ; rupture ; } / / Charge l’a, b, c et d d’envoyer au commutateur SN74141 IC (1) (num1) {case 0: un = 0; b = 0; c = 0; d = 0; break ; case 1: a = 1; b = 0; c = 0; d = 0; break ; case 2: un = 0; b = 1; c = 0; d = 0; break ; case 3: un = 1; b = 1; c = 0; d = 0; break ; case 4 : un = 0; b = 0; c = 1; d = 0; break ; cas 5: a = 1; b = 0; c = 1; d = 0; break ; case 6: a = 0; b = 1; c = 1; d = 0; break ; cas 7: a = 1; b = 1; c = 1; d = 0; break ; cas 8: a = 0; b = 0; c = 0; d = 1; break ; 9-affaire: a = 1; b = 0; c = 0; d = 1; break ; } / / Ecrire à broches de sortie. digitalWrite (ledPin_0_d, d) ; digitalWrite (ledPin_0_c, c) ; digitalWrite (ledPin_0_b, b) ; digitalWrite(ledPin_0_a, a) ; Allumez cette anod. digitalWrite (anodPin, HIGH) ; Retard / / NOTE: À la différence de bulbes Nixie, vous devrez peut-être modifier / / ce délai pour régler la vitesse de mise à jour des bulbes. Si vous / / n’attendez pas longtemps assez l’ampoule sera dim ou s’allume pas du tout / / vouloir définir ce retard juste pour que vous ayez / / nice lumineux sortie encore assez rapide pour que vous pouvez multiplexer avec / / plus ampoules (2ms est standard). Delay(2) ; Coupez cette anod. digitalWrite (anodPin, basse) ; } / / / / / / / DisplayNumberString / / usage : en passant un tableau qui est de 6 éléments long affichera les numéros / / sur une configuration d’ampoule 6 nixie. / / / void DisplayNumberString (int * tableau) {/ / 1 (1 ampoule) de la Banque DisplayNumberSet(0,array[0]); / / 2 (ampoule 2) de la Banque DisplayNumberSet(1,array[1]); / / 3 (ampoule 3) de la Banque DisplayNumberSet(2,array[2]); / / 4 (ampoule 4) de la Banque DisplayNumberSet(3,array[3]); / / 5 (ampoule 5) de la Banque DisplayNumberSet(4,array[4]); / / 6 (ampoule 6) de la Banque DisplayNumberSet(5,array[5]);} / / Defines MINS long = 60 ; 60 secondes en un minimum de longue heures = 60 * mn ; 60 minutes dans une heure. longues journées = 24 * heures ; 24 heures par jour. > Note : changer le 24 à 12 pour le moment non militaire. longue duree = 0 ; Temps de quand nous avons commencé. ensembles de temps par défaut. horloge commencera à 12:59 / / NOTE : nous commençons secondes à 0 nous n’avez pas besoin d’une horloge set / / les valeurs que vous voyez ici serait que vous modifiez / / si vous avez ajouté une entrées de réglage de l’horloge au Conseil d’administration. long clockHourSet = 12 ; clockMinSet long = 59 ; int HourButtonPressed = false ; int MinButtonPressed = false ; / / / / / / / void loop() {/ / Get millisecondes. DUREE = millis(); / / Get temps en secondes
. longtemps = (runTime) / 1000 ; Remplacez cette valeur par vitesse haut ou ralentir l’horloge, valeur égale au nombre de plus petit tels que 10, 1 ou 100 pour le débogage 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 time basé sur décalage... hbump long = 60 * 60 * clockHourSet ; mbump long = 60 * clockMinSet ; temps + = mbump + hbump ; Convertir : jours, heures, minutes, secondes longues journées = temps / jours ; temps = jours * jours ; longues heures = temps / heures ; temps = heures * heures ; longues minutes = temps / mn ; temps = minutes * mn ; secondes de temps = temps ; Obtenir les valeurs de l’ordre de haute et basse des heures, minutes, secondes. int lowerHours = h % 10 ; int upperHours = heu - lowerHours ; int lowerMins = minutes % 10 ; int upperMins = minutes - lowerMins ; int lowerSeconds = secondes % 10 ; int upperSeconds = s - lowerSeconds ; Si (upperSeconds > = 10) upperSeconds = upperSeconds / 10 ; Si (upperMins > = 10) upperMins = upperMins / 10 ; Si (upperHours > = 10) upperHours = upperHours / 10 ; Remplissez le tableau numéro permettant d’afficher sur les tubes. 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 ; Affichage. DisplayNumberString (NumberArray) ; }
  • Nixie_clock_code.zip

Articles Liés

Horloge LED en bois

Horloge LED en bois

l'horloge LED en bois ressemble à une boîte en bois ennuyeuse, sauf que le temps était allumé à l'avant de celui-ci. Au lieu d'un morceau de plastique gris à regarder, vous avez un plus beau morceau de bois. Il conserve toutes ses fonctions, y compri
Horloge murale en bois massif

Horloge murale en bois massif

Ce qui suit est un guide pratique sur la façon d'utiliser une fraiseuse pour transformer un morceau de bois, si précisément coupe ou rapidement pris dans des chutes et correctement créer une horloge rustique personnalisée !Étape 1: matériauxPour comm
Horloge murale en bois de palette

Horloge murale en bois de palette

Créer une horloge murale des planches de palettes de bois recyclé est incroyablement simple et semble fantastique. Ce Instructable documente le processus.* Si vous aimez ce Instructable envisager de voter pour lui au concours de temps ! Comme toujour
Horloge engrenage en bois

Horloge engrenage en bois

j'ai ajouté la vidéo de l'horloge. Je travaillerai sur tailler windows face à l'horloge. Je vais télécharger photos ou une vidéo de cela quand je suis fait.J'ai été dans le travail du bois depuis quelques années maintenant. J'aime l'idée d'être en me
Étape par étape horloge 2 faces bois CNC surfaçage avec routeur Shopbot

Étape par étape horloge 2 faces bois CNC surfaçage avec routeur Shopbot

J'aime vraiment les objets sculptés en bois, il y a quelque chose de subtil et raffiné sur les morceaux de bois ouvré. J'ai voulu explorer le Shopbot pour faire de la 3d revêtement dans les objets qui ont été conçus numériquement et ensuite l'exporte
L’horloge a grandi !

L’horloge a grandi !

Eh bien, cela devait arriver.Tout d'abord, j'ai publié mon projet d'horloge en septembre 2009. C'était une horloge PIC de Microchip basé, à l'aide d'un microprocesseur PIC16F877A. Dans la dernière année et demie, j'ai se sont constamment améliorées,
Horloge murale en bois

Horloge murale en bois

ma mère voulait une horloge de mur de la cave. C'est où elle a tous ses trucs de couture. Souvent, elle passe toute l'après-midi là et a besoin d'un moyen de contrôler le temps qu'elle passe. Aussi j'ai bien une horloge va remplir certains de la vacu
Horloge murale en bois moignon

Horloge murale en bois moignon

Le mois dernier j'étais à un BBQ et la maison voisine a été couper leur bel arbre d'Eucalyptus.  J'ai remarqué qu'ils avaient beaucoup de morceaux de tronc d'arbre de rechange, alors j'ai demandé si je pouvais avoir un et ils ont dit « Bien sûr! ».  
Steampunked horloge de grand-père.

Steampunked horloge de grand-père.

j'ai trouvé cette horloge de parquet imitation chinois bon marché déversés à l'ignore où je travaille. Quel gâchis ! Si j'ai récupéré il et quand j'ai pigé maison et il a inspecté, j'ai trouvé que non seulement il était en bon nick, mais tous les gad
Simple utilisateur-réglable DIY Nixie horloge

Simple utilisateur-réglable DIY Nixie horloge

Comme premier instructable de l'année j'ai réussi à terminer enfin mon projet d'horloge nixie âge-long.Nixes sont des tubes de néon vanne, où dix cathodes ont la forme de chiffres et sont éclairés en par plasma à haute tension s'écoule à travers eux.
Dans le temps – faites votre horloge en bois dans le sens anti-horaire

Dans le temps – faites votre horloge en bois dans le sens anti-horaire

N'allez pas doux dans cette bonne nuit,Vieillesse devrait brûler et rave à la fin du jour,Rage, rage contre la mort de la lumière.Avec ce kit, vous pouvez assembler une horloge en bois en cours d'exécution en arrière.Lorsque vous effectuez cette horl
Horloge engrenage avec commande de moteur pas à pas de bois

Horloge engrenage avec commande de moteur pas à pas de bois

Encore une autre horloge à engrenages en bois. Cette conception s'inspire Instructable de DickB1 (ci-contre en bas).Cependant, au lieu de conduire l'horloge avec un pendule magnétique pulsé, j'ai utilisé une petite commande de moteur.Tout d'abord, j'
Thermomètre intérieur/extérieur de horloge/Nixie VFD rétro Fit Linden Mantle Clock

Thermomètre intérieur/extérieur de horloge/Nixie VFD rétro Fit Linden Mantle Clock

J'ai décidé de faire quelque chose que je n'avais pas encore vu et combiné (2) séparer électronique l'utilisation d'écrans de tube à vide (2) différents types de faire cet affichage unique. Les tubes Nixie pour le thermomètre et le VFD (affichage vid
Horloge en bois d’oiseau

Horloge en bois d’oiseau

Je cherchais l'internet pour les cadeaux de Noël pour ma famille quand je suis tombé sur une horloge en bois en forme comme un oiseau. Il était tellement adorable, que j'ai presque acheté quand tout à coup, j'ai réalisé que je pouvais faire un juste