Horloge murale de style vintage nixie (7 / 21 étapes)

Étape 7: le logiciel

Comme logiciel, j’ai fait quelques modifications au code utilisé pour ma première horloge (prélevé dans le matériau de l’open source disponible sur le site Web Arduinix ). Ce code a été modifié 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.

NB: je devrais ont mis en œuvre le code avec la fonction de CCF. Malheureusement, certains problèmes ont surgi et j’éprouve quelques difficultés à faire fonctionner. Un seul bouton devrait augmenter les heures, et écriture nouvelle heure dans module RTC, bouton même chose mais pour les minutes. J’espère que certains d'entre vous plus qualifiés que moi (pas difficile d’être) vont m’aider.

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) ; }

Articles Liés

Horloge murale de style boutique

Horloge murale de style boutique

Un i'ble en une seule étape, juste pour montrer la création de la journée : une horloge murale en matériaux gratuits/recyclé !J'ai utilisé auparavant pour apporter ma montre-bracelet avec moi quand je suis allé travailler dans ma boutique, pour suivr
Brodé horloge murale Vintage

Brodé horloge murale Vintage

J'ai récemment trouvé beaucoup de vieux jute dans mon sous-sol (Oui, assez vieux pour être vraiment vintage!).Pour cette raison, je pensais à des façons de l'utiliser, quand l'idée de l'horloge est venu à mon esprit. Toile de jute est vieux ou nouvea
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 murale Batman

Horloge murale Batman

donc au cours des dernières semaines j'ai été prise de plans pour décorer ma chambre de filleuls et qu'il voulait un Batman chambre sur le thème alors pensé je commencer facile et lui construire une horloge de mur style Batman.Sa en fait assez simple
Horloge murale LED

Horloge murale LED

C'est juste une façon simple de redécorer votre horloge murale avec des matériaux de base autour de la maison.Étape 1: Matériaux nécessaires Vieille horloge muraleSources de lumières LED - Led de chapeau de paille blancPile 9V + ClipAlteco colle/Top
Horloge murale

Horloge murale

Salut les gars, aujourd'hui nous allons apprendre certaines compétences de conception à faire impressionnant mur des horloges. Dans ce projet, nous utiliserons InkScape pour concevoir notre horloge murale et utilisera une machine de coupe laser à cou
Recadrer : transformer iPhone ancienne horloge murale ou sticker !

Recadrer : transformer iPhone ancienne horloge murale ou sticker !

Vous avez un vieil iPhone fonctionnel qui est assis autour de collecte de la poussière ? C'est un mini-ordinateur Super avancé complètement fonctionnel avec un écran magnifique, haut-parleurs, microphones et une tonne de capteurs construit en. J'ai d
TheSUN, Arduino alimenté horloge murale design

TheSUN, Arduino alimenté horloge murale design

Salut à nouveau Instructables-gens ! :-PEn raison de problèmes de livraison j'ai wasn´t en mesure de poursuivre mon projet ABTW alors j'ai décidé de vous montrer une autre, ma nouvelle création.Je pense que beaucoup d'entre nous, comme moi, comme ces
Faire votre propre horloge murale de CD

Faire votre propre horloge murale de CD

Hé les gars c'est ma première construction instructable, mais si vous avez n'importe quel commentaire de questions ci-dessous n malade essayer de répondre mieux que je peuxÉtape 1: Éléments nécessaires : Matériaux :1 horloge murale artisanat horloge
Horloge murale Art de bandes en aluminium

Horloge murale Art de bandes en aluminium

Nous faisons beaucoup d'oeuvres d'art en aluminium bande et nous voulions faire une protection Galdr, (Galdr (pluriel galdrar) est un mot de vieux norrois pour « épeler, incantation »). Nous avons décidé de faire une horloge de mur, et voici comment
Comment rendre votre très propre professionnel horloge murale

Comment rendre votre très propre professionnel horloge murale

j'ai fait cette horloge étonnante mettant en vedette "le Zapper!' à l'aide de matériaux bureautiques et une horloge de Wal-Mart, j'ai acheté pour $3,49.Étape 1: matériaux Les matériaux dont vous aurez besoin pour cette étape inclure :Horloge murale a
Comment coudre un Style Vintage taille haute Bikini

Comment coudre un Style Vintage taille haute Bikini

je pense que vintage taille haute bikinis sont chic, confortable et mignon! Mais, ils coûtent assez beaucoup d'argent si vous les acheter dans le magasin (et ils sont difficiles à trouver aussi) - et il n'y a aucune garantie qu'ils vont vous adaptere
Horloge murale tête de tambour

Horloge murale tête de tambour

j'ai fait ce projet il y a quelques années et a décidé, il serait une bonne idée d'aller de l'avant et de mettre en ligne. J'ai eu une tête de Pedales supplémentaire qui traînent que je n'avais aucun besoin de. J'ai pensé que ce serait la bonne idée
Clayette de présentation en détresse de style vintage (mode facile)

Clayette de présentation en détresse de style vintage (mode facile)

Ma femme et j'ai trouvé cette étagère de grand style vintage à un magasin d'aubaines et décidé nous avions besoin d'un autre pour correspondre. (Celui avec la première épée et bouclier de bébé est la copie.) Il est fait très simplement à l'aide de cl