Certaines parties de ce site Web ne sont pas encore disponibles dans votre langue. Nous travaillons à résoudre ce problème et nous nous excusons pour tout inconvénient.
Tutoriel ESP32 10/55 - Compteur numérique utilisant un affichage à sept segments 74HC595 - Kit d'apprentissage IoT ESP32
Dans ce tutoriel, nous allons créer un compteur numérique utilisant un affichage à sept segments contrôlé par le microcontrôleur ESP32. Le compteur s'incrémentera de 0 à 9 puis se décrémentera jusqu'à 0, offrant une représentation visuelle claire du processus de comptage. Nous allons également explorer comment allumer des segments individuels et afficher des lettres sur l'affichage à sept segments.
ESP32_Animer7Segment-segments
Ce projet utilise un registre à décalage 74HC595 pour contrôler l'affichage, ce qui nous permet de gérer efficacement les segments sans utiliser trop de broches GPIO sur l'ESP32. En envoyant des valeurs binaires au registre à décalage, nous pouvons allumer les segments correspondants pour représenter des chiffres et des lettres. Pour une compréhension plus approfondie du processus, vous pouvez vous référer à la vidéo (dans la vidéo à 03:15).
ESP32_Animer7Segment-lettres
Matériel expliqué
Les principaux composants de ce projet comprennent le microcontrôleur ESP32, un registre à décalage 74HC595 et un affichage à sept segments. L'ESP32 est un microcontrôleur puissant avec des capacités Wi-Fi et Bluetooth intégrées, ce qui le rend adapté aux projets IoT. Le 74HC595 est un registre à décalage qui nous permet de contrôler plusieurs sorties en utilisant seulement quelques broches d'entrée. Il fonctionne en prenant des données en série et en les convertissant en sortie parallèle, ce qui est parfait pour piloter un affichage à sept segments.
L'afficheur à sept segments se compose de sept LED individuelles disposées en forme de huit. Chaque segment peut être allumé ou éteint en envoyant la valeur binaire appropriée au registre à décalage. Par exemple, pour afficher le chiffre 0, tous les segments sauf celui du milieu (G) doivent être allumés.
Assurez un approvisionnement en tension adéquat (2 V à 6 V).
Limiter le courant de sortie pour éviter la surchauffe.
Utilisez des résistances distinctes pour chaque segment afin d'obtenir une luminosité optimale.
Faites attention au câblage pour éviter les courts-circuits et les connexions incorrectes.
Suivez le schéma de connexion attentivement pour éviter une mauvaise configuration.
Instructions de câblage
ESP32-10-seven-segment-wiring
Commencez par installer votre plaque d'essai. Connectez la rail de terre (ligne bleue) et le rail d'alimentation (ligne rouge). La terre doit être connectée à la ligne bleue d'un côté de la plaque d'essai, tandis que l'alimentation doit être connectée à la ligne rouge de l'autre côté. Utilisez un fil noir pour connecter la terre de l'ESP32 au rail de terre et un fil rouge pour connecter la broche 3.3V de l'ESP32 au rail d'alimentation.
Ensuite, insérez le registre à décalage 74HC595 dans la plaque d'essai, en vous assurant que l'encoche est orientée correctement. Connectez la broche 11 (DS) à la broche 25 sur l'ESP32, la broche 12 (SH_CP) à la broche 26, et la broche 14 (ST_CP) à la broche 27. Connectez la masse (broche 8) du registre à décalage au rail de terre et la broche 10 (MR) au rail d'alimentation pour l'activation.
Pour l'afficheur à sept segments, connectez les broches correspondant aux segments (a-g) aux broches de sortie du registre à décalage. Utilisez une résistance (220 ohms) en série pour chaque segment afin de limiter le courant. Assurez-vous d'avoir des connexions appropriées pour la broche commune, qui peut être soit l'anode commune, soit la cathode commune selon le type de votre affichage.
Exemples de code et guide étape par étape
Dans la fonction d'initialisation, nous commençons par définir les broches connectées au registre à décalage comme des sorties. Cela garantit que notre ESP32 peut contrôler les données envoyées à l'affichage.
Ici, nous définissonsSTcp,SHcp, etDScomme les broches connectées respectivement au ST_CP, SH_CP et DS du registre à décalage. Configurer ces broches en sorties nous permet de contrôler le registre à décalage.
La boucle principale du programme compte de 0 à 9, envoyant les valeurs correspondantes à l'affichage à l'aide de lashiftOutfonction.
for(int num = 0; num <10; num++)
{
digitalWrite(STcp,LOW); //ground ST_CP and hold low for as long as you are transmitting
shiftOut(DS,SHcp,MSBFIRST,datArray[num]);
digitalWrite(STcp,HIGH); //pull the ST_CPST_CP to save the data
delay(1000);
}
Cette boucle incrémente lenumvariable, envoyant la valeur correspondante de ladatArrayà l'affichage chaque seconde. LeshiftOutla fonction transmet les données au registre à décalage, qui ilumine ensuite les segments appropriés.
Démonstration / Que attendre
Une fois le câblage terminé et le code téléchargé, vous devriez voir l'afficheur à sept segments compter de 0 à 9, faisant une brève pause avant de redescendre jusqu'à 0. Chaque chiffre sera affiché pendant une seconde. Si vous souhaitez accélérer le comptage, vous pouvez ajuster le délai dans la boucle (dans la vidéo à 15:30).
Lors de la manipulation des segments individuellement, n'oubliez pas d'envoyer les bonnes valeurs binaires pour afficher des lettres ou des segments spécifiques. Si l'affichage semble faible, envisagez d'ajouter des résistances individuelles pour chaque segment afin d'assurer une luminosité uniforme sur l'affichage.