- Lesson 110-1: 74HC595 8 LED light line
- Lesson 110-2: Single Digits LED seven Segment display using 74HC595
- Lesson 110-3: Two digits Digits LED seven Segment display using 74HC595
- Lesson 110-4: Build up to 8 Digits LED seven Segment display using two 74HC595 chip
- Lesson 110-5: Adjust delay sequence time for LED seven Segment display of 74HC595 using potentiometer
- Lesson 110-6: Measuring DC Voltage and dispalying it on LED seven Segment display using two 74HC595
Lesson 110: Build up to 8 digits Seven Segment display using 74HC595 Shift Register | Robojax
Lesson 110: Build up to 8 digits Seven Segment display using 74HC595 Shift Register | Robojax
Please select other codes for this lecture from the links below.
Related or required files and link to this lesson
- SunFounder 745H595 LED project
- Basic Walking LED using 74HC595 (YouTube video)
- Using Seven Segment without any chip with Arduino (YouTube video)
- Build Digital Clock with Seven Segment Display (YouTube video)
- نسخۀ فارسی این ویدیو
- Purchase Authentic Arduino UNO Amazon USA
- Purchase Authentic Arduino UNO Amazon Canada
- Purchase Authentic Arduino from all other Amazon
LED Seven Segment Display using 74HC595
This vode is to introduct the 74HC595 to driver 8 LED lights and turn them ON from 0 to 8 one by one while keeping each LED ON.
Projects in this video using 74HC595
- Project 1: Basic Shifting LED lights
- Project 2: Single Digit Seven Segment at 6:29 of video
- Project 3: Two digits dispaly at 15:28 of this video
- Project 4: Up to 8 Digits display is explaiend at 31:47
- Project 5: Adjusting delay of each digits using potentiometer at 57:32
- Project 6: Measuring DC voltage and dispalying on the LCD at 1:00:41
In Project 3: Two digits dispaly Now we learn how a single digit display works. Please use the provided code below.
Timing of chapters in the video
00:00 Start2:19 Code-1 Walking light
4:02 code-1: demonstration
4:49 connecting seven segment to walking light code
6:19 Code-2 single digit display
8:13 code-2: wiring
12:20 code-2: code explained
14:35 code-2: demo
15:28 code-2: two digits wiring (main wiring)
24:25 code-3: two digits Seven Segment display using 74HC595 code
29:06 How to digits display works
31:47 Code-4: Up to 8 digits Seven Segment display using 74HC595
36:16 All digits code explained
50:43 All digits demo
55:38 two display in parallel
56:30 Common Anode/Common Cathode test
57:32 Code-5: Adjusting delay with potentiometer
1:00:42 Code-6: Pot voltage
1:03:36 driving display with transistor
1:04:01 wiring explained
1:05:29 demo: transistor driver
/*
This code is to driver two Digits Seven Segment display using two pices of 74HC595
Watch full video instruction on YouTube https://youtu.be/xhPXovgFhso
written and explained by Ahmad Shamshiri on https://youtube.com/@robojax
*/
int CLOCK_SHCP_PIN11 = 12;//SHcp pin of 74HC595
int LATCH_STCP_PIN12 = 11;//STcp pin of 74HC595
int DATA_DS_PIN14 = 10;//ds pin of 74HC595
#define DIGITS 2
byte segmentsBits[] = {B00111111, //0
B00000110, //1
B01011011, //2
B01001111, //3
B01100110, //4
B01101101, //5
B01111101, //6
B00000111, //7
B01111111, //8
B01101111 //9
};
int digit1, digit2, digit3, digit4;
void setup() {
Serial.begin(9600);
Serial.println("Code 2: 74HC595 2 digit display driver");
pinMode(CLOCK_SHCP_PIN11, OUTPUT);
pinMode(LATCH_STCP_PIN12, OUTPUT);
pinMode(DATA_DS_PIN14, OUTPUT);
digitalWrite(CLOCK_SHCP_PIN11, LOW);
digitalWrite(LATCH_STCP_PIN12, LOW);
digitalWrite(DATA_DS_PIN14, LOW);
}
void loop() {
long number = 18;
digit2=number % 10 ;//18 gets 8
digit1=(number / 10) % 10 ;//18 gets 1
int digitBits =B11111110;
digitalWrite(LATCH_STCP_PIN12, LOW);
shiftOut(DATA_DS_PIN14, CLOCK_SHCP_PIN11, MSBFIRST, digitBits);
shiftOut(DATA_DS_PIN14, CLOCK_SHCP_PIN11, MSBFIRST, segmentsBits[ digit1]);
digitalWrite(LATCH_STCP_PIN12, HIGH);
// Serial.print("Showing: ");Serial.println(digit1);
delay(1);
digitBits =B11111101;
digitalWrite(LATCH_STCP_PIN12, LOW);
shiftOut(DATA_DS_PIN14, CLOCK_SHCP_PIN11, MSBFIRST, digitBits);
shiftOut(DATA_DS_PIN14, CLOCK_SHCP_PIN11, MSBFIRST, segmentsBits[ digit2]);
digitalWrite(LATCH_STCP_PIN12, HIGH);
//Serial.print("Showing: ");Serial.println(digit2);
delay(1);
}