limchengwei
Published © CC BY-NC-SA

Charlieplexing 90 LEDs (10 pins)

Welcome to 10 x 9 = 90 LEDs charlieplexing.

IntermediateFull instructions provided3 hours535
Charlieplexing 90 LEDs (10 pins)

Things used in this project

Hardware components

1 x PCB LED board
Gerber file
×1
Male/Female Jumper Wires
Male/Female Jumper Wires
×10
Male Header 40 Position 1 Row (0.1")
Male Header 40 Position 1 Row (0.1")
×1
Arduino Mega 2560
Arduino Mega 2560
×1
5 mm LED: Red
5 mm LED: Red
×90

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Solder Wire, Lead Free
Solder Wire, Lead Free
PCB Holder, Soldering Iron
PCB Holder, Soldering Iron

Story

Read more

Custom parts and enclosures

Gerber file

Gerber file

Schematics

2 pins

2 pins

3 pins

3 pins

10 pins

10 pins

U and D LEDs

U and D LEDs

Truth Table LEDs row 7 and 8

Truth Table LEDs row 7 and 8

Truth Table LEDs row 9 and 10

Truth Table LEDs row 9 and 10

Truth Table LEDs row 1 and 2

Truth Table LEDs row 1 and 2

Truth Table LEDs row 3 and 4

Truth Table LEDs row 3 and 4

Truth Table LEDs row 5 and 6

Truth Table LEDs row 5 and 6

Code

Arduino code

Arduino
1. Connect the digital pins of the Arduino D2 to D11 to the LED PCB board from left to right.
int Pin0 = 2;
int Pin1 = 3;
int Pin2 = 4;
int Pin3 = 5;
int Pin4 = 6;
int Pin5 = 7;
int Pin6 = 8;
int Pin7 = 9;
int Pin8 = 10;
int Pin9 = 11;

void setup()
{
}

void OnLED (int a, int b)
{
  if (a == 0)
  {
    pinMode(Pin0, OUTPUT);
    digitalWrite (Pin0, LOW);
    if (b == 0)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin1, HIGH);
    }
    if (b == 1)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin2, HIGH);
    }
    if (b == 2)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin3, HIGH);
    }
    if (b == 3)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin4, HIGH);
    }
    if (b == 4)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin5, HIGH);
    }
    if (b == 5)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin6, HIGH);
    }
    if (b == 6)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, OUTPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin7, HIGH);
    }
    if (b == 7)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, OUTPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin8, HIGH);
    }
    if (b == 8)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, OUTPUT);
      digitalWrite (Pin9, HIGH);
    }
  }

  if (a == 1)
  {
    pinMode(Pin1, OUTPUT);
    digitalWrite (Pin1, LOW);
    if (b == 0)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin2, HIGH);
    }
    if (b == 1)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin3, HIGH);
    }
    if (b == 2)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin4, HIGH);
    }
    if (b == 3)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin5, HIGH);
    }
    if (b == 4)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin6, HIGH);
    }
    if (b == 5)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, OUTPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin7, HIGH);
    }
    if (b == 6)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, OUTPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin8, HIGH);
    }
    if (b == 7)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, OUTPUT);
      digitalWrite (Pin9, HIGH);
    }
    if (b == 8)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin0, HIGH);
    }
  }

  if (a == 2)
  {
    pinMode(Pin2, OUTPUT);
    digitalWrite (Pin2, LOW);
    if (b == 0)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin3, HIGH);
    }
    if (b == 1)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin4, HIGH);
    }
    if (b == 2)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin5, HIGH);
    }
    if (b == 3)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin6, HIGH);
    }
    if (b == 4)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, OUTPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin7, HIGH);
    }
    if (b == 5)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, OUTPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin8, HIGH);
    }
    if (b == 6)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, OUTPUT);
      digitalWrite (Pin9, HIGH);
    }
    if (b == 7)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin0, HIGH);
    }
    if (b == 8)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin1, HIGH);
    }
  }

  if (a == 3)
  {
    pinMode(Pin3, OUTPUT);
    digitalWrite (Pin3, LOW);
    if (b == 0)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin4, HIGH);
    }
    if (b == 1)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin5, HIGH);
    }
    if (b == 2)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin6, HIGH);
    }
    if (b == 3)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, OUTPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin7, HIGH);
    }
    if (b == 4)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, OUTPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin8, HIGH);
    }
    if (b == 5)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, OUTPUT);
      digitalWrite (Pin9, HIGH);
    }
    if (b == 6)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin0, HIGH);
    }
    if (b == 7)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin1, HIGH);
    }
    if (b == 8)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin2, HIGH);
    }
  }

  if (a == 4)
  {
    pinMode(Pin4, OUTPUT);
    digitalWrite (Pin4, LOW);
    if (b == 0)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin5, HIGH);
    }
    if (b == 1)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin6, HIGH);
    }
    if (b == 2)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, OUTPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin7, HIGH);
    }
    if (b == 3)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, OUTPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin8, HIGH);
    }
    if (b == 4)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, OUTPUT);
      digitalWrite (Pin9, HIGH);
    }
    if (b == 5)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin0, HIGH);
    }
    if (b == 6)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin1, HIGH);
    }
    if (b == 7)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin2, HIGH);
    }
    if (b == 8)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin3, HIGH);
    }
  }

  if (a == 5)
  {
    pinMode(Pin5, OUTPUT);
    digitalWrite (Pin5, LOW);
    if (b == 0)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin6, HIGH);
    }
    if (b == 1)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, OUTPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin7, HIGH);
    }
    if (b == 2)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, OUTPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin8, HIGH);
    }
    if (b == 3)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, OUTPUT);
      digitalWrite (Pin9, HIGH);
    }
    if (b == 4)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin0, HIGH);
    }
    if (b == 5)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin1, HIGH);
    }
    if (b == 6)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin2, HIGH);
    }
    if (b == 7)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin3, HIGH);
    }
    if (b == 8)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin4, HIGH);
    }
  }

  if (a == 6)
  {
    pinMode(Pin6, OUTPUT);
    digitalWrite (Pin6, LOW);
    if (b == 0)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, OUTPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin7, HIGH);
    }
    if (b == 1)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, OUTPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin8, HIGH);
    }
    if (b == 2)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, OUTPUT);
      digitalWrite (Pin9, HIGH);
    }
    if (b == 3)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin0, HIGH);
    }
    if (b == 4)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin1, HIGH);
    }
    if (b == 5)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, OUTPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin2, HIGH);
    }
    if (b == 6)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, OUTPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin3, HIGH);
    }
    if (b == 7)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, OUTPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin4, HIGH);
    }
    if (b == 8)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, OUTPUT);
      pinMode(Pin6, OUTPUT);
      pinMode(Pin7, INPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin5, HIGH);
    }
  }

  if (a == 7)
  {
    pinMode(Pin7, OUTPUT);
    digitalWrite (Pin7, LOW);
    if (b == 0)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, OUTPUT);
      pinMode(Pin8, OUTPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin8, HIGH);
    }
    if (b == 1)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, OUTPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, OUTPUT);
      digitalWrite (Pin9, HIGH);
    }
    if (b == 2)
    {
      pinMode(Pin0, OUTPUT);
      pinMode(Pin1, INPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, OUTPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin0, HIGH);
    }
    if (b == 3)
    {
      pinMode(Pin0, INPUT);
      pinMode(Pin1, OUTPUT);
      pinMode(Pin2, INPUT);
      pinMode(Pin3, INPUT);
      pinMode(Pin4, INPUT);
      pinMode(Pin5, INPUT);
      pinMode(Pin6, INPUT);
      pinMode(Pin7, OUTPUT);
      pinMode(Pin8, INPUT);
      pinMode(Pin9, INPUT);
      digitalWrite (Pin1, HIGH);
...

This file has been truncated, please download it to see its full contents.

Credits

limchengwei
24 projects • 4 followers

Comments