Conception de dés numériques avec sept segments et Esptop 10 à l'aide d'Arduino IDE

Conception de dés numériques avec sept segments et Esptop 10 à l'aide d'Arduino IDE
ESP32 est un microcontrôleur compact à conservation de puissance qui a un certain nombre d'épingles GPIO nous permettant d'interfacer avec de nombreux capteurs. ESP32 peut interagir avec une grande variété d'appareils électroniques, y compris sept écrans de segment. En utilisant le microcontrôleur ESP32, il est possible de contrôler facilement l'état de chaque segment dans un segment à sept et de concevoir un générateur numérique ou un générateur de nombres pseudo-pseudo.

Cet article couvre le contenu suivant:

  • 1: Introduction à Seven Segment
  • 2: Pinout à sept segments
  • 3: Types de sept segments
  • 4: Comment vérifier un segment à sept est une anode commune ou une cathode commune
  • 5: Interfaçage sept segment avec ESP32 et bouton-poussoir
  • 5.1: schéma
  • 5.2: matériel
  • 5.3: Installation de la bibliothèque requise
  • 6: Concevoir un dés numérique ESP32 et bouton-poussoir
  • 6.1: code
  • 6.2: sortie

1: Introduction à Seven Segment

Un segment à sept peut afficher des informations numériques à l'aide d'un programme de microcontrôleur. Il se compose de sept segments individuels, chacun pouvant être illuminé ou éteint indépendamment pour créer divers caractères numériques.

Un affichage de sept segments fonctionne en illuminant différentes combinaisons de ses sept segments pour afficher des caractères numériques. Chaque segment est contrôlé par une broche individuelle, qui peut être activée ou désactivée pour créer le caractère numérique souhaité. Lorsque les segments sont éclairés dans la bonne combinaison, le caractère numérique est visible pour le spectateur.

Lorsque vous utilisez un microcontrôleur ESP32 pour contrôler un écran à sept segments, l'ESP32 envoie des signaux aux broches spécifiques de l'affichage à sept segments, lui indiquant quels segments s'activer ou désactiver afin d'afficher un caractère numérique spécifique.

2: Pinout à sept segments

L'affichage à sept segments a généralement dix broches, avec une broche pour chaque segment, une pour la décimale et deux broches communes. Voici un tableau de l'épinglage typique:

Code PIN Nom de broche Description
1 b Pin LED supérieur à droite
2 un Pin LED la plus haut
3 VCC / GND GND / VCC dépend de la configuration
4 F Pin LED en haut à gauche
5 g Broche à LED du milieu
6 DP Broche
7 c Pin LED en bas à droite
8 VCC / GND GND / VCC dépend de la configuration
9 d Broche LED inférieure
dix e Pin LED en bas à gauche

Chaque segment est étiqueté comme a B c d e F et g. La broche commune est généralement utilisée pour contrôler tous les segments à la fois. La broche commune est soit active faible ou active élevée en fonction de l'écran.

3: sept types de segments

Sept segments peuvent être classés en 2 types:

  • Cathode commune
  • Anode commune.

1: dans un cathode commune Tous les terminaux de segment LED négatifs sont connectés ensemble.

2: dans un anode commune Sept segment, tous les terminaux de segment LED positifs sont connectés ensemble.

4: Comment vérifier un segment à sept est une anode courante ou une cathode commune:

Pour vérifier le type de sept segments, nous avons juste besoin d'un outil simple - Multimètre. Suivez les étapes pour vérifier le type de sept segments Affichage:

  1. Tenez fermement l'affichage à sept segments et identifiez broche 1 Utilisation du brochage expliqué ci-dessus.
  2. Prendre un multimètre. Assumer une sonde rouge pour positif (+) et sonde noire d'un multimètre pour négatif (-).
  3. Définissez le multimètre sur le test de continuité.
  4. Après cette vérification, le travail du compteur peut être vérifié en touchant à la fois des sondes positives et négatives. Un son bip sera produit si le compteur fonctionne correctement. Sinon, remplacez les batteries de votre multimètre par une nouvelle.
  5. Mettez la sonde noire sur la broche 3 ou 8 du multimètre. Ces deux broches sont communes et connectées en interne. Sélectionnez n'importe quelle broche.
  6. Maintenant, mettez le plomb rouge ou positif du multimètre sur d'autres broches de sept segments comme 1 ou 5.
  7. Après avoir touché la sonde rouge si un segment brille, le segment sept est un cathode commune.
  8. Échangez les fils multimètres si aucun segment ne brille.
  9. Connectez maintenant le fil rouge à la broche 3 ou 8.
  10. Après cela, a mis un plomb noir ou négatif sur les épingles restantes de l'affichage. Maintenant, si l'un des segments de l'écran brille, les sept segments sont anode commune. Comme dans la com anode, toutes les broches positives de segments sont courantes, et les restes sont joints à l'offre négative.
  11. Répétez les étapes pour vérifier tous les autres segments d'affichage un par un.
  12. Si l'un des segments ne brille pas, alors ce sera défectueux.

Voici une image de référence pour un test de sept segments en utilisant un multimètre. Nous pouvons voir que la sonde rouge est à la broche 8 et le noir est à la broche de segment, donc nous utilisons Anode commune Sept segment:

5: Interfaçage sept segment avec ESP32 et bouton-poussoir

