// http://www.ardumotive.com/4-digit-7seg-display-en.html /* * 4 Digitl 7 segment display PCB board with (4) 74HC595 shift register ICs * Arduino Tutorial - www.Ardumotive.com * Dev: Michalis Vasilakis // Date: 23/1/2018 // Ver:1.0 */ #include // create shift register object (number of shift registers, data pin, clock pin, latch pin) ShiftRegister74HC595 sr (4, 2, 3, 4); const int pot = A0; int value,digit1,digit2,digit3,digit4; uint8_t numberB[] = {B11000000, //0 B11111001, //1 B10100100, //2 B10110000, //3 B10011001, //4 B10010010, //5 B10000011, //6 B11111000, //7 B10000000, //8 B10011000 //9 }; void setup() { blink(); } void loop() { //Read from Analog1 value=analogRead(pot); //Split number to digits: digit4=value % 10 ; digit3=(value / 10) % 10 ; digit2=(value / 100) % 10 ; digit1=(value / 1000) % 10 ; //Send them to 7 segment displays uint8_t numberToPrint[]= {numberB[digit4],numberB[digit3],numberB[digit2],numberB[digit1]}; sr.setAll(numberToPrint); //Reset them for next read digit1=0; digit2=0; digit3=0; digit4=0; delay(1000); // Read and print every 1 sec } //Blink void blink(){ for(int i = 0; i<2; i++){ sr.setAllHigh(); // set all pins HIGH delay(1000); sr.setAllLow(); // set all pins LOW delay(1000); } }