#include "esp32-hal-gpio.h" #include "nixie.h" #include "Arduino.h" #include "hardware.h" void printNixie1(int8_t a) { switch (a) { case 0: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX1A, 1); //Switch ON Anode Nixie 1 break; case 1: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX1A, 1); //Switch ON Anode Nixie 1 break; case 2: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX1A, 1); //Switch ON Anode Nixie 1 break; case 3: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX1A, 1); //Switch ON Anode Nixie 1 break; case 4: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX1A, 1); //Switch ON Anode Nixie 1 break; case 5: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX1A, 1); //Switch ON Anode Nixie 1 break; case 6: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX1A, 1); //Switch ON Anode Nixie 1 break; case 7: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX1A, 1); //Switch ON Anode Nixie 1 break; case 8: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX1A, 1); //Switch ON Anode Nixie 1 break; case 9: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX1A, 1); //Switch ON Anode Nixie 1 break; default: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX1A, 0); //Switch OFF Anode Nixie 2 break; } } void printNixie2(int8_t a) { switch (a) { case 0: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX2A, 1); //Switch ON Anode Nixie 2 break; case 1: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX2A, 1); //Switch ON Anode Nixie 2 break; case 2: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX2A, 1); //Switch ON Anode Nixie 2 break; case 3: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX2A, 1); //Switch ON Anode Nixie 2 break; case 4: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX2A, 1); //Switch ON Anode Nixie 2 break; case 5: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX2A, 1); //Switch ON Anode Nixie 2 break; case 6: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX2A, 1); //Switch ON Anode Nixie 2 break; case 7: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX2A, 1); //Switch ON Anode Nixie 2 break; case 8: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX2A, 1); //Switch ON Anode Nixie 2 break; case 9: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX2A, 1); //Switch ON Anode Nixie 2 break; default: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX2A, 0); //Switch off Anode Nixie 2 break; } } void printNixie3(int8_t a) { switch (a) { case 0: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX3A, 1); //Switch ON Anode Nixie 3 break; case 1: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX3A, 1); //Switch ON Anode Nixie 3 break; case 2: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX3A, 1); //Switch ON Anode Nixie 3 break; case 3: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX3A, 1); //Switch ON Anode Nixie 3 break; case 4: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX3A, 1); //Switch ON Anode Nixie 3 break; case 5: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX3A, 1); //Switch ON Anode Nixie 3 break; case 6: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX3A, 1); //Switch ON Anode Nixie 3 break; case 7: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX3A, 1); //Switch ON Anode Nixie 3 break; case 8: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX3A, 1); //Switch ON Anode Nixie 3 break; case 9: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX3A, 1); //Switch ON Anode Nixie 3 break; default: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX3A, 0); //Switch off Anode Nixie 3 break; } } void printNixie4(int8_t a) { switch (a) { case 0: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX4A, 1); //Switch ON Anode Nixie 4 break; case 1: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX4A, 1); //Switch ON Anode Nixie 4 break; case 2: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX4A, 1); //Switch ON Anode Nixie 4 break; case 3: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX4A, 1); //Switch ON Anode Nixie 4 break; case 4: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX4A, 1); //Switch ON Anode Nixie 4 break; case 5: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX4A, 1); //Switch ON Anode Nixie 4 break; case 6: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX4A, 1); //Switch ON Anode Nixie 4 break; case 7: digitalWrite(BCD_D, LOW); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX4A, 1); //Switch ON Anode Nixie 4 break; case 8: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, LOW); //A digitalWrite(NX4A, 1); //Switch ON Anode Nixie 4 break; case 9: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, LOW); //C digitalWrite(BCD_B, LOW); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX4A, 1); //Switch ON Anode Nixie 4 break; default: digitalWrite(BCD_D, HIGH); //D digitalWrite(BCD_C, HIGH); //C digitalWrite(BCD_B, HIGH); //B digitalWrite(BCD_A, HIGH); //A digitalWrite(NX4A, 0); //Switch off Anode Nixie 4 break; } }