Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Dans le tutoriel précédent, j'ai fait une indication de potentiomètre à l'aide de la led neo pixels de l'anneau RVB. vous pouvez le voir dans cet article "L'indicateur de potentiel utilise le néopixel RVB"
Et aujourd'hui, je vais montrer l'indicateur de potentiateur à l'aide de l'affichage métrique à LED MAX7219.
Suivez les étapes ci-dessous pour le faire.
Étape 1: Composants requis
Composants requis:
- Arduino nano
- Potentiomètre
- Affichage matriciel à LED Max7219
- Cavalier
- Comité de projet
- Mini USB
- portable
Bibliothèque requise
LedControl
Étape 2: schéma
Pour assembler les composants voir le schéma ci-dessus, vous pouvez également voir les informations ci-dessous:
Arduino à Led & potentio
+5V ==> VCC & 3. Potentio
GND ==> GND & 1. Potentio
D6 ==> Entrée de données
D7 ==> CLK
D8 ==> CS / Charge
Étape 3: Programmation
Utilisez le code ci-dessous pour créer ait:
#include "LedControl.h"
/*
Maintenant, nous avons besoin d'un LedControl avec lequel travailler. ***** Ces numéros de broches ne fonctionneront probablement pas avec votre matériel ***** La broche 6 est connectée au DataIn La broche 7 est connectée au CLK La broche 8 est connectée à LOAD Nous n'avons qu'un seul MAX72XX. */
LedControl lc=LedControl (6, 7, 8, 1);
délai long non signé = 100;
void setup() {
lc.shutdown(0, faux); lc.setIntensity(0, 8); lc.clearDisplay(0); } void loop() { int val = analogRead(A0); val = carte(val, 0, 1023, 0, 8);
si(val == 1)
{
lc.setRow(0, 0, B10000000);
}
si(val == 2)
{ lc.setRow(0, 0, B10000000); lc.setRow (0, 1, B10000000); } si(val == 3) {
lc.setRow(0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); } si(val == 4) {
lc.setRow(0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); } si(val == 5) {
lc.setRow(0, 0, B10000000);
lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); } if(val == 6) { lc.setRow(0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); } if(val == 7) { lc.setRow(0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); lc.setRow (0, 6, B10000000); } if(val == 8) { lc.setRow(0, 0, B10000000); lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); lc.setRow (0, 4, B10000000); lc.setRow (0, 5, B10000000); lc.setRow (0, 6, B10000000); lc.setRow (0, 7, B10000000); } lc.clearDisplay(0); }
Étape 4: Résultat
Une fois programmé, les résultats ressembleront à ceci.
Si le potentio est tourné vers la droite, les LED sous tension suivront de plus en plus le nombre de tours.
Si le pot est tourné vers la gauche, la LED live suivra de moins en moins la puissance de rotation.