Back to Step by Step Course by Robojax
If you don't like to see ads while video is being played you can purchase YouTube premium Here
Please select other codes for this lecture from the links below.
Related or required files and link to this lesson
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.
In Project 3: Two digits dispaly Now we learn how a single digit display works. Please use the provided code below.
/*
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);
}
The least I expect from you is to thumb up the video and subscribe to my channel. I appriciate that. .I have spent months making these lectures and writing code. You don't lose anything by subscribging to my channel. Your subscription is stamp of approval to my videos and more people can find them and in it turn it helps me. Thank you
If you found this tutorial helpful, please support me so I can continue creating content like this. support me via PayPal
**** AFFILIATE PROGRAM **** We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.