01000011 01001111 01000100 01000101

A project log for Nixie Temperature Display

Three Nixies, a Dallas DS18B20 Temperature sensor and an Arduino to tie them all together. Cool :)

sascha-grantSascha Grant 01/27/2015 at 00:490 Comments

The code is done! Woot!!

Well, enough of the code is done :)

I've published the code here - on my Github page.

As it stands, the code works but I want to add a 'slots' mode to reduce cathode poisoning.

With nixie tubes, one thing that can degrade their performance over a period of time is splatter - where material is ejected from the active cathode and splatters onto those surrounding it that are inactive. It won't happen overnight, but it will happen :( There's a good article on cathode poisoning here -

What 'slots' does is to cycle through each cathode every so often - and this can reduce the build-up of material and lengthen the life of the tubes. And that's something you're going to want to do!

The nixie clock I built in 2006 is still going today and looks like the day I turned it on - it cycles the digits every 60 seconds - as the minute rolls over, the numbers all cycle for a few seconds. Looks cool and keeps my tubes in top condition.

I'll work on this next :)

Ok! Back to the code!

The code is a bit messy - but what code isn't?

How this all works -

The OneWire DS18B20 is first declared and set to reside on Pin 19 (this is A1 on the Pro Micro)

 OneWire ds(19);

Next is the declaration of the three digits for the display:

int digOne = 0, digTwo = 0, digThree = 0; 
//digOne - Tens, digTwo - Ones, digThree - Decimal
And finally, the 3 BCD outputs are set as follows:
const int tenA=2;
const int tenD=3;
const int tenB=4;
const int tenC=5;
const int oneA=15;
const int oneD=14;
const int oneB=16;
const int oneC=10;
const int decA=6;
const int decD=7;
const int decB=8;
const int decC=9;
This layout is to suit the inputs on the К155ИД1 BDC chip