// How can we display a 2 digit output on a 7 segment display ?

# How can we display a 2 digit output on a 7 segment display ?

Displaying a 2-digit output on a 7-segment display involves driving each segment of each digit independently. Each digit is represented by a separate set of 7 LEDs (segments). Here’s a detailed explanation of how to achieve this using a microcontroller, specifically considering the common cathode 7-segment display type:

### Components Needed:

1. Common cathode 7-segment displays (2 digits)
2. Microcontroller (e.g., Arduino)
3. Resistors
4. Jumper wires

### Steps:

#### 1. Identify the Pins:

• Common Cathode Display: Identify the common cathode pin for each digit. Common cathode displays have one pin shared among all cathodes.
• Segment Pins: Identify the pins corresponding to each LED segment for each digit.

#### 2. Connect Display to Microcontroller:

• Common Cathode Connection:
• Connect the common cathode pin of the first digit to a digital pin on the microcontroller.
• Connect the common cathode pin of the second digit to another digital pin on the microcontroller.
• Segment Connections:
• Connect the segment pins of both digits to different digital pins on the microcontroller. Ensure that corresponding segments are connected to the same pin for both digits.

#### 3. Write a Program:

• Segment Mapping: Create a mapping of segments to the corresponding digital pins on the microcontroller. For example:css
const int segments[] = {A, B, C, D, E, F, G};
• Digit Selection: Define which digit to display by setting the common cathode pins LOW. Activate one digit at a time while displaying the corresponding segments.cpp
digitalWrite(commonCathodeDigit1, LOW); // Activate digit 1 digitalWrite(commonCathodeDigit2, HIGH); // Deactivate digit 2

#### 4. Multiplexing:

• Iterate Through Digits:
• Use a loop to iterate through each digit and display the desired numbers.
• For each digit, set the common cathode pin LOW to activate it and display the corresponding segments for the number to be shown.
• Delay:
• Introduce a small delay between switching digits to create the illusion of both digits being displayed simultaneously.

cpp
delay(5);

#### 5. Display Numbers:

• Segment Activation:
• Activate the specific segments to display the desired numbers. Use the segment mapping created earlier.

cpp
digitalWrite(segments[0], HIGH); // Display segment A digitalWrite(segments[1], HIGH); // Display segment B // … Continue for all segments

• Digit 1 Example:

cpp
digitalWrite(commonCathodeDigit1, LOW); // Activate digit 1 digitalWrite(commonCathodeDigit2, HIGH); // Deactivate digit 2 // Display number 5 on digit 1 digitalWrite(segments[0], HIGH); // Display segment A digitalWrite(segments[1], LOW); // Display segment B // … Continue for other segments delay(5); // Introduce delay

• Digit 2 Example:

cpp
digitalWrite(commonCathodeDigit1, HIGH); // Deactivate digit 1 digitalWrite(commonCathodeDigit2, LOW); // Activate digit 2 // Display number 3 on digit 2 digitalWrite(segments[0], HIGH); // Display segment A digitalWrite(segments[1], HIGH); // Display segment B // … Continue for other segments delay(5); // Introduce delay

#### 6. Repeat:

• Repeat the Process:
• Continuously loop through the digits, displaying the desired numbers on each.

### Considerations:

• Ensure that the common cathode pins are properly controlled to select the digit you want to display.
• Adjust the delay value based on your specific requirements and the persistence of vision to create a stable display.

### Extensions:

• You can further enhance the display by incorporating additional features like dimming, scrolling, or displaying other characters.

### Professional Assistance:

• If working with complex circuits or larger displays, consider consulting with experienced electronics professionals or engineers for optimal results.

In summary, displaying a 2-digit output on a 7-segment display involves multiplexing the digits and controlling the segments through a microcontroller. By selectively activating segments for each digit in a loop, you can create the appearance of a continuous display of two digits.

Recent Updates