.. 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 [|link_sf_facebook|] et rejoignez-nous dès aujourd'hui ! .. _ar_7_segment: 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 ------------------ .. image:: img/list_2.5.png * :ref:`cpn_mega2560` * :ref:`cpn_breadboard` * :ref:`cpn_wires` * :ref:`cpn_7_segment` * :ref:`cpn_resistor` Schéma de Connexion -------------------- .. image:: img/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 : .. image:: img/image430.png Diagramme Schématique ------------------------ .. image:: img/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. .. raw:: html 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. .. code-block:: arduino 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. .. image:: img/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. .. code-block:: arduino ... 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. .. code-block:: arduino 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 --------------------------- .. image:: img/image90.jpeg