1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| //74HC595
int dataPin = 2;
int latchPin = 3;
int clockPin = 4;
//Alimentation anodes
int dig4 = 8;
int dig3 = 7;
int dig2 = 6;
int dig1 = 5;
//Chiffres
byte dec_digits[] = {0b00111111,0b00000110,0b01011011,0b01001111,0b01100110,0b01101101,0b01111101,0b00000111,0b01111111,0b01101111};
//Variables correspondant à chaque afficheurs
int var1;
int var2;
int var3;
int var4;
void setup() {
Serial.begin(9600);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(dig1, OUTPUT);
pinMode(dig2, OUTPUT);
pinMode(dig3, OUTPUT);
pinMode(dig4, OUTPUT);
}
void loop() {
{
//Chiffres à afficher
var1 = 4
var2 = 5;
var3 = 6;
var4 = 7;
//Afficheur de droite
digitalWrite(latchPin, HIGH);
shiftOut(dataPin, clockPin, dec_digits[var1], MSBFIRST);
digitalWrite(latchPin, LOW);
digitalWrite(dig1, 1);
delay(1);
digitalWrite(dig1, 0);
//Dizaine
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[var2]);
digitalWrite(latchPin, HIGH);
digitalWrite(dig2, 1);
delay(1);
digitalWrite(dig2, 0);
//Centaine
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[var3]);
digitalWrite(latchPin, HIGH);
digitalWrite(dig3, 1);
delay(1);
digitalWrite(dig3, 0);
//Millier
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[var4]);
digitalWrite(latchPin, HIGH);
digitalWrite(dig4, 1);
delay(1);
digitalWrite(dig4, 0);
} |
Partager