Pour interfacer un écran à sept segments avec un ESP32, vous aurez besoin des matériaux suivants:

  • Un microcontrôleur ESP32
  • Un écran à sept segments
  • Bouton-poussoir
  • Une planche à pain
  • Fils de cavalier

Interfaces ESP32 avec sept affichages de segments en étapes simples. Tout d'abord, nous devons concevoir un circuit pour lequel nous devons d'abord discuter du schéma.

5.1: schéma

Pour concevoir un dés numérique en utilisant sept segments, nous devons d'abord concevoir le circuit ci-dessous et connecter sept segments avec le bouton-poussoir et ESP32. L'utilisation du schéma de référence ci-dessous connecte votre carte ESP32 avec un écran à sept segments et un bouton-poussoir connecté à la broche D23.

Voici la table Pinout pour la connexion ESP32 avec un seul écran à sept segments. Un bouton-poussoir est également connecté à D23:

Code PIN Nom de broche Broche ESP32
1 b D2
2 un D15
3 Com GND / VCC dépend de la configuration - Cathode / anode commune
4 F D19
5 g D21
6 DP Broche
7 c D4
8 Com GND / VCC dépend de la configuration - Cathode / anode commune
9 d D5
dix e D18

5.2: matériel

L'image ci-dessous montre le matériel de ESP32 Connexion avec le bouton-poussoir et sept segments:

5.3: Installation de la bibliothèque requise

Après avoir connecté sept segments, nous devons installer une bibliothèque dans Arduino IDE. En utilisant cette bibliothèque, nous pouvons facilement programmer ESP32 avec sept segments.

Aller à Bibliothèque directeur Rechercher Sevseg Bibliothèque et l'installez-la dans Arduino IDE.

6: Concevoir un dés numérique à l'aide d'ESP32 et de bouton-poussoir

Pour concevoir un générateur de numéros numériques ou un pseudo à l'aide ESP32 Un bouton-poussoir est nécessaire. Pushbutton enverra un signal à la broche numérique d'ESP32 qui affichera un chiffre sur sept segments. Chaque fois que le bouton est appuyé sur un chiffre aléatoire de 0 à 6 sera généré sur sept segments en utilisant le Arduino fonction.

6.1: code

Ouvrir IDE et connecter ESP32. Après cela, téléchargez le code de sept segments donné sur ESP32:

#include "Sevseg.H "/ * Inclure à sept segments bibliothèque * /
Sevseg Sevseg; / * Variable à sept segments * /
int state1; / * Variable pour stocker l'état du bouton-poussoir * /
#define Button1 23 / * broche ESP32 pour bouton-poussoir * /
void setup()
pinMode (Button1, Input_pullup); / * Affectation du bouton en entrée * /
octet Sevensegments = 1; / * Nombre de sept segments que nous utilisons * /
octet CommonPins [] = ; / * Définir les broches communes * /
BYTE LEDSEGLINGPINS [] = 15, 2, 4, 5, 18, 19, 21; / * Esp32 Pins numériques définis pour sept segments Pin a à g * /
bool résistantsonsegments = true;
sevseg.Begin (Common_anode, Sevensegments, CommonPins, LEDSegmentPins, résistorsonsegments); / * Configuration du segment à sept * /
sevseg.SetBrightness (80); / * Luminosité de sept segments * /
Randomseed (analograad (0)); / * mélange la séquence de la génération de numéros de dés * /

VOID LOOP ()
State1 = DigitalRead (Button1); / * Lire l'état du bouton-poussoir * /
if (state1 == bas) / * État bas lorsque le bouton pushup est enfoncé * /
pour (int b = 0; b <=6; b++)
sevseg.setNumber (b);
sevseg.RefreshDisplay (); / * affichant les valeurs de boucle pour sept segments * /
retard (100);

int i = random (1,6); / * générant les valeurs pour les dés * /
sevseg.setNumber (i); / * Affichage des valeurs de dés sur sept segments * /
sevseg.RefreshDisplay (); / * rafraîchir l'affichage à sept segments après chaque itération * /
retard (1000); / * Temps après quoi la boucle For fonctionnera à nouveau * /

Code commencé par appeler le Sevseg bibliothèque. Ici, nous avons créé une variable État1. Cette variable stockera l'état actuel du bouton-poussoir.

Après cela, nous avons défini le nombre de segments, nous utilisons avec ESP32. Les broches de segment LED sont définies pour les cartes ESP32. Modifiez la broche en fonction du type d'ESP32 que vous utilisez.

Toutes les épingles numériques ESP32 peuvent être utilisées.

Ensuite, comme nous utilisons le Anode commune type, nous l'avons donc défini à l'intérieur du code.

En cas de Cathode commune Remplacez-le par le code ci-dessous.

En utilisant enfin le aléatoire (1,6) Fonction ESP32 générera un nombre aléatoire et l'affichera sur sept segments.

6.2: sortie

La sortie montre des chiffres aléatoires imprimés de 1 à 6.

Conclusion

En conclusion, en utilisant ESP32 avec le bouton-poussoir et le code Arduino, nous pouvons facilement contrôler l'état de chaque segment dans un affichage à sept segments, permettant la création de générateurs de nombres aléatoires ou pseudo-pseudo personnalisés. Nous pouvons l'utiliser en jouant à plusieurs jeux tels que les dés.