7 segments d’affichage (anode) avec MAX7219 / MAX7221 et Raspberry Pi

Les écrans à 7 segments les plus courants sont les « Cathodes Communes », auxquelles ont destinées, entre autres, les micropuces MAX7219 et MAX7221. Il existe également des « Anodes communes », qui sont généralement beaucoup moins chères. Cependant, elles ne sont pas directement compatibles avec une telle micropuce. Ce tutoriel montre comment tout cela fonctionne. Toute personne qui souhaite en savoir plus sur les anodes ou les différences peut le faire ici.

 

Accessoires

Inspiré par cet article, j’ai eu l’idée de rendre les écrans à anodes compatibles avec le Pi. Pour cela, nous avons besoin :

  • 1-8 Écrans à 7 segments à anode commune (par exemple, ceux-ci ici)
  • Pilote de l’écran LED MAX7219 (ou MAX7221)
  • si nécessaire, des outils de soudure et des brasures

 

Connexion

Examinons d’abord la fiche technique de la CI.

max7219

Le lien avec les Raspberry Pi ressemble à ceci :

  • RPi Broche 2 (5V) => Broche 19 (V+)
  • RPi Broche 2 (5V) avec résistance de 10k ohm => Broche 18 (ISET)
  • RPi Broche 6 (GND) => Broche 4 et Broche 9 (GND)
  • RPi Broche 19 => Broche 1 (DIN)
  • RPi Broche 23 => Broche 13 (CLK)
  • RPi Broche 24 => Broche 12 (CHARGE)

 

Il s’agit maintenant des connexions entre l’écran à 7 segments et le MAX7219. En outre, la structure d’un tel affichage (pour s’assurer que les broches sont les mêmes, vous pouvez tester chaque broche sur deux piles de 1,5V en série, V+ sur le pôle positif et la broche respective sur le pôle négatif, la broche V + que vous connectez n’a pas d’importance):

7-seg
Habituellement, pour un écran cathodique, ce serait DIG 0 – DIG 7 pour chacun des V+ d’un écran (donc aussi au maximum 8 segments par MAx7219) et SEG A à SEG DP connectés en parallèle aux connexions respectives de l’écran à segments (SEG A à toutes les broches A des segments, etc.) Mais comme les anodes sont maintenant polarisées dans l’autre sens, nous devons aussi échanger les connexions :

  • DIG 0 => Connexions A (parallèle à toutes)
  • DIG 7 => Connexions DP (parallèle à tous)
  • SEG A => V + le segment à l’extrême droite
  • SEG B => V + le deuxième segment en partant de la droite
  • SEG DP => V + le segment le plus à gauche (seulement pour 8 segments)

Si vous avez moins de 8 segments, vous irez de droite à gauche tout au long et certaines broches SEG seront vides. Par exemple. Je n’ai que 4 segments connectés à SEG A – SEG D.

Soudé à un breadboard, il ressemble à ceci :

 

 

Contrôle

Tout d’abord, nous installons une bibliothèque pour le MAX7219 / 7221 afin de pouvoir le contrôler plus facilement. Si vous l’avez déjà fait (par exemple à cause de la matrice de points LED), vous pouvez bien sûr l’ignorer.

git clone https://github.com/rm-hull/max7219.git && cd max721

Après l’installation

sudo python setup.py install

Vous pouvez déjà tester les écrans. Inspiré par cet article, j’ai écrit un scénario pour le Pi :

sudo nano examples/segment.py

Comme vous pouvez le voir, j’ai déjà prédéfini tous les chiffres et quelques lettres. Certaines lettres (par exemple M, N, X, Y, … ne peuvent pas être affichées correctement sur un écran à 7 segments, elles sont donc manquantes). Vous pouvez également définir des combinaisons pour d’autres caractères, mais faites attention à commencer par le verso (par exemple, seul le segment G serait 0b10000000, le segment A serait 0b00000010, etc.)

Voici deux images avec l’entrée « 1234 » et « StOP » (faites attention aux majuscules / minuscules, car je n’ai pas défini toutes les lettres).

 

Amusez-vous bien avec !

Leave a Comment

Your email address will not be published.