Étape 1: Multiplexage Basics
Les LED sont disposées dans un rectangle. Les anodes sont soudés ensemble dans un seul sens et les cathodes sont soudée ensemble perpendiculairement pour les anodes. Lorsque toutes les cathodes sont élevés et les anodes sont bas tension négative est appliquée à chaque LED, et si la tension est basse assez (voir "choix del' dans la section composants), il ne sera pas de ventilation. Pour allumer une LED particulier, tourner sa cathode ligne faible et la ligne d’anode haute. Par exemple, pour allumer la LED (4,2) dans le diagramme, vous définiriez segB à haute et Dig4 au plus bas.
Le programme d’installation utilise POV (Persistence of Vision) pour dessiner une image sur le tableau. Chaque LED pour dessiner l’image est activée sur un à la fois et en boucle très rapide, donnant l’illusion que tous sont allumés en même temps (voir section de programmation).
Dans ce projet, j’ai utilisé l’Arduino Mega 2560 et assignés 16 sorties à cathodes et 16 à anodes. J’ai utilisé la sortie haute tension (5V) comme source d’alimentation. Cela a été fait pour plus de simplicité dans un premier projet. Toutefois, si vous le pouvez, évitez d’utiliser un signal numérique comme source d’énergie. Il y a quelques raisons à cela. Sorties numériques sont des signaux et ne sont pas conçus pour fournir la quantité de courant. Vous pouvez enfreindre le par ligne ou la limite globale actuelle de votre microcontrôleur (40mA par ligne d’alimentation/évier pour l’Atmega) si votre circuit consomme beaucoup de puissance. En outre, les sorties numériques dans l’Arduino et pratiquement tous les conseils sont directement câblées au microcontrôleur sans un fusible. Cela rend le microcontrôleur vulnérable aux erreurs dans votre câblage. Un simple court-circuit, par exemple, peut potentiellement rendre les broches ou le microcontrôleur inutilisable. Toutefois, le fusible principal qui attirent les limites dans l’ensemble actuels devrait éviter cela.
La solution idéale est d’utiliser les sorties numériques pour activer/désactiver un transistor à chaque ligne et utiliser une alimentation externe pour le circuit en voiture. Cela augmente la complexité de câblage, et bien sûr, vous avez besoin d’une alimentation externe pour cela. Si vous créez cette pratique avant de générer des projets plus complexes comme un cube, vous devez envisager d’emprunter la voie du transistor. Si vous faites cela comme un petit projet, votre matrice de LED ne sera pas trop grande, ou vous êtes contraint le temps / coût, alors vous pouvez sauter à l’aide de transistors.
Si vous utilisez une alimentation externe, vous pouvez également envisager l’utilisation de registres à décalage et la fonction shift_out pour augmenter le nombre de vos broches de sortie. Cela augmente de câblage et de complexité, de programmation même s’il est presque impossible de construire des projets nécessitant le contrôle d’un grand nombre de LED, comme un cube, sans lui.