How to Interface Arduino and 7 Segment Display : Beginners Guide

Now a days for many applications, there’s no need to use a more expensive liquid crystal display(LCD) to display data. A simple seven-segment display is more than enough.

If your project only needs to display numbers, consider using a seven-segment display. The seven-segment display has seven LEDs arranged in the shape of the number eight and they are easy to use and cost-effective.

seven segment display

Let’s start interfacing the Arduino with seven segment display.

Check out How to Connect Arduino Uno to Android via Bluetooth here.

Hardware Required:

  1. 1 x seven-segment display (common cathode)
  2. 1 x Arduino MEGA 2560
  3. 1 x breadboard
  4. 7 x 220 ohm resistors (1/4 W)
  5. jumper wires

Connections:

You will need to do the connections as shown below.

Seven segment pinsArduino pins
1(e)9
2(d)8
3,8(COM)GND
c7
5(dp)6
6(b)10
7(a)11
9(f)12
10(g)8

Program:

unsigned const int A = 13;
unsigned const int B = 12;
unsigned const int C = 11;
unsigned const int D = 10;
unsigned const int E = 9;
unsigned const int F = 8;
unsigned const int G = 7;
unsigned const int H = 6;


void setup(void)
{
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  pinMode(E, OUTPUT);
  pinMode(F, OUTPUT);
  pinMode(G, OUTPUT);
  pinMode(H, OUTPUT);
}

//My Functions

void zero(void) {
  digitalWrite(A, LOW);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);
  digitalWrite(H, LOW);
}

void one(void) {
  digitalWrite(A, LOW);
  digitalWrite(B, LOW);
  digitalWrite(C, LOW);
  digitalWrite(D, HIGH);
  digitalWrite(E, LOW);
  digitalWrite(F, LOW);
  digitalWrite(G, HIGH);
  digitalWrite(H, LOW);
}

void two(void) {
  digitalWrite(A, HIGH);
  digitalWrite(B, LOW);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, HIGH);
  digitalWrite(G, LOW);
  digitalWrite(H, LOW);
}

void three(void) {
  digitalWrite(A, HIGH);
  digitalWrite(B, LOW);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, LOW);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);
  digitalWrite(H, LOW);
}

void four(void) {
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, LOW);
  digitalWrite(D, HIGH);
  digitalWrite(E, LOW);
  digitalWrite(F, LOW);
  digitalWrite(G, HIGH);
  digitalWrite(H, LOW);
}

void five(void) {
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, LOW);
  digitalWrite(E, LOW);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);
  digitalWrite(H, LOW);
}

void six(void) {
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, LOW);
  digitalWrite(E, HIGH);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);
  digitalWrite(H, LOW);
}

void seven(void) {
  digitalWrite(A, LOW);
  digitalWrite(B, LOW);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, LOW);
  digitalWrite(F, LOW);
  digitalWrite(G, HIGH);
  digitalWrite(H, LOW);
}

void eight(void) {
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, HIGH);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);
  digitalWrite(H, LOW);
}

void nine(void) {
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(C, HIGH);
  digitalWrite(D, HIGH);
  digitalWrite(E, LOW);
  digitalWrite(F, HIGH);
  digitalWrite(G, HIGH);
  digitalWrite(H, LOW);
}

// Start
void loop(void)
{
  zero();
  delay(1000);
  
  one();
  delay(1000);
  
  two();
  delay(1000);
  
  three();
  delay(1000);
  
  four();
  delay(1000);
  
  five();
  delay(1000);
  
  six();
  delay(1000);
  
  seven();
  delay(1000);
  
  eight();
  delay(1000);
  
  nine();
  delay(1000);
}

Connection Diagram:

arduino and 7 segment display

FAQs for Interface Arduino and 7 Segment Display

  1. What is a 7-segment display?

    A 7-segment display is a type of electronic display device that can be used to display numerical digits and some letters. It consists of seven LED segments arranged in the shape of the number 8, with an additional LED segment for a decimal point.

  2. How do I connect a 7-segment display to an Arduino?

    Connect the common pin of the display to either ground or 5V, depending on whether it is a common cathode or common anode display. Then connect each of the seven segment pins to separate digital output pins on the Arduino board. Use current-limiting resistors (220 Ohms) to protect the LED segments.

  3. How do I display a number on a 7-segment display using Arduino?

    To display a number on a 7-segment display using Arduino, write the code to set the output pins high or low as per the required pattern to display that number. Refer to the datasheet of your 7-segment display to determine which segments need to be lit up to display a particular digit.

  4. How do I display multiple numbers on a 7-segment display using Arduino?

    To display multiple numbers on a 7-segment display using Arduino, you need to use multiplexing. This involves rapidly switching between each digit and displaying them one at a time. Write the code to switch between each digit in a loop and display them one at a time.

  5. Can I display letters and symbols on a 7-segment display using Arduino?

    Yes, some 7-segment displays can display letters and symbols as well as numbers. Refer to the datasheet of your display to determine which segments need to be lit up to display the desired letter or symbol.

You may interested in:

Temperature measurement using Arduino : Beginners Guide

Arduino or Raspberry Pi: Which is best for beginners?

Capacitor: The beginner’s Guide

Introduction to Electronic Components: Beginners Guide

Leave a Reply

Your email address will not be published. Required fields are marked *