Code arduino pour l’affichage à 7 segments
Qui n’a pas dans son tiroir de bric-à-brac un jeu d’afficheurs LED à deux, trois ou quatre chiffres ? C’est le moment de réutiliser cet affichage (multiplexé) dans un compteur dont l’application peut améliorer une présentation qui était en attente. Dans cet article, nous allons voir comment appliquer du code à un affichage multiplexé et comment cela doit fonctionner.
Cet exemple montre un code amélioré par rapport à celui représenté dans le premier exemple. Comme on peut le voir, j’ai utilisé les mêmes broches Arduino dans chaque exemple. J’essaie ainsi de minimiser les erreurs d’affectation dans les différentes listes de codes.
Le problème que le programmeur peut rencontrer avec une représentation multiplexée réside dans les temps d’échantillonnage de chaque chiffre. Pour cette raison, je vous recommande de prendre en compte, je dirais, très en compte, de ne pas utiliser ou de minimiser les delay(), car ceux-ci ont tendance à produire l’effet de “scintillement” que l’on peut voir dans les chiffres.
Dans un multiplex, il y aura toujours un scintillement, même s’il n’est pas très perceptible, plus le nombre de chiffres affichés est élevé, plus il sera évident. Pour cette raison, les temps d’échantillonnage doivent être réduits autant que possible.
Arduino afficheur compteur 7 segments avec bouton poussoir
J’ai un compteur à 2 chiffres que j’ai fait pour compter les pièces qui sortent d’une machine, la boîte a 21, maintenant nous mettons un autre produit qui a 12, le compteur est programmé de sorte que lorsque les 21 sont remplis il envoie une sortie, attend 5 sec et se remet à 0.
Comment puis-je faire un programme pour pouvoir compter les boites de paquet de 21 et celles de 12, j’ai utilisé la broche A3 comme entrée avec un sélecteur, quand elle est en haut elle doit travailler avec le compte de 21 et quand elle est en bas elle doit compter 12 et recommencer, j’ai déjà fait quelques tests avec if et else mais ça ne marche pas pour moi.
Arduino Afficheur 7 segments 3 chiffres
Cliquez sur accepter et vous verrez le nouveau bloc apparaître à la fois dans la section “mes blocs” et dans l’espace de programmation. Le bloc d’affichage reçoit un mot formé par la combinaison de 0 et de 1 qui allument et éteignent les segments pour former un chiffre. Lorsqu’il est exécuté, il analyse le mot reçu, caractère par caractère, et pour chaque chiffre qu’il trouve, il décide du segment à activer ou à désactiver.
Les broches que nous allons utiliser vont de 7 à 13, et les positions des caractères à l’intérieur de la variable segments vont de 1 à 7. Nous initialisons donc les variables broches à 7 et position à 1.
En travaillant avec des blocs, des algorithmes et des paramètres personnalisés, nous parvenons à ce que le programme comporte moins de blocs répétés, soit plus court et puisse être modifié et réutilisé de manière beaucoup plus simple.
Pour résoudre cette activité, nous vous proposons de réaliser une fonction permettant de visualiser chaque chiffre. Dans ce cas, la fonction reçoit 7 chiffres qui représentent l’état des segments. Il suffit d’utiliser cet état dans la fonction digitalWrite pour activer et désactiver chaque segment.
Affichage LED 7 segments 2 chiffres
L’affichage est un module très important dans nos projets. Et nous disposons de nombreux types d’écrans, des écrans LED traditionnels à 7 segments aux micro-écrans OLED, en passant par les écrans LCD 16×2 et les écrans graphiques. Chacune a ses avantages et ses inconvénients, et celle que nous utilisons dépend entièrement du projet sur lequel nous travaillons.
La puce 74HC595 est un registre à décalage qui nous permettra de réduire le nombre de broches, de 8 à 3 (et peut-être 4), pour contrôler les 8 segments d’un chiffre LCD à 7 segments. Nous allons avoir besoin du protocole de communication série SPI à 3 lignes (bien que nous n’en utilisions que 2) qui est présent dans pratiquement tous les microcontrôleurs du marché.
Comme je l’ai mentionné, les chiffres seront contrôlés par des transistors discrets MOSFET 2N7000, bien qu’il soit également possible d’utiliser des transistors TBJ (transistors à jonction bipolaire, tels que le BC547, le BC337, etc). Et on pourrait aussi utiliser des transistors encapsulés (comme les ULN2003), mais 4 transistors discrets est une meilleure option pour un affichage à 4 chiffres, comme celui que je vais vous présenter.