Scrolling 'WELCOME' on 7-Segment Display using Arduino (Embedded C)
Components Required:
- Arduino UNO
- 1x 7-Segment Common Cathode Display
- 220 Ohm resistors (7 pcs)
- Breadboard and jumper wires
- USB cable for Arduino
Pin Mapping:
Segment A -> Arduino Pin 2
Segment B -> Arduino Pin 3
Segment C -> Arduino Pin 4
Segment D -> Arduino Pin 5
Segment E -> Arduino Pin 6
Segment F -> Arduino Pin 7
Segment G -> Arduino Pin 8
Working Principle:
A 7-segment display can't show the full word 'WELCOME' at once, so each character will be shown
one by one for a short duration to create a scrolling effect.
Embedded C Code (Arduino):
int segA = 2;
int segB = 3;
int segC = 4;
int segD = 5;
int segE = 6;
int segF = 7;
int segG = 8;
void displayChar(char c) {
digitalWrite(segA, LOW); digitalWrite(segB, LOW);
digitalWrite(segC, LOW); digitalWrite(segD, LOW);
digitalWrite(segE, LOW); digitalWrite(segF, LOW);
digitalWrite(segG, LOW);
switch (c) {
case 'W': digitalWrite(segB, HIGH); digitalWrite(segD, HIGH);
digitalWrite(segF, HIGH); digitalWrite(segC, HIGH); break;
case 'E': digitalWrite(segA, HIGH); digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH); digitalWrite(segF, HIGH);
digitalWrite(segG, HIGH); break;
case 'L': digitalWrite(segD, HIGH); digitalWrite(segE, HIGH);
digitalWrite(segF, HIGH); break;
case 'C': digitalWrite(segA, HIGH); digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH); digitalWrite(segF, HIGH); break;
case 'O': digitalWrite(segA, HIGH); digitalWrite(segB, HIGH);
digitalWrite(segC, HIGH); digitalWrite(segD, HIGH);
digitalWrite(segE, HIGH); digitalWrite(segF, HIGH); break;
case 'M': digitalWrite(segA, HIGH); digitalWrite(segC, HIGH);
digitalWrite(segE, HIGH); digitalWrite(segF, HIGH); break;
}
}
void setup() {
for (int i = 2; i <= 8; i++) pinMode(i, OUTPUT);
}
void loop() {
char message[] = {'W', 'E', 'L', 'C', 'O', 'M', 'E'};
for (int i = 0; i < sizeof(message); i++) {
displayChar(message[i]);
delay(1000);
}
}
Notes:
- Characters like 'M' or 'W' are hard to represent on a 7-segment display. The code uses
best-approximations.
- You may add delays or use multiple displays with multiplexing for better effects.