Three Nixies, a Dallas DS18B20 Temperature sensor and an Arduino to tie them all together. Cool :)
The code is done! Woot!!
Well, enough of the code is done :)
I've published the code here - https://github.com/ibuildrockets/NixieTemperatureDisplay 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 - http://www.tube-tester.com/sites/nixie/different/cathode%20poisoning/cathode-poisoning.htm
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)
Next is the declaration of the three digits for the display:
int digOne = 0, digTwo = 0, digThree = 0; //digOne - Tens, digTwo - Ones, digThree - DecimalAnd finally, the 3 BCD outputs are set as follows:
//Tens const int tenA=2; const int tenD=3; const int tenB=4; const int tenC=5; //Ones const int oneA=15; const int oneD=14; const int oneB=16; const int oneC=10; //Decimal 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
For testing I'm using two IN-14 nixie tubes as they're easy to plug into a breadboard. The IN-12A's I'm going to use are socketed and not so easy to breadboard.
So far I've got the temperature reading working via the sample sketch & outputting BCD to the nixie drivers :)