Hello all,
Voila j'ai un petit soucie de compréhension concernant le tuto 6 de U=RI sur les afficheurs 7 segments, j'ai réussi la première partie sauf que je bloque a l'endroit ou il attaque les 4x1digit de 7 segments.
Je refais le meme câblage qu'il fait a 2.41 et essaye de faire le meme code que lui.
Resultat rien ne s'affiche
Je cromprend pas il paramètre les pin 10 11 12 et 13 comment parce que les sorties de chaque digit ne vont a aucune terre (GND) donc le courant ne passe pas ...
Je suis débutant dans le monde de l'électronique et le je comprend pas comment il boucle les digits pour les alterner ensuite ...
Voici mon code que j'ai fais, ne vous occuper pas des 1 2 et autre j'affiche juste un trait pour tester et ensuite j'essayerai avec des chiffres différents :
long ledPinA = 2;
long ledPinB = 3;
long ledPinC = 4;
long ledPinD = 5;
long ledPinE = 6;
long ledPinF = 7;
long ledPinG = 8;
long ledPinDP = 9;
long digit1 = 10;
long digit2 = 11;
long digit3 = 12;
long digit4 = 13;
void afficher0()
{
digitalWrite(ledPinA, HIGH); // Je veux juste afficher ce caractère la pour tester d'abord
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
}
void afficher1()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
}
void afficher2()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
}
void afficher3()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
}
void afficher4()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
}
void afficher5()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
}
void afficher6()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
}
void afficher7()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
}
void afficher8()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
}
void afficher9()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
}
void setup()
{
pinMode(ledPinA, OUTPUT);
pinMode(ledPinB, OUTPUT);
pinMode(ledPinC, OUTPUT);
pinMode(ledPinD, OUTPUT);
pinMode(ledPinE, OUTPUT);
pinMode(ledPinF, OUTPUT);
pinMode(ledPinG, OUTPUT);
pinMode(ledPinDP, OUTPUT);
}
void afficherdigit1()
{
digitalWrite(digit1, LOW); // C'est ici je comprend pas comment ça peut retourner au GND
digitalWrite(digit2, HIGH); // moi ça "bug" et l'afficheur 4X7segments m'affiche rien
digitalWrite(digit3, HIGH);
digitalWrite(digit4, HIGH);
}
void afficherdigit2()
{
digitalWrite(digit1, HIGH);
digitalWrite(digit2, LOW);
digitalWrite(digit3, HIGH);
digitalWrite(digit4, HIGH);
}
void afficherdigit3()
{
digitalWrite(digit1, HIGH);
digitalWrite(digit2, HIGH);
digitalWrite(digit3, LOW);
digitalWrite(digit4, HIGH);
}
void afficherdigit4()
{
digitalWrite(digit1, HIGH);
digitalWrite(digit2, HIGH);
digitalWrite(digit3, HIGH);
digitalWrite(digit4, LOW);
}
void loop()
{
afficherdigit1();
afficher0();
delay(50);
afficherdigit2();
afficher0();
delay(50);
afficherdigit3();
afficher0();
delay(50);
afficherdigit4();
afficher0();
delay(50);
}
Merci beaucoup d'avance !!