Shield Horloge à Tubes Nixie NCS314 pour Arduino UNO/MEGA – Compatibilité IN‑14/IN‑12
Composants et fournitures
| Shield Tubes Nixie IN-14 NCS314 pour Arduino | 1 |
| Shield Horloge Tubes Nixie IN-12 NCS312 pour tubes Nixie ex-URSS | 1 |
| Arduino UNO (compatible aussi avec Arduino MEGA) | 1 |
| Arduino Mega 2560 (compatible aussi avec Arduino UNO/Genuino) | 1 |
| Alimentation 12V 1A | 1 |
| Boîtier acrylique pour Shield NCS314 (modèle ACNS314) – compatible versions HW v1.X – 2.X | 1 |
Applications et services en ligne
- Arduino IDE
À propos de ce projet
Vue d'ensemble
Après avoir obtenu un stock quasi inépuisable de tubes Nixie soviétiques de haute qualité (IN-12, IN-14, IN-18), l'idée est née de créer un afficheur simple sous forme de shield pour Arduino. Nous possédions déjà une carte Arduino, le défi semblait donc minime – du moins le pensions-nous à l'époque. Nous ne connaissions rien au pilotage de ces tubes.
Une recherche rapide sur Internet a révélé le schéma d'alimentation de base :

Ça fonctionne ! L'effet nous a stupéfiés – une petite merveille. Nous étions sur la bonne voie. Une séance photo a immédiatement suivi :

Le lendemain, la conception du projet a été discutée. Pour simplifier et réduire les coûts, l'affichage dynamique (multiplexé) a d'abord été envisagé, puis abandonné au profit d'un affichage entièrement statique. Bien que la différence soit imperceptible sur les tubes IN-14, elle est flagrante sur les IN-18 : en mode dynamique, ils brillent moins et présentent un effet de « taches bleues » :

Mode d'affichage dynamique : un seul tube (ou quelques-uns) est allumé à un instant donné, les autres étant éteints. Le balayage rapide crée l'illusion d'un affichage simultané.
Il a aussi été décidé d'implémenter la réception de données depuis un ordinateur, permettant aux passionnés d'afficher n'importe quelle information : messages non lus, score de jeu (ex. Fallout), etc.
Choix du matériel : registres à décalage haute tension
Pour commander les cathodes (chiffres) des tubes, le choix s'est porté sur des registres à décalage avec interface SPI, économisant les broches du microcontrôleur. La tension d'alimentation des tubes atteignant 200 V, les options sont limitées : HV513, HV5812, HV5122. Après tests, le HV5812 a été retenu (les versions récentes NCS314 V2.X et NCS312 V1.X utilisent le HV5122). Ce circuit pilote deux tubes simultanément grâce à son registre de 20 bits.
Pour 6 tubes, trois HV5812 sont chaînés en série. Un seul paquet SPI de 60 bits (arrondi à 64 bits) suffit pour mettre à jour l'affichage. Le microcontrôleur peut alors vaquer à d'autres tâches, voire dormir, tant que l'affichage n'a pas à changer.
L'envoi sur SPI nécessite une astuce : l'Arduino transmet 8 bits à la fois. On forme une variable unsigned long long de 64 bits et on l'envoie par décalages successifs :
SPI.transfer(var64);
SPI.transfer(var64 >> 48);
SPI.transfer(var64 >> 40);
SPI.transfer(var64 >> 32);
SPI.transfer(var64 >> 24);
SPI.transfer(var64 >> 16);
SPI.transfer(var64 >> 8);
SPI.transfer(iTmp);
Objectifs fixés et réalisés

- Affichage statique basé sur registres à décalage
- Mode « Slot Machine » (anti-empoisonnement des cathodes)
- Fonctions horloge complètes : heure, date, alarme
- RTC (Real Time Clock) avec pile CR1220 – version V1.2-2.X : puce DS3231 haute précision
- Mesure de température DS18B20 [°C ou °F]
- Contrôle infrarouge TSOP4836 (fonctionne uniquement sur Mega) – testé avec télécommande Sony RM-X151 (36 kHz)
- Synchronisation horaire par GPS externe (Mega uniquement)
- Menu simple et intuitif
- Gestion indépendante des deux points (supérieur/inférieur)
- Rétroéclairage RGB avec transitions fluides
- Sonnerie d'alarme RTTTL (Ring Tone Transfer Language)
- Mode Slot Machine (prévention empoisonnement indicateurs)
- Auto-test au démarrage (vérification chiffres 0-9, LEDs, couleurs, son)
Objectifs non aboutis
- Capteur de luminosité ambiante







Code source
Le firmware complet est disponible sur GitHub : NixeTubesShieldNCS314
Extrait principal (version 010000, 25/05/2016) :
const String FirmwareVersion="010000";
// NIXIE CLOCK SHIELD NCS314 by GRA & AFCH
#include <SPI.h>
#include <Wire.h>
#include <ClickButton.h>
#include <Time.h>
#include <Tone.h>
#include <EEPROM.h>
// Configuration broches, registres, menus, RTC, LED RGB, alarme, mélodies RTTTL...
// Voir le dépôt GitHub pour le code complet.
Schémas



Processus de fabrication
- Horloge POV Arduino : Construire un affichage LED à persistance rétinienne
- Système d'éclairage DMX piloté par web – Contrôleur maître Arduino
- Horloge à Mots DIY Arduino – Afficheur Temps Réel Élégant et Personnalisable
- Horloge Arduino temps réel pour les heures de prière islamiques
- Construire un Spybot Arduino piloté par Bluetooth
- Construire une horloge maître LED personnalisée avec alarme – Visible à 12 mètres
- Horloge Nixie élégante en boîtier MDF sur mesure – Pilotage Arduino
- Construire une horloge 7 segments précise avec Arduino Pro Mini et DS1302 RTC
- Construire un Réveil Fiable avec RTC DS1302 et Arduino UNO