int data = 12;
int latch = 11;
int clock = 9;
String digit1;
String digit2;
String digit3;
String digit4;
byte digitDp1 [10] = {B11111111,B10011111,B00100101,B00001101,B10011001,B01001001,B01000001,B00011111,B00000001,B00001001};
byte digitDp2 [10] = {B00000010,B10011110,B00100100,B00001100,B10011000,B01001000,B01000000,B00011110,B00000000,B00001000};
byte digitDp3 [10] = {B00000011,B10011111,B00100101,B00001101,B10011001,B01001001,B01000001,B00011111,B00000001,B00001001};
byte digitDp4 [10] = {B00000011,B10011111,B00100101,B00001101,B10011001,B01001001,B01000001,B00011111,B00000001,B00001001};
void setup() {
// Serial.begin(9600);
pinMode(data, OUTPUT);
pinMode(latch, OUTPUT);
pinMode(clock, OUTPUT);
for(int i=0; i<10; i++){
digitalWrite(latch, LOW);
shiftOut(data,clock,LSBFIRST,digitDp3[i]);
shiftOut(data,clock,LSBFIRST,digitDp3[i]);
shiftOut(data,clock,LSBFIRST,digitDp3[i]);
shiftOut(data,clock,LSBFIRST,digitDp3[i]);
digitalWrite(latch, HIGH);
delay(500);
}
delay(1000);
// digitalWrite(latch, LOW);
// shiftOut(data,clock,LSBFIRST,B00011111);
// shiftOut(data,clock,LSBFIRST,B00100101);
// digitalWrite(latch, HIGH);
}
void loop() {
String qty = "3.20";
int idenxDesimal = qty.indexOf('.')+1;
String bilBulat = qty.substring(0,idenxDesimal-1);
String desimal = qty.substring(idenxDesimal);
if(bilBulat.length() == 1){
digit1 = "0";
digit2 = bilBulat.substring(0,1);
}else{
digit1 = bilBulat.substring(0,1);
digit2 = bilBulat.substring(1,2);
}
if(desimal.length() == 1){
digit3 = desimal.substring(0,1);
digit4 = "0";
}else{
digit3 = desimal.substring(0,1);
digit4 = desimal.substring(1,2);
}
digitalWrite(latch, LOW);
shiftOut(data,clock,LSBFIRST,digitDp4[digit4.toInt()]);
shiftOut(data,clock,LSBFIRST,digitDp3[digit3.toInt()]);
shiftOut(data,clock,LSBFIRST,digitDp2[digit2.toInt()]);
shiftOut(data,clock,LSBFIRST,digitDp1[digit1.toInt()]);
digitalWrite(latch, HIGH);
delay(500);
}