Header Ads

Large 7 Segment (2.3") Display Interfacing Using Arduino with Pin Configuration

Overview

In this tutorial, we will learn how to interfacing large 7 segments (2.3") display with Arduino. To displayed decimal number in 0 to 9, it is the most common and popular display all over the world. Also, these type of display is available in any country. They are low cost and easy to use. They are two types of display called common cathode (-) and common anode (+). Here we will discuss the common anode display(+).

You can watch the following video below:-


Components Required

The required components list for this tutorial given below:-
  • Arduino Uno
  • 7 Segment Display Common Anode
  • 12V Power Supply
  • Breadboard
  • Some Jumper Wire

7 Segment Display Pinout

The following below figure shows 7 segment display pin configuration.
Fig: Common anode 7 segments display pinout

Circuit Diagram

The following below figure shows Arduino Uno and 7 segment display interfacing.
Fig: Arduino and 7 segments display interfacing. 

Circuit Description

Single digit 7 segment display typically have 10 pins in which one is DP pin, two common Vcc pins. In the common pin Vcc(1 and 5), we need to supply 7 to 12V. The remaining of seven pins are a,b,c,d,f,g will be connected to the Arduino according to the following below. 
Arduino--------------------Seven Segment
Pin_1     ----------------   Pin_7 (Seg_a)

Pin_2     ----------------   Pin_6 (Seg_b)
Pin_3     ----------------   Pin_4 (Seg_c)
Pin_4     ----------------   Pin_3 (Seg_d)
Pin_5     ----------------   Pin_2 (Seg_e)
Pin_6    -----------------  Pin_9 (Seg_f)
Pin_7    -----------------  Pin_10 (Seg_g)

Source Code

Common anode display Arduino source code given below:-
  int digit[10]={B10000000,B11110010,B01001000,B01100000,B00110010,B00100100,B00000100,B11110000,B00000000,B00100000};   
  void setup() {   
  DDRD = B11111110;   
  }   
  void loop() {   
   for(int i=0;i<10;i++)   
   {   
   PORTD = digit[i];   
   delay(1000);   
   }   
  }  
Alternative common cathode display Arduino source code given below:- 
 // Common Anode 7 segment display code   
  int seg_a = 1;   
  int seg_b = 2;   
  int seg_c = 3;   
  int seg_d = 4;   
  int seg_e = 5;   
  int seg_f = 6;   
  int seg_g = 7;   
     
  void setup() {   
  pinMode(seg_a, OUTPUT);    
  pinMode(seg_b, OUTPUT);    
  pinMode(seg_c, OUTPUT);    
  pinMode(seg_d, OUTPUT);   
  pinMode(seg_e, OUTPUT);    
  pinMode(seg_f, OUTPUT);    
  pinMode(seg_g, OUTPUT);   
  }   
     
  void loop() {   
     
  for (int i = 0; i < 10; i++)   
  {   
  digit(i);   
  delay(1000);   
  }   
  }   
     
  void digit(int num)   
  {   
  switch (num) {   
   case 0: zero(); break;   
   case 1: one(); break;   
   case 2: two(); break;   
   case 3: three(); break;   
   case 4: four(); break;   
   case 5: five(); break;   
   case 6: six(); break;   
   case 7: seven(); break;   
   case 8: eight(); break;   
   case 9: nine(); break;   
  }   
     
  }   
  void Digit(int A, int B, int C, int D, int E, int F, int G)   
  {   
  digitalWrite(seg_a, A); digitalWrite(seg_b, B); digitalWrite(seg_c, C); digitalWrite(seg_d, D);   
  digitalWrite(seg_e, E); digitalWrite(seg_f, F); digitalWrite(seg_g, G);   
  }   
     
  void one()   
  {Digit(0,1,1,0,0,0,0);}   
  void two()   
  {Digit(1,1,0,1,1,0,1);}   
  void three()   
  {Digit(1,1,1,1,0,0,1);}   
  void four()   
  {Digit(0,1,1,0,0,1,1);}   
  void five()   
  {Digit(1,0,1,1,0,1,1);}   
  void six()   
  {Digit(1,0,1,1,1,1,1);}   
  void seven()   
  {Digit(1,1,1,0,0,0,0);}   
  void eight()   
  {Digit(1,1,1,1,1,1,1);}   
  void nine()   
  {Digit(1,1,1,1,0,1,1);}   
  void zero()   
  {Digit(1,1,1,1,1,1,0);}   

No comments

Powered by Blogger.