Organize and Share your Electronics the way you want. Sign-Up for a free account now. It takes only 30 seconds!

Dekatron tubes controlled by arduino

Dekatron tubes controlled by arduino

Interfacing dekatron tubes with a microcontroller is fairly easy, once you understand how the tubes work. Threeneuron’s Pile o’Poo of Obsolete Crap provides the necessary background information and schematics for making this work.

I used two russian OG-4 tubes. I prefer the orange look of the neon tubes rather than the purple look of the argon filled OG-3 tubes. The latter tubes just look to modern for my liking. On the above picture you can see how I have mounted the tubes on a rig alongside two Magic eye tubes.

The schematics is more or less directly from the Threeneurons page. It uses two output pins from the arduino, and one input-pin. My high voltage supply is somewhat unstable, so I used a zener diode to protect the input pin from over voltage.

The above picture show the PCB, soldered Manhattan style. The high voltage power supply is from Ebay, and works best with less than 10V on the input side, but can provide up to 1000V. The current is however in the microampere area, hardly enough to kill a mosquito, and just enough to drive two dekatrons at 450 V. There is also some other outputs on the board providing around 170 and 250 V respectively.

I am going to use the dekatrons as part of the display solution for my homebrew RF transceiver. Now I have the Nixie display, magic eyes and the dekatrons under control (the radio itself is not finished yet). Even my cardboard mock-up is looking great!

The above video show the prototype assembly.
The dekatron code is as simple as this. Notice that the input pin is not used in the below code.

int DekIn1=13;
int DekOut11=12;
int DekOut12=11;
int DekIn2=6;
int DekOut21=5;
int DekOut22=4;

int count=0;

void setup()
{
  pinMode(DekOut11, OUTPUT);      // sets the digital pin as output
  pinMode(DekOut12, OUTPUT);      // sets the digital pin as output
  pinMode(DekOut21, OUTPUT);      // sets the digital pin as output
  pinMode(DekOut22, OUTPUT);      // sets the digital pin as output
}

void loop()
{
  if(count<30)
  {
    digitalWrite(DekOut11, HIGH);
    delay(10);   
    digitalWrite(DekOut21, HIGH);
    delay(50);                 
    digitalWrite(DekOut12, HIGH);   
    digitalWrite(DekOut22, HIGH);
    delay(10);  
    digitalWrite(DekOut11, LOW);  
    digitalWrite(DekOut21, LOW); 
    delay(10);  
    digitalWrite(DekOut12, LOW); 
    digitalWrite(DekOut22, LOW); 
    delay(10);
    count++;
  }
  else if(count>=30 && count < 60)
  {
    digitalWrite(DekOut12, HIGH);
    digitalWrite(DekOut21, HIGH);     
    delay(10);                 
    digitalWrite(DekOut11, HIGH); 
    digitalWrite(DekOut22, HIGH);    
    delay(5);  
    digitalWrite(DekOut12, LOW); 
    digitalWrite(DekOut21, LOW);       
    delay(5);  
    digitalWrite(DekOut11, LOW); 
    digitalWrite(DekOut22, LOW);  
    delay(5);
    count++;
  }
  else
    count=0;
  
  
}

Read more Here

 

More Articles to Read

Bookcase automatically opens to reveal secret lair
Bookcase automatically opens to reveal secret lair
PCI Express High Performance Reference Design
PCI Express High Performance Reference Design
Muxtronics open source 12V powerbank
Muxtronics open source 12V powerbank
TI’s Little Professor
TI’s Little Professor
App note: Testing inductors at application frequencies
App note: Testing inductors at application frequencies
1968 Princeton Reverb Repairs
1968 Princeton Reverb Repairs
Skill Sunday: Power Over Ethernet for Arduino
Skill Sunday: Power Over Ethernet for Arduino
More on Color TFT Displays ~ The Big Ones — 240 X 320
More on Color TFT Displays ~ The Big Ones — 240 X 320
Magnetic Rotary Encoder
Magnetic Rotary Encoder
Vertical Pole Climbing Robot
Vertical Pole Climbing Robot

Top




Shares