WELCOME Message on 7-Segment Display using Arduino
This project displays the message 'WELCOME' on a 7-segment LED display using an Arduino
board. It utilizes embedded C programming to control individual segments for each character.
Components Required:
- Arduino UNO
- 7-Segment Display (Common Cathode)
- 220-ohm Resistors
- Jumper Wires
- Breadboard
Working Principle:
Each character of the word 'WELCOME' is displayed one after another on a single 7-segment
display. This is achieved by turning on the corresponding segments to form each letter.
Circuit Connections:
Connect each segment of the 7-segment display (a to g) to Arduino digital pins through 220-ohm
resistors.
Common cathode pin is connected to GND.
Embedded C Code (Arduino):
// Define segment pins
int a = 2, b = 3, c = 4, d = 5, e = 6, f = 7, g = 8;
void setup() {
int pins[] = {a, b, c, d, e, f, g};
for (int i = 0; i < 7; i++) {
pinMode(pins[i], OUTPUT);
}
}
void loop() {
displayLetter('W'); delay(1000);
displayLetter('E'); delay(1000);
displayLetter('L'); delay(1000);
displayLetter('C'); delay(1000);
displayLetter('O'); delay(1000);
displayLetter('M'); delay(1000);
displayLetter('E'); delay(1000);
}
void displayLetter(char letter) {
// Turn off all segments
digitalWrite(a, LOW); digitalWrite(b, LOW); digitalWrite(c, LOW);
digitalWrite(d, LOW); digitalWrite(e, LOW); digitalWrite(f, LOW);
digitalWrite(g, LOW);
switch (letter) {
case 'W':
digitalWrite(b, HIGH); digitalWrite(d, HIGH); digitalWrite(f, HIGH);
break;
case 'E':
digitalWrite(a, HIGH); digitalWrite(d, HIGH); digitalWrite(e, HIGH);
digitalWrite(f, HIGH); digitalWrite(g, HIGH);
break;
case 'L':
digitalWrite(d, HIGH); digitalWrite(e, HIGH); digitalWrite(f, HIGH);
break;
case 'C':
digitalWrite(a, HIGH); digitalWrite(d, HIGH); digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
break;
case 'O':
digitalWrite(a, HIGH); digitalWrite(b, HIGH); digitalWrite(c, HIGH);
digitalWrite(d, HIGH); digitalWrite(e, HIGH); digitalWrite(f, HIGH);
break;
case 'M':
digitalWrite(a, HIGH); digitalWrite(b, HIGH); digitalWrite(c, HIGH);
digitalWrite(e, HIGH); digitalWrite(f, HIGH);
break;
}
}