Watch the video for full instruction
Part list to make the project:
1. Arduino UNO https://amzn.to/2P58O7s
2. Nixie tube 6 pcs https://amzn.to/3aHyJvX
3. Opto coupler chip TLP627
4. DC step-up module from 12VDC to 390VDC https://amzn.to/30kpdK9
5. Breadboard https://amzn.to/2uCrnsW
1. Circuit design
As matrix design, we only need 12 output from Arduino to control 20 lights of 2 nixie tube.
By quick turn on and off 2 nixie tube, we will see two number as permanent view. The sequence turning on/off is by Arduino Code
2. Arduino code
const int nixie_0 = 2; const int nixie_1 = 3; const int nixie_2 = 4; const int nixie_3 = 5; const int nixie_4 = 6; const int nixie_5 = 7; const int nixie_6 = 8; const int nixie_7 = 9; const int nixie_8 = 10; const int nixie_9 = 11; const int row_1 = 0; const int row_2 = 1; const int time_on = 3; void setup() { pinMode(nixie_0, OUTPUT); pinMode(nixie_1, OUTPUT); pinMode(nixie_2, OUTPUT); pinMode(nixie_3, OUTPUT); pinMode(nixie_4, OUTPUT); pinMode(nixie_5, OUTPUT); pinMode(nixie_6, OUTPUT); pinMode(nixie_7, OUTPUT); pinMode(nixie_8, OUTPUT); pinMode(nixie_9, OUTPUT); pinMode(row_1, OUTPUT); pinMode(row_2, OUTPUT); //Serial.begin(9600); //should NOT use seiral println, it will effect to output pin D0 & D1 } void loop() { for (int i=0; i<=59; i++){ int j = i/10; //second number from right int k = i%10; //first number from right for (int m=0; m<=50; m++){ //this for loop is used for delay showing two numbers //-----------show first number off_all(); on_number(1,k+2); delay(time_on); //-----------show second number off_all(); on_number(0,j+2); delay(time_on); } } } void on_number(int row, int nixie){ //void off_all(); digitalWrite(row, HIGH); digitalWrite(nixie, HIGH); } void off_all(){ digitalWrite(nixie_0, LOW); digitalWrite(nixie_1, LOW); digitalWrite(nixie_2, LOW); digitalWrite(nixie_3, LOW); digitalWrite(nixie_4, LOW); digitalWrite(nixie_5, LOW); digitalWrite(nixie_6, LOW); digitalWrite(nixie_7, LOW); digitalWrite(nixie_8, LOW); digitalWrite(nixie_9, LOW); digitalWrite(row_1, LOW); digitalWrite(row_2, LOW); delayMicroseconds(420); //to prevent "ghost" effect to other tube }-------------------------------------------------------------------
http://bit.ly/38KY1ri
0 Comments: