Marcin Saj
Published © GPL3+

Flip-disc Display - How it Works and How it is Built

The project describes the construction and operation of flip-disc displays. It also shows a simple way to control them via Arduino.

IntermediateProtip1 hour1,503
Flip-disc Display - How it Works and How it is Built

Things used in this project

Story

Read more

Schematics

Flip-disc display - Specification

Datasheet, operation temperature, technical parameters, control methods.

Schematic - controlling flip-disc display via Arduino

Code

Example code to control a flip-disc display

Arduino
// Example code to control a flip-disc display

const int PL_PIN = 9;
const int CH_PIN = 8;
const int H1_PIN = 7;
const int L1_PIN = 6;
const int H2_PIN = 5;
const int L2_PIN = 4;

void setup() 
{
  pinMode(PL_PIN, OUTPUT); digitalWrite(PL_PIN, LOW);
  pinMode(CH_PIN, OUTPUT); digitalWrite(CH_PIN, LOW);
  pinMode(H1_PIN, OUTPUT); digitalWrite(H1_PIN, LOW);
  pinMode(L1_PIN, OUTPUT); digitalWrite(L1_PIN, LOW);
  pinMode(H2_PIN, OUTPUT); digitalWrite(H2_PIN, LOW);
  pinMode(L2_PIN, OUTPUT); digitalWrite(L2_PIN, LOW);
}

void loop() 
{
  FlipDisc(1);  // Set the disc
  delay(1000);
  FlipDisc(0);  // Reset the disc
  delay(1000);
}

void FlipDisc(bool discStatus)
{
  digitalWrite(CH_PIN, HIGH);     // Charging ON
  delay(1);                       // Even 0.1 millisecond is enough
  digitalWrite(CH_PIN, LOW);      // Charging OFF
  digitalWrite(PL_PIN, HIGH);     // Pulse Current ON  

  if(discStatus == 1)
  {
    digitalWrite(H1_PIN, HIGH);   // Open the first pulse current path
    digitalWrite(L2_PIN, HIGH);
    delay(1);                     // Wait 1ms           
    digitalWrite(H1_PIN, LOW);    // Close the first pulse current path
    digitalWrite(L2_PIN, LOW);
  }
  else if(discStatus == 0)
  {
    digitalWrite(L1_PIN, HIGH);   // Open the second pulse current path
    digitalWrite(H2_PIN, HIGH);
    delay(1);                     // Wait 1ms           
    digitalWrite(L1_PIN, LOW);    // Close the second pulse current path
    digitalWrite(H2_PIN, LOW);  
  }

  digitalWrite(CH_PIN, LOW);      // Pulse Current OFF  
}

Credits

Marcin Saj

Marcin Saj

28 projects • 29 followers
I am currently involved in the development of the Flipo.io and NixieTester.com project.

Comments