#define BAUD 115200 //Pin connected to ST_CP of 74HC595 int latchPin = 13; //Pin connected to SH_CP of 74HC595 int clockPin = 12; ////Pin connected to DS of 74HC595 int dataPin = 11; byte min1=0; byte min0=0; byte minuto=0; byte display0[10]= {119,65,59,107,77,110,126,67,127,111}; void readSerial() { if( Serial.available()) { minuto=Serial.read(); if (minuto<100) { min1=minuto/10; min0=minuto%10; digitalWrite(latchPin, 0); shiftOut(dataPin, clockPin, display0[min1]); shiftOut(dataPin, clockPin, display0[min0]); digitalWrite(latchPin, 1); } } } void setup() { //Start Serial for debuging purposes Serial.begin(BAUD); //set pins to output because they are addressed in the main loop pinMode(latchPin, OUTPUT); min1=minuto/10; min0=minuto%10; digitalWrite(latchPin, 0); shiftOut(dataPin, clockPin, display0[min1]); shiftOut(dataPin, clockPin, display0[min0]); digitalWrite(latchPin, 1); } void loop() { readSerial(); } void shiftOut(int myDataPin, int myClockPin, byte myDataOut) { // This shifts 8 bits out MSB first, //on the rising edge of the clock, //clock idles low //internal function setup int i=0; int pinState; pinMode(myClockPin, OUTPUT); pinMode(myDataPin, OUTPUT); //clear everything out just in case to //prepare shift register for bit shifting digitalWrite(myDataPin, 0); digitalWrite(myClockPin, 0); //for each bit in the byte myDataOut… //NOTICE THAT WE ARE COUNTING DOWN in our for loop //This means that %00000001 or "1" will go through such //that it will be pin Q0 that lights. for (i=7; i>=0; i--) { digitalWrite(myClockPin, 0); //if the value passed to myDataOut and a bitmask result // true then... so if we are at i=6 and our value is // %11010100 it would the code compares it to %01000000 // and proceeds to set pinState to 1. if ( myDataOut & (1<