const int LATCH_PIN = 11; // 74HC595 pin 12 STCP
const int DATA_PIN = 10; // 74HC595pin 14 DS
const int CLOCK_PIN = 12; // 74HC595 pin 11 SHCP
const int Aff=40;
const int DIG2 = 5;// dizaine units
const int DIG1 = 4; //unité digit
void setup() {
pinMode(DIG2, OUTPUT);
pinMode(DIG1, OUTPUT);
pinMode(LATCH_PIN, OUTPUT);
pinMode(CLOCK_PIN, OUTPUT);
pinMode(DATA_PIN, OUTPUT);
// The following line primes the random number generator.
// It assumes pin A3 is floating (disconnected):
}
const uint8_t digitTable[] = {
0b00111111,
0b00000110,
0b01011011,
0b01001111,
0b01100110,
0b01101101,
0b01111101,
0b00000111,
0b01111111,
0b01101111,
};
const uint8_t DASH = 0b01000000;
unsigned long TpDis;
bool dig2ToDisplay;
void display2Digits (uint8_t dig1, uint8_t dig2) {
unsigned long int tc = millis() ;
if (tc-TpDis>Aff);
{
if (dig2ToDisplay == true)
{
digitalWrite(DIG1, HIGH);
digitalWrite(LATCH_PIN, LOW);
shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, dig2);
digitalWrite(LATCH_PIN, HIGH);
digitalWrite(DIG2, LOW);
}
else
{
digitalWrite(DIG2, HIGH);
digitalWrite(LATCH_PIN, LOW);
shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, dig1);
digitalWrite(LATCH_PIN, HIGH);
digitalWrite(DIG1, LOW);
}
TpDis= millis();
dig2ToDisplay = !dig2ToDisplay;
}
}
void loop()
{
for (uint64_t i=0; i<100000;i++)
{
uint64_t j=i/10000;
display2Digits(digitTable[j], digitTable[9-j]);
}
}