// NIXIE Driver Demo Sketch #define PIN_DIGITAL_A #define PIN_DIGITAL_B #define PIN_DIGITAL_C #define PIN_DIGITAL_D int onTime = 1000; void setup() { pinMode(PIN_DIGITAL_A, OUTPUT); pinMode(PIN_DIGITAL_B, OUTPUT); pinMode(PIN_DIGITAL_C, OUTPUT); pinMode(PIN_DIGITAL_D, OUTPUT); } void loop() { for (int ii = 0; ii < 10; ii++){ writeNixieNumber(ii); delay(onTime); } } //Binary to decimal. The lower four bits are directly written to the driver inputs. //Depending on the kind of driver, a number 10 or greater will either always display '9' //or blank the display! void writeNixieNumber(int digitToWrite){ digitalWrite(PIN_DIGITAL_A, bitRead(digitToWrite, 0)); // read the least significant bit of the variable "digitToWrite" digitalWrite(PIN_DIGITAL_B, bitRead(digitToWrite, 1)); digitalWrite(PIN_DIGITAL_C, bitRead(digitToWrite, 2)); digitalWrite(PIN_DIGITAL_D, bitRead(digitToWrite, 3)); }