Matrice de led 8*8 avec un max7219

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous je suis un débutant complet en arduino … j'ai lu le tuto d'Eskimon qui m'a appris énormément de chose, mais là je suis un peu bloqué.

j'ai fait une matrice de led 8*8, j'arrive assez bien à la piloter avec une UNO, mais en utilisant 16 sorties. je voudrais utiliser un MAX7219 pour n'avoir que 3 sorties utilisée sur la carte sans compter le 5v et le GND.

j'ai fait pas mal de test et de recherche, j'ai trouvé des explications sur les branchement du MAX7219, mais impossible de faire fonctionner ma matrice :( je sais qu'on peut l'acheter tout fait mais c'est quand même moins drôle non ? est ce que quelqu'un aurait une idée ?

si j'arrive à la faire fonctionner je propose de faire une fiche explicative complète de tout ce que j'ai fait et comment ça fonctionne. je pense que ça intéressera d'autre débutants comme moi

+0 -0

J'avais fait ca avec un petit module tout fait… Ca donnait ca :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// clockbinaire.ino

#include "LedControl.h"

LedControl matrix = LedControl(12,11,10,1);

char dixiemes;
char secondes, minutes, heures;
char jours, mois, annees;
long temps;

void setup() {
    matrix.shutdown(0, false);
    matrix.setIntensity(0, 0);
    matrix.clearDisplay(0);

    dixiemes = 0;
    secondes = minutes = heures = 0;
    jours = mois = annees = 1;
    temps = millis();

    minutes = 25;
    heures = 18;
    jours = 15;
    mois = 5;
    annees = 15;
}

void loop() {
    if(millis() - temps > 9) {
        temps = millis();
        tick();
        setDateTime();
    }
}

void tick()
{
    matrix.setRow(0, 0, dixiemes);
    dixiemes++;
    if(dixiemes >= 100) {
        dixiemes = 0;
        secondes++;
        matrix.setRow(0, 1, secondes);
    }
    if(secondes == 60) {
        secondes = 0;
        minutes++;
        matrix.setRow(0, 2, minutes);
    }
    if(minutes == 60) {
        minutes = 0;
        heures++;
        matrix.setRow(0, 3, heures);
    }
    if(heures == 24) {
        heures = 0;
        jours++;
        matrix.setRow(0, 4, jours);
    }
    if(jours == 31) {
        jours = 1;
        mois++;
        matrix.setRow(0, 5, mois);
    }
    if(mois == 13) {
        mois = 1;
        annees++;
        matrix.setRow(0, 6, annees);
    }
}

void setDateTime()
{
    matrix.setRow(0, 0, dixiemes);
    matrix.setRow(0, 1, secondes);
    matrix.setRow(0, 2, minutes);
    matrix.setRow(0, 3, heures);
    matrix.setRow(0, 4, jours);
    matrix.setRow(0, 5, mois);
    matrix.setRow(0, 6, annees);
}

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+0 -0
Auteur du sujet

c'est bien plus clair comme programme que ce que j'ai trouvé jusqu’à maintenant mais ce qui me bloque pour le moment c'est le branchement de ma matrice avec le max7219.

J'ai soudé 64 leds pour faire une matrice de 8*8, jusque là aucun problème.

Je branche chaque colonne à une sortie de la carte idem pour les lignes. J'arrive à programmer des affichages et ça fonctionne bien.

Mais je voulais aller plus loin en ajoutant un MAX7219 pour utiliser moins de sorties et aussi apprendre à m'en servir.

j'ai bien trouvé un site qui explique comment brancher chaque sorties du max7219 à la matrice mais ça fonctionne pas du tout.

+0 -0
Auteur du sujet

La documentation sur les branchement je pense avoir trouvé la bonne. Mais quand je branche tout, les leds s'allument n'importe comment … Je voulais mettre des photos et un résumé de branchements mais je n'y arrive pas non plus :( Il y a une manipulation particulière à faire ?

+0 -0
Auteur du sujet

j'ai réussi à faire fonctionner la matrice en la branchant directement, mais aussi en branchant le Max7219.

Maintenant tout fonctionne !!!

Je souhaiterais partager mes montages et mes explication pour aider d'autres débutants comme moi

comme est ce que je dois faire ?

Édité par marsupial

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte