# 7 Segment Display on Arduino

170,519

60

32

Published

## Introduction: 7 Segment Display on Arduino

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

## 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();
}
}

## 14 People Made This Project!

• ### mohammed breky made it!

• See 5 more that made it

## Recommendations

• ### Arduino Class

69,892 Enrolled

• ### Oil Contest

We have a be nice policy.

## Questions

0

What is the part number for the 7 seven segment display?

its working great, better to configure the jumper wires as its in the fritzing diagram.

Thanks

How to run it?

This is an example only for "Common katode" , am i right?

Why resistors before GND?

to save the arduino pins from overload

What's the ! mark after digit mean?

! is like saying not.

!= means 'not equal'

Doesn't work correctly. could you tell me why.

9 replies

Confirm if you have exact same components? Have you made right connections? Copied all code?

me 2 bro.. not work correctly.. fix this if u can.

Hey! Try to switch from GND to VCC. It worked for me. If you search for a datasheet or a pinout description you will notice that the 3 and 8 pins are connected to VCC not GND. Try this way...maybe it will work.

5 star bro ! your the man!

haha its works!! i owe you much for our project!
thanks a lot!

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.

thanks very much (y) ...at last it worked ....

maby you have a wrong 7 segment display maby it's a common cathode

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.

HERE IS THE FIX!!!!!!!!!!!!!!!!!!! the code is defunct now due to newer IDE versions: to fix the code change in the line of Void Loop

for(int i=0;i<10;i++)

remove int after for(i=0;i<10;i++) < should look like this

and in the same Void loop add this line before the if statement

int 1;

so it should look like :

void loop()

{

int i;

for( i = 0; i< 10; i++);

{

DONE

Where is the code for this?

Worked fine

Thank-you for sharing

The reason it does'nt work is because Arduino pin 1 and 7 is not used, correct code :

{
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
}

And yes, I made it but don't have an image :D