Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (1 vote)
39 views

7-Segment Display Based On Arduino

The document describes a student project to create a 4-digit 7-segment display using an Arduino. The student connected the segments of the display to pins on the Arduino board and wrote code to display digits. The code includes functions to select which digit to light up on the display and which numeric value to show. Running the code causes the 4-digit display to sequentially light up the digits, showing the number 2056.

Uploaded by

Arshman Shahbaz
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
39 views

7-Segment Display Based On Arduino

The document describes a student project to create a 4-digit 7-segment display using an Arduino. The student connected the segments of the display to pins on the Arduino board and wrote code to display digits. The code includes functions to select which digit to light up on the display and which numeric value to show. Running the code causes the 4-digit display to sequentially light up the digits, showing the number 2056.

Uploaded by

Arshman Shahbaz
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Name: - Arshman Shahbaz

ID: - F2019376001
Section: - Y3
Project:- 7 segment display
Introduction

I made a 7-segment display which displays 4 digits. 7-segment consist of letters


a to g, top of the segment is a which increment from left to right hence you can
see in pic a than to the right b until it reaches f. Th middle line is indicated as g.

I connected Arduinos UNOs pin 2 with 7-segments pin 11, pin 3 with Arduinos
pin 7, pin 4 with Arduinos 4, pin 5 with Arduinos 2, 6 with Arduinos 1, 7 with
Arduinos 10, 8 with Arduinos 5. Moreover, there are 4 common ground pins
which are 12,8,9 and 6 which I connected with Arduinos 9,10,11 and 12.
After this I plugged with my USB port and uploaded my code which is: -
To conclude I declared variables globally so that I can access them anywhere in
the code. I made 3 functions, one to display which digit from 0 to 9. 2nd to
display on which slot of 7-segments out of four. Third function includes both
two function so that I can assign digits to the 7-segment simultaneously.
int pinA = 2;

int pinB = 3;

int pinC = 4;

int pinD = 5;

int pinE = 6;

int pinF = 7;

int pinG = 8;

int pin = 13;

int D1 = 9;

int D2 = 10;

int D3 = 11;
int D4 = 12;

void select(char num) {

switch(num) {

default://0

digitalWrite(pinA, HIGH);

digitalWrite(pinB, HIGH);

digitalWrite(pinC, HIGH);

digitalWrite(pinD, HIGH);

digitalWrite(pinE, HIGH);

digitalWrite(pinF, HIGH);

digitalWrite(pinG, LOW);

digitalWrite(pin, HIGH);

break;

case 1://1

digitalWrite(pinA, LOW);

digitalWrite(pinB, HIGH);

digitalWrite(pinC, HIGH);

digitalWrite(pinD, LOW);

digitalWrite(pinE, LOW);

digitalWrite(pinF, LOW);

digitalWrite(pinG, LOW);

digitalWrite(pin, HIGH);

break;

case 2://2

digitalWrite(pinA, HIGH);

digitalWrite(pinB, HIGH);

digitalWrite(pinC, LOW);

digitalWrite(pinD, HIGH);

digitalWrite(pinE, HIGH);

digitalWrite(pinF, LOW);

digitalWrite(pinG, HIGH);

digitalWrite(pin, HIGH);
break;

case 3: //3

digitalWrite(pinA, HIGH);

digitalWrite(pinB, HIGH);

digitalWrite(pinC, HIGH);

digitalWrite(pinD, HIGH);

digitalWrite(pinE, LOW);

digitalWrite(pinF, LOW);

digitalWrite(pinG, HIGH);

digitalWrite(pin, HIGH);

break;

case 4: //4

digitalWrite(pinA, LOW);

digitalWrite(pinB, HIGH);

digitalWrite(pinC, HIGH);

digitalWrite(pinD, LOW);

digitalWrite(pinE, LOW);

digitalWrite(pinF, HIGH);

digitalWrite(pinG, HIGH);

digitalWrite(pin, HIGH);

break;

case 5: //5

digitalWrite(pinA, HIGH);

digitalWrite(pinB, LOW);

digitalWrite(pinC, HIGH);

digitalWrite(pinD, HIGH);

digitalWrite(pinE, LOW);

digitalWrite(pinF, HIGH);

digitalWrite(pinG, HIGH);

digitalWrite(pin, HIGH);

break;

}
case 6://6

digitalWrite(pinA, HIGH);

digitalWrite(pinB, LOW);

digitalWrite(pinC, HIGH);

digitalWrite(pinD, HIGH);

digitalWrite(pinE, HIGH);

digitalWrite(pinF, HIGH);

digitalWrite(pinG, HIGH);

digitalWrite(pin, HIGH);

break;

case 7: //7

digitalWrite(pinA, HIGH);

digitalWrite(pinB, HIGH);

digitalWrite(pinC, HIGH);

digitalWrite(pinD, LOW);

digitalWrite(pinE, LOW);

digitalWrite(pinF, LOW);

digitalWrite(pinG, LOW);

digitalWrite(pin, HIGH);

break;

case 8: //8

digitalWrite(pinA, HIGH);

digitalWrite(pinB, HIGH);

digitalWrite(pinC, HIGH);

digitalWrite(pinD, HIGH);

digitalWrite(pinE, HIGH);

digitalWrite(pinF, HIGH);

digitalWrite(pinG, HIGH);

digitalWrite(pin, HIGH);

break;

case 9:

{
digitalWrite(pinA, HIGH);

digitalWrite(pinB, HIGH);

digitalWrite(pinC, HIGH);

digitalWrite(pinD, LOW);

digitalWrite(pinE, LOW);

digitalWrite(pinF, HIGH);

digitalWrite(pinG, HIGH);

digitalWrite(pin, HIGH);

break;

void digit(int a) {

digitalWrite(D1, HIGH);

digitalWrite(D2, HIGH);

digitalWrite(D3, HIGH);

digitalWrite(D4, HIGH);

switch(a) {

case 1: digitalWrite(D1, LOW); break;

case 2: digitalWrite(D2, LOW); break;

case 3: digitalWrite(D3, LOW); break;

default: digitalWrite(D4, LOW); break;

void func(int a, int b, int c, int d)

digit(1);

select(a);

delay(1);
digit(2);

select(b);

delay(1);

digit(3);

select(c);

delay(1);

digit(4);

select(d);

delay(1);

// the setup routine runs once when you press reset:

void setup() {

// initialize the digital pins as outputs.

pinMode(pinA, OUTPUT);

pinMode(pinB, OUTPUT);

pinMode(pinC, OUTPUT);

pinMode(pinD, OUTPUT);

pinMode(pinE, OUTPUT);

pinMode(pinF, OUTPUT);

pinMode(pinG, OUTPUT);

pinMode(D1, OUTPUT);

pinMode(D2, OUTPUT);

pinMode(D3, OUTPUT);

pinMode(D4, OUTPUT);

// the loop routine runs over and over again forever:

void loop() {

func(2,0,5,6);

delay(1);

You might also like