// Pins des segments de l'afficheur 7 segments
const int segments[] = {PA_0, PA_1, PA_2, PA_3, PA_4, PA_5, PA_6, PA_7};
// Pins des digits de l'afficheur 7 segments
const int digits[] = {PB_0, PB_1, PB_2, PB_3};
// Tableau des chiffres de 0 à 9 à afficher sur l'afficheur 7 segments
const byte numbers[10][8] = {
{1,1,1,1,1,1,0,0}, // 0
{0,1,1,0,0,0,0,0}, // 1
{1,1,0,1,1,0,1,0}, // 2
{1,1,1,1,0,0,1,0}, // 3
{0,1,1,0,0,1,1,0}, // 4
{1,0,1,1,0,1,1,0}, // 5
{1,0,1,1,1,1,1,0}, // 6
{1,1,1,0,0,0,0,0}, // 7
{1,1,1,1,1,1,1,0}, // 8
{1,1,1,1,0,1,1,0} // 9
};
void setup() {
// Initialisation des pins
for (int i = 0; i < 8; i++) {
pinMode(segments[i], OUTPUT);
}
for (int i = 0; i < 4; i++) {
pinMode(digits[i], OUTPUT);
}
}
void loop() {
// Afficher les chiffres de 0 à 9 en boucle
for (int num = 0; num < 10; num++) {
afficherChiffre(num);
delay(1000); // Attendre 1 seconde
}
}
// Fonction pour afficher un chiffre sur l'afficheur 7 segments
void afficherChiffre(int num) {
// Activer les segments correspondants au chiffre à afficher
for (int i = 0; i < 8; i++) {
digitalWrite(segments[i], numbers[num][i]);
}
// Activer le digit correspondant pour afficher le chiffre
for (int i = 0; i < 4; i++) {
digitalWrite(digits[i], HIGH);
}
digitalWrite(digits[num], LOW); // Activer le digit correspondant au chiffre
}
Loading
st-nucleo-l031k6
st-nucleo-l031k6