7 Segment Display on Arduino

213,358

64

39

This instructable shows how to display 0-9 digits on 7 Segment Display using Arduino.

What do you need:

• Arduino Uno 3
• 7 Seven Segment Display
• 2 x 220 Ohm Resistors
• Jumper Wires

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Making Connections

Connect the pins described below:

1. Arduino Pin 2 to Pin 9.
2. Arduino Pin 3 to Pin 10.
3. Arduino Pin 4 to Pin 4.

4. Arduino Pin 5 to Pin 2..

5. Arduino Pin 6 to Pin 1.

6. Arduino Pin 8 to Pin 7.

7. Arduino Pin 9 to Pin 6.

8. GND to Pin 3 and Pin 8 each connected with 220 ohm resistors.

Step 2: Arduino Code

int a = 2;  //For displaying segment "a"
int b = 3;  //For displaying segment "b"
int c = 4;  //For displaying segment "c"
int d = 5;  //For displaying segment "d"
int e = 6;  //For displaying segment "e"
int f = 8;  //For displaying segment "f"
int g = 9;  //For displaying segment "g"
void setup() {
pinMode(a, OUTPUT);  //A
pinMode(b, OUTPUT);  //B
pinMode(c, OUTPUT);  //C
pinMode(d, OUTPUT);  //D
pinMode(e, OUTPUT);  //E
pinMode(f, OUTPUT);  //F
pinMode(g, OUTPUT);  //G
}
void displayDigit(int digit)
{
//Conditions for displaying segment a
if(digit!=1 && digit != 4)
digitalWrite(a,HIGH);

//Conditions for displaying segment b
if(digit != 5 && digit != 6)
digitalWrite(b,HIGH);

//Conditions for displaying segment c
if(digit !=2)
digitalWrite(c,HIGH);

//Conditions for displaying segment d
if(digit != 1 && digit !=4 && digit !=7)
digitalWrite(d,HIGH);

//Conditions for displaying segment e
if(digit == 2 || digit ==6 || digit == 8 || digit==0)
digitalWrite(e,HIGH);

//Conditions for displaying segment f
if(digit != 1 && digit !=2 && digit!=3 && digit !=7)
digitalWrite(f,HIGH);
if (digit!=0 && digit!=1 && digit !=7)
digitalWrite(g,HIGH);

}
void turnOff()
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}

void loop() {
for(int i=0;i<10;i++)
{
displayDigit(i);
delay(1000);
turnOff();
}
} Participated in the
Arduino Contest

17 People Made This Project!

• Street Performer Popstep made it!

• • • • • • • • • • mohammed breky made it!

• • • • • • • See 8 More

39 Discussions

int a = 2;
int b = 3;
int c = 4;
int d = 5;
int e = 6;
int f = 9;
int g = 10;
void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void displayDigit(int digit)
{
if(digit!=1 && digit != 4)
digitalWrite(f,HIGH);

if(digit != 5 && digit != 6)
digitalWrite(g,HIGH);

if(digit !=2)
digitalWrite(c,HIGH);

if(digit != 1 && digit !=4 && digit !=7)
digitalWrite(d,HIGH);

if(digit == 2 || digit ==6 || digit == 8 || digit==0)
digitalWrite(e,HIGH);

if(digit != 1 && digit !=2 && digit!=3 && digit !=7)
digitalWrite(a,HIGH);
if (digit!=0 && digit!=1 && digit !=7)
digitalWrite(b,HIGH);

}
void turnOff()
{
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
}

void loop() {
for(int i=0;i<10;i++)
{
displayDigit(i);
delay(1000);
turnOff();
}
}

Thanks for nice instructions! Here is how I would code it:

const int numberPins[] = { 9, 8, 6, 5, 4, 3, 2 };
void setup() {
for(int i = 0; i < 7; i++)
pinMode(numberPins[i], OUTPUT);
turnOff();
}
void displayDigit(int digit)
{
static byte numbers[] = { 95, 18, 47, 59, 114, 121, 125, 19, 127, 123 };
byte mask = 1;
for(int pin = 0; pin < 7; pin++)
{
if(numbers[digit] & (1 << pin))
digitalWrite(numberPins[pin], HIGH);
else
digitalWrite(numberPins[pin], LOW);
}
}
void turnOff()
{
for(int i = 0; i < 7; i++)
digitalWrite(numberPins[i], LOW);
}

Connections which is in the circuit diagram is the correct one.

Connections which is in the description is wrong
Correct description
Connect the pins described below:

1. Arduino Pin 2 to Pin 7.
2. Arduino Pin 3 to Pin 6.
3. Arduino Pin 4 to Pin 4.
4. Arduino Pin 5 to Pin 2.
5. Arduino Pin 6 to Pin 1.
6. Arduino Pin 8 to Pin 9.
7. Arduino Pin 9 to Pin 10.
8. GND to Pin 3 and Pin 8 each connected with 220 ohm resistors.