Horloge à base de tubes Nixie

Cette fois-ci, pas de robotique ni trop d’électronique, juste du fun à essayer de faire un bel objet. Il va s’agir d’une horloge, mais pas n’importe laquelle : une  « Nixie Clock ».

Evidemment, elle donne l’heure, mais son originalité repose sur les afficheurs utilisés, des tubes Nixie. Ils ont été inventés en 1954 et sont parmi les premiers afficheurs numériques. Ils ne sont plus fabriqués aujourd’hui, mais l’Union Soviétique en a produit énormément à l’époque et on peut encore en trouver assez facilement sur Ebay (Russie, Ukraine…).

Ces tubes ont un rendu très rétro, et je n’ai donc pas pu résister à les utiliser dans un de mes projets. Pour plus de détails sur leur fonctionnement, se reporter à cette page Wikipédia.

Au départ, j’avais en tête un design assez Steampunk, mais des forces extérieures (ou facteur WAF 😉 ) ont quelque peu changé mes plans pour une approche plus minimaliste. C’est bien aussi 🙂

Première étape : se fournir l’électronique. J’ai acheté ce shield sur Ebay, pour environ 80€ avec les frais de port. Alors oui c’est pas donné, mais les composants sont déjà soudés et les tubes sont vendus avec ! Il n’y a plus qu’à ajouter un Arduino et une alimentation de 12V.

Après avoir flashé le firmware (disponible en téléchargement) sur l’Arduino, on peut déjà vérifier que tout fonctionne comme prévu. Et c’est déjà chouette 😉

La seconde étape, qui nécessitera le plus de travail, est la fabrication d’un boitier un peu plus sexy. J’ai modélisé plein de versions différentes avant de finalement revenir à quelque chose d’assez simple, en me rappelant que le mieux est l’ennemi du bien, ou que « la simplicité est la sophistication suprême », comme disait ce bon vieux Léonard 😉

Vue « éclatée » des différents éléments de ce modèle :

Maintenant que l’on sait où l’on va, on peut s’attaquer à du concret. J’ai découpé grossièrement 2 bouts de bois dans une plaque de sapin, pour le haut et le bas du coffrage.

Par chance (et un peu par calcul 😉 ), les dimensions du plan de perçage pour la partie supérieure rentrent tout juste dans ma CNC. Plutôt que de faire les trous à la main, j’utiliserai donc la machine, ça sera plus précis et coïncidera parfaitement au profil en laiton qui sera également découpé par la CNC.

J’ai un petit peu galéré à exporter mon plan de perçage de Sketchup à CamBam+. Tout d’abord, j’ai créé un nouveau fichier dans Sketchup avec uniquement le profil de la face supérieure de la boite. Et je lui ai donné une épaisseur (30 mm, mais cela importe peu : s’il n’y a pas de volume, l’export au format STL crée un fichier vide).

J’importe ensuite ce fichier STL dans CamBam+, je sélectionne l’objet puis dans le menu « Edition » > « Surface » je choisis « Silhouette » et j’applique une largeur de tranche de 30 mm. Cette opération permet de générer les contours, on peut alors supprimer l’objet « Surface » importé ainsi que tous les éléments dont nous n’avons pas besoin pour ne conserver uniquement qu’un plan de découpe. Cette vidéo illustre la manip’.

Je sélectionne l’ensemble des polylignes composant le tracé, et je créé un contour intérieur avec les paramètres adaptés :

  • Diamètre d’outil : 2 mm
  • Forme d’outil : Cylindrique
  • Vitesse d’avance : 100 (mm/min)
  • Vitesse d’avance en plongée : 100 (mm/min)
  • Vitesse de rotation : 10 000 (tr/min)
  • Incrément de passe : 0.5 mm
  • Profondeur finale : – 10 mm

Il ne reste plus qu’à générer le parcours de l’outil :

Et… lancer l’usinage !

On peut mettre ça de côté pour le moment et s’occuper du profilé en laiton qui sera au dessus de la boîte.

Ici encore, j’ai utilisé la CNC pour le découper avec précision (même manip’ logicielle que précédemment). J’ai d’abord réduit la vitesse de déplacement à 50 mm/min (au lieu de 100) et prévu des passes de 0.2 mm (au lieu de 0.5). Après un échec, avec une fraise cylindrique classique qui a cassé dès le début, j’ai utilisé le même genre de pointe biseautée que pour les PCB (« fraise à graver » ?).

Après 1h30 de fraisage en douceur, c’est terminé.

Et le résultat n’est pas mal du tout 🙂

Pour la suite des événements, on sort la défonceuse et la Dremel pour les petites finitions.

J’ai utilisé la défonceuse pour retirer 10 mm de matière, les trous tracés précédemment avec la défonceuse sont maintenant visibles et l’alignement est parfait. Les rebords le sont moins, mais à ma décharge, j’ai fait ça dans le couloir de mon immeuble, sur une table basse 😉 De toute façon, cette partie ne sera pas visible.

Avec une CNC plus grande et surtout plus puissante, j’aurais pu laisser la machine faire ce travail mieux que moi avec la défonceuse. En attendant, on se débrouille avec les moyens du bord 🙂

Pour préparer les plaques de laiton j’ai découpé l’intérieur avec la CNC. Pour l’extérieur, la surface de travail de la CNC étant trop juste, j’ai utilisé ma scie à ruban.

En utilisant des serre-joints pour maintenir le tout, j’ai poncé les bords (ponceuse électrique et papier de verre) pour avoir un bon alignement de l’ensemble des éléments.

J’ai appliqué 2 couches de vernis mat (avec un ponçage à la laine d’acier entre les 2 couches) pour protéger le bois.

Après quelques recherches, j’ai opté pour de la colle néoprène pour coller le laiton sur le bois. J’ai bien fait d’essayer sur des chutes : la colle ne prenait absolument pas sur le laiton, malgré un ponçage. Finalement, le plus efficace, c’est la bonne vieille glue ! Par contre attention, la prise étant immédiate, il faut bien placer les éléments du premier coup.

J’en ai profité pour coller 2 aimants en vis-à-vis sur les deux parties du coffret. Ce système de fermeture est suffisant et sera invisible de l’extérieur.

Installation du profilé en laiton sur la partie supérieure : malgré l’utilisation de vis, j’ai mis un point de glue au milieu pour éviter qu’il n’y ait du jeu.

Une fois le connecteur d’alimentation et l’interrupteur fixés (et raccordés), on peut enfin installer l’électronique 🙂 J’utilise un connecteur coudé au niveau de l’Arduino, sinon il n’y aurait pas eu assez d’espace. On peut voir les charnières qui permettent une ouverture facile du coffret.

Ci-dessous un aperçu de l’arrière de la boîte. La fixation des charnières requiert de la précision au moment de leur positionnement. Les miennes étaient un peu trop serrées, et l’avant de la boîte ne se fermait plus complètement. Avec un (très) léger desserrage des charnières, les choses sont rentrées dans l’ordre.

Voilà, c’est terminé !

Il ne reste plus qu’à la brancher 🙂

Et comme rien ne vaut une vidéo, ça se passe par ici :

 

Le code source pour l’Arduino est disponible ici. J’ai modifié 2-3 bricoles pour désactiver l’alarme et la musique horrible qui est jouée au démarrage.

Conclusion

Ce projet m’a permis de continuer à découvrir le monde de la CNC, d’apprivoiser ma machine et d’en tirer quelques enseignements :

  • Disposer d’une machine CNC, c’est génial pour faire des choses propres rapidement. Je pense l’utiliser au moins autant que mon imprimante 3D (chassîs, PBC, gravure sur bois, boîtes, déco…).
  • Mon modèle reste une machine low-cost et je dois ruser pour en tirer le meilleur parti. La première contrainte, et il faut faire avec : comme il s’agit d’une mini-machine, la surface de travail est limitée. La seconde : le moteur n’est pas très puissant, il faut donc avancer doucement en faisant des passes peu profondes. Les métaux (non-ferreux) demandent d’être très délicat. Certains travaux peuvent prendre plusieurs heures. Je ne cherche pas à produire en série, donc je peux vivre avec.
  • Le jour où j’aurai plus d’espace, je me fais un grand modèle, les possibilités en termes de précision, de rapidité de production sont incroyables.

Tout est bien sûr faisable avec des outils non-numériques, mais la CNC permet d’obtenir un excellent résultat sans être un expert du travail du bois.

12 réflexions au sujet de « Horloge à base de tubes Nixie »

  1. jean

    bonjour , j’aurais quelques questions avant de me lancer

    Les led qui change de couleur a la base des ampoules nixie peut on les éteindre ?

    La petite lumière entre les heures et minutes et minutes et secondes peut elle être fixe et non clignoter avec les secondes ?

    il y aurait il un tuto sur le branchement de l’arduino et de l’alimentation ?

    Merci a vous pour ce tuto !

    Répondre
    1. LordGG Auteur de l’article

      Bonjour,

      Oui bien sûr, que ça soit pour les LEDs ou les ampoules entre les chiffres, tout est piloté par le Arduino, à condition de mettre les mains dans le code, tout est possible (le code n’est pas des plus simple malgré tout).

      Concernant le branchement le branchement, il n’y a rien de spécial à dire, c’est très classique : l’alimentation se fait via le port d’alimentation de la carte Arduino, il faut une alim 12V de minimum 1A (avec connecteur jack 5.5×2.1mm).

      Bon bricolage 🙂

      Répondre
  2. Shokeus

    Bonjour , j’ai reçu mes pièces et sa marche bien , merci a vous pour le tuto

    Petite question : toute les minutes j’ai plein de chose qui s’affiche comme dans votre vidéo a 1.04 , je ne souhaite avoir que la fonction horloge , savez vous comment faire ?

    Merci a vous

    Répondre
    1. LordGG Auteur de l’article

      Bonjour,

      Je pense qu’il s’agit de l’affichage de la date et de la température.
      Je n’ai pas testé, mais ça doit être faisable de différentes façons.
      La plus simple à essayer :
      remplacer « #define dateModePeriod 5000 » par « #define dateModePeriod 0 »

      Sinon dans la fonction modesChanger(), remplacer :
      if (transnumber == 0) {
      menuPosition = DateIndex;
      modesChangePeriod = dateModePeriod;
      }
      if (transnumber == 1) {
      menuPosition = TemperatureIndex;
      modesChangePeriod = dateModePeriod;
      }
      par
      if (transnumber == 0) {
      menuPosition = TimeIndex;
      modesChangePeriod = timeModePeriod;
      }
      if (transnumber == 1) {
      menuPosition = TimeIndex;
      modesChangePeriod = timeModePeriod;
      }

      Ou alors, dans la boucle principale, il y a un gros bloc « switch (menuPosition) ». Vous pouvez copier/coller le code qu’il y a dans le « case TimeIndex » dans les cases du « DateIndex » et du « DegreesFormatIndex ».

      Malheureusement je n’ai rien testé, donc je ne garantis rien :/

      Jérôme

      Répondre
  3. Guenault Flavien

    Bonjours, je suis lycéen, et le projet m’intéresse énormément! Cependant étant en terminal je ne comprend pas tout… j’ai bien compris qu il fallait commender le matériel etc… mais je comprend rien à la partie informatique… j’ai besoin d’aide, un guide… pareil en ce qui concerne de raccorder les fils avec la boîte je sais pas trop comment faire moi… j’ai énormément d’outil chez moi, ça ne devrai pas être un problème, mais je sais pas comment fonctionne l’informatique, l’electrIcité… je suis quelqu’un de curieux et qui aime comprendre les choses, est ce que ça serai possible d’etre guider pour être sûr que je comprenne tout avant de me lancer et acheter un kit que je ne saurai pas utiliser? :/

    Merci, cordialement

    Répondre
    1. LordGG Auteur de l’article

      Bonjour Flavien,

      Si tu es curieux, tu n’auras pas de mal à trouver énormément de ressources sur le Net pour apprendre. Si l’électronique et l’informatique t’intéressent, je t’invite à regarder du côté des cartes Arduino. Achète un kit de base Arduino, et essaie de mettre en place des choses simples : piloter une LED, un moteur, un buzzer etc.

      Plein de kits sont faciles à se procurer pour un prix raisonnable :
      https://www.amazon.fr/s/ref=nb_sb_ss_c_1_11?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=kit+arduino&sprefix=kit+arduino%2Caps%2C141&crid=AOJ6GB324K4H

      Pour te donner une idée, tu peux regarder quelques tutos sur Youtube :
      https://www.youtube.com/results?search_query=tuto+arduino

      Bonne découverte !

      Répondre
      1. Guenault Flavien

        en ce qui concerne l’horloge, comment fait ont pour regler l’heure une fois toute l’électronique en place? ça se programme? et dans le lien que ti donne pour instamer le firmeware les modif pour enlever « le son horrible a l’allumage » sont deja faites ou c’est a nosu de le faire? merci beaucoup de ton aide! le truc c’est que j’apprend l’anglais maos je suis pas encore un crack alors bien sur je trouve plein de truc sur internet mais comme l’anglais esg la langue universelle je me retrouve vite débordé!
        je peux vous poser d’autres questions si d’autres me viennent a l’esprit ?

        Répondre
  4. Guenault Flavien

    ?? désolé si vous me trouvez insistant… cependant avant de me lancer j’aimerai conprendre le fonctionnement parce que ça a tout de meme un prix je veux savoir le faire fonctionner!

    en vous remerciant de vortre patience!

    Répondre
    1. LordGG Auteur de l’article

      Pour répondre aux premières questions :
      – L’heure se règle soit lors du flashage du firmware, soit via les boutons disponibles sur la carte. Le manuel est sur les liens dans l’article (lien vers le shield sur eBay, ou vers le Github directement : https://github.com/afch/NixeTubesShieldNCS314).
      – Pour enlever le son ou les quelques trucs qui ne me plaisaient pas, j’ai modifié le code que l’on charge sur l’Arduino (firmware)

      Petite précision : je n’ai acheté que le shield et l’Arduino, le reste (boitier, usinage plaque laiton etc), je l’ai fait moi-même.

      Les liens que je t’ai indiqués vers des kits sont justement destinés à l’apprentissage pour t’aider à comprendre le fonctionnement de tout ça, faire des expériences etc.

      La fabrication de cette horloge, c’est surtout de la petite menuiserie, je n’ai rien inventé : achat d’un shield avec les tubes nixie, achat d’un Arduino pour piloter le shield, flashage d’un firmware réalisé par qqun d’autre. J’ai juste fait la boite en gros, et le connecteur pour l’alimentation. Effectivement, il faut savoir comment charger un programme sur la carte Arduino, d’où ma recommandation de passer par un kit pour apprendre, il y a plein de tutos sur le net 🙂

      Répondre

Répondre à jean Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *