Vidéo de démonstration :
Schéma de câblage :
Code :
int sensorPin = A0; // sélectionnez la broche d'entrée pour le potentiomètre
const int LCHCLK = 4; //Broche connectée à LCHCLK sur MC74HC595AD
const int SFTCLK = 7; //Broche connectée à SFTCLK sur 74HC595
const int SDI = 8; //Broche connectée à SDI sur 74HC595
unsigned long previousMillis = 0;
int sensorValue = 0;
int Valeur = 0;
int ValeurDigit[4] = { 0, 0, 0, 0 };
int datArray[10] = {
B11000000, // 0
B11111001, // 1
B10100100, // 2
B10110000, // 3
B10011001, // 4
B10010010, // 5
B10000010, // 6
B11111000, // 7
B10000000, // 8
B10010000, // 9
};
int digit_num[] = { B00000001, B00000010, B00000100, B00001000 };
void setup() {
Serial.begin(9600);
pinMode(SFTCLK, OUTPUT);
pinMode(LCHCLK, OUTPUT);
pinMode(SDI, OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= 500) {
previousMillis = currentMillis;
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
Valeur = sensorValue;
}
ValeurDigit[0] = (Valeur % 10000) / 1000;
ValeurDigit[1] = (Valeur % 1000) / 100;
ValeurDigit[2] = (Valeur % 100) / 10;
ValeurDigit[3] = (Valeur % 10);
for (int i = 0; i <= 3; i++) {
digitalWrite(LCHCLK, LOW);
shiftOut(SDI, SFTCLK, MSBFIRST, datArray[ValeurDigit[i]]);
shiftOut(SDI, SFTCLK, MSBFIRST, digit_num[i]);
digitalWrite(LCHCLK, HIGH);
delay(2);
}
}
Post Views: 134
J’aime ça :
J’aime chargement…