Note

Bonjour et bienvenue dans la communauté des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder sur Facebook ! Plongez dans l’univers du Raspberry Pi, d’Arduino et de l’ESP32 avec d’autres passionnés.

Pourquoi nous rejoindre ?

  • Assistance d’experts : Résolvez vos problèmes après achat et vos défis techniques avec l’aide de notre communauté et de notre équipe.

  • Apprendre et partager : Échangez des astuces et des tutoriels pour perfectionner vos compétences.

  • Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus.

  • Réductions spéciales : Profitez de réductions exclusives sur nos derniers produits.

  • Promotions festives et concours : Participez à des concours et promotions pendant les fêtes.

👉 Prêt à explorer et créer avec nous ? Cliquez sur [Ici] et rejoignez-nous dès aujourd’hui !

2.5 Afficheur à 7 segments

Aperçu

Dans cette leçon, vous découvrirez l’afficheur à 7 segments. Cet afficheur présente de nombreux avantages qui en font un composant largement utilisé dans les équipements électriques, notamment les appareils ménagers qui affichent des informations numériques telles que l’heure, la date, la température, etc. Les LED de l’afficheur s’allument selon les signaux électriques appliqués à différentes broches, permettant de représenter une variété d’informations numériques.

Composants requis

../_images/list_2.5.png

Schéma de Connexion

../_images/image429.png

Connectez chaque broche de l’afficheur (a-g) à une résistance de 220 ohms, puis aux broches 4 à 11 du Mega2560. La broche GND de l’afficheur est reliée à la masse (GND).

Le câblage entre l’afficheur à 7 segments et la carte Mega2560 est illustré ci-dessous :

../_images/image430.png

Diagramme Schématique

../_images/image431.png

Code

Note

  • Vous pouvez ouvrir directement le fichier 2.5_7segment.ino situé dans le chemin sunfounder_vincent_kit_for_arduino\code\2.5_7segment.

  • Ou copiez ce code dans l’IDE Arduino.

Une fois le code téléversé, l’afficheur à 7 segments affichera successivement les caractères 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, C, d, E et F.

Analyse du Code

Utilisez les numéros de broches de l’afficheur à 7 segments comme noms et déclarez les broches sur la carte Mega2560.

const int a=7; // 'a' de l'afficheur relié à la broche numérique 7
const int b=6; // 'b' de l'afficheur relié à la broche numérique 6
const int c=5; // 'c' de l'afficheur relié à la broche numérique 5
const int d=11; // 'd' de l'afficheur relié à la broche numérique 11
const int e=10; // 'e' de l'afficheur relié à la broche numérique 10
const int f=8; // 'f' de l'afficheur relié à la broche numérique 8
const int g=9; // 'g' de l'afficheur relié à la broche numérique 9
const int dp=4; // point décimal (dp) relié à la broche numérique 4

Installez une série de sous-fonctions pour configurer l’état de chaque segment en fonction du chiffre affiché. Par exemple, pour afficher le caractère 「2」, seuls les segments a, b, d, e et g sont allumés, tandis que les segments c et f sont éteints.

../_images/image89.jpeg

Pour afficher le chiffre 2 sur l’afficheur, alimentez les segments a, b, d, e et g. Dans le code, cela se fait en réglant les broches correspondantes sur HIGH, tandis que les broches c et f restent à LOW. Commencez par utiliser la fonction turnOffAllSegments() pour éteindre tous les segments, puis allumez ceux nécessaires.

Après l’exécution de cette partie, l’afficheur montre 2. De la même manière, d’autres caractères peuvent être affichés. Notez que les lettres majuscules B et D, similaires aux chiffres 8 et 0, sont affichées en minuscules pour éviter toute confusion.

...
void digital_2()  // Affiche le chiffre 2 sur l'afficheur à 7 segments
{
  turnOffAllSegments();
  digitalWrite(a, HIGH);
  digitalWrite(b, HIGH);
  digitalWrite(g, HIGH);
  digitalWrite(e, HIGH);
  digitalWrite(d, HIGH);
}
...

Dans loop(), appelez la fonction correspondant au chiffre à afficher.

void loop()
{
digital_1(); // Affiche le chiffre 1
delay(1000); // Attendre une seconde
digital_2(); // Affiche le chiffre 2
delay(1000); // Attendre une seconde
digital_3(); // Affiche le chiffre 3
//...
}

Illustration du Phénomène

../_images/image90.jpeg