Page 1 of 1

Led matrix et MAX7219

Posted: Thu May 26, 2016 8:30 pm
by AiGreek
salut les gars !

Pour terminer un projet, j'ai voulu ajouter une matrice de led. Rien de bien méchant, c'est un truc que j'ai retrouvé au fond de mes tiroirs.


J'ai donc

Une install fresh de Raspbian sur un Pi Zero avec i2c et SPI d'activé via raspi-config,
Lancé quelques commandes d'update, upgrade

Code: Select all

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-dev python-pip
sudo pip install spidev
Installé la library de rm-hull qui me semble parfaitement adaptée et simple d'utilisation :

Code: Select all

git clone https://github.com/rm-hull/max7219
cd max7219
sudo python setup.py install
Et je me base de ce câblage pour brancher tout ça à mon Pi

Image

Le problème c'est que sans même lancer le moindre script, il m'affiche un peu n'importe quoi
Image

Quand je lance le script d'exemple

Code: Select all

sudo python matrix_test.py
ou juste un simple

Code: Select all

import max7219.led as led

device = led.matrix()
device.show_message("Hello world!")
Soit il ne se passe rien, sois quelques LED clignotent comme un sapin de Noël mais sans résultat concret ou lisible.
J'ai tenté d'inverser les pins, (retourner la matrice), vérifié les branchements encore et encore, mais je n'arrive pas à la faire fonctionner.

Du coup je me demande
Est-ce que j'ai mal activé le SPI ?
Est-ce que mon schéma est faux ?
Est-ce que c'est ma matrice qui est HS ou défectueuse (première fois que je l'utilise je l'avoue, mais j'en ai commandé d'autre de toute façon vu qu'il m'en faut plus qu'une) ?


Quelqu'un saurait m'aider un p'tit peu ? :/

Re: Led matrix et MAX7219

Posted: Thu May 26, 2016 9:35 pm
by DougieLawson
You've got your matrix connected wrong. Turn it through 180°

Vous avez votre matrice connecté tort. Tournez à 180°

Re: Led matrix et MAX7219

Posted: Fri May 27, 2016 9:57 am
by AiGreek
C'est exactement ce que j'ai fait en premier.
Image
et dans l'autre sens
Image

J'ai alors inversé les fils, même résultat.
J'ai ensuite pensé que la matrice était numérotée comme une puce

Image
Mais toujours rien.

Du coup je manque un peu d'idées.

Re: Led matrix et MAX7219

Posted: Fri May 27, 2016 10:06 am
by totoharibo
À l'ancienne : 2 fils sur une alim (GND/+5) et une petite résistance série (220 ohms par exemple)

ça te permettra de retrouver le câblage des LEDS

Re: Led matrix et MAX7219

Posted: Fri May 27, 2016 10:21 am
by AiGreek
Ouais, je crois bien que j'ai pas le choix... ça me fait grave chier de perdre du temps à chercher les connections, mais d'une force ....

M'enfin, merci à vous deux pour votre aide

Re: Led matrix et MAX7219

Posted: Fri May 27, 2016 11:37 am
by DavidMS
Are your sure the type of display matches the way you have it connected ? there are common anode and common cathode display types both can be driven from the Max chip but the test programs will only give the expected text with one sort [ basally the rows and columns end up being reversed ].

have a look at this link for how I worked it out for my WordClock project https://meanderingpi.wordpress.com/2016 ... -complete/

Re: Led matrix et MAX7219

Posted: Fri May 27, 2016 12:07 pm
by AiGreek
I must admit I had not idea of that. I really thought all matrix were numbered the same. Thanks for the link i'll take a look ;)

Re: Led matrix et MAX7219

Posted: Sat May 28, 2016 12:20 pm
by AiGreek
Bon !

J'avance doucement (très doucement -_-).
Je pense avoir trouvé le bon pinout après des heures de recherches et de tests

Image
J'ai donc fait les branchements, toujours en supposant que la matrice est numérotée de 1 à 8 et de 16 à 9


J'ai ensuite utilisé la library citée au premier post et la fonction device.pixel(x, y, value) pour tester individuellement chaque led, mais le résultat n'est pas vraiment celui espéré. certaines LED ne s'allument pas, et d'autre s'allument en même temps que d'autres (ça c'est dans doute normal, je sais pas trop) ...

https://www.youtube.com/watch?v=X-UX6UmBOro (Premier test)

Puis un second test qui affiche juste la lettre "A" avec

Code: Select all

import max7219.led as led

device = led.matrix()
message = "A"

while True:
        device.show_message(message)
        print message
Qui est pratiquement bon, sauf la barre de la lettre qui semble ne pas bouger ce qui provoque l'affichage d'une lettre presque illisible.

https://www.youtube.com/watch?v=vAHrLxn4cw4 (Second Test)

Du coup je continue de me poser les mêmes questions :

Est-ce que ma matrice est défectueuse ?
Est-ce que je me démerde mal ?

Et bien sûr, je ne trouve pas de datasheet correspondant, vu que la reference s'est effacé avec le temps (et le vendeur ne répond pas à mes mails)

Re: Led matrix et MAX7219

Posted: Thu Jun 16, 2016 5:11 am
by AiGreek
Salut les gars !

J'ai finalement opté pour des matrices SPI sur PCB. J'en ai acheté 4 et c'est la que les problèmes continuent.
Les messages s'affichent parfaitement si j'utilise 1 matrice, mais dès que j'en branche 4( ce qui est le but) le message s'affiche sur les 4 matrice à l'identique (en gros je l'ai 4 fois au lieu d'une qui prend les 4)

La doc parle du fait que le Pi ne pourrait pas alimenter les 4 matrices et que de ce fait il faudrait utiliser un level shifter MOSFET (type 2N7000)

Image

Mais j'avoue ne pas comprendre comment l'utiliser ...

Soit dit en passant, ceci marche parfaitement
#

Code: Select all

!/usr/bin/env python

import max7219.led as led
import max7219.font as font
import time
import random
import os
from random import randrange

device = led.matrix(4)
device.brightness(0)
try:
        while(True):
                clock = time.strftime('%H%M')
                for n, c in enumerate(reversed(clock)):
                        device.letter(n, ord(c), font.UKR_FONT)
                time.sleep(0.2)
except KeyboardInterrupt:
        print('Program Quit')
        device.clear()
Mais pas

Code: Select all

import max7219.led as led

device = led.matrix()
device.show_message("Hello world!")
Quelqu'un pourrait me dire où je me plante ?

Re: Led matrix et MAX7219

Posted: Thu Jun 16, 2016 8:07 am
by totoharibo
il y a une connecteur entrée et un sortie. doivent ils être cascadés ?
N'y a t'il pas une variable à initialiser pour dire le nombre de blocs en série.

J'ai essayé avec max7219-master : impec mais je n' ai qu'un afficheur :-(

Dans examples/matrix_test.py il y a une ligne :
device = led.matrix(cascaded=1)

voir là :
http://max7219.readthedocs.io/
si ça peut aider.

Re: Led matrix et MAX7219

Posted: Thu Jun 16, 2016 2:01 pm
by AiGreek
Alors oui effectivement, dans le premier exemple j'ai bien mis

Code: Select all

device = led.matrix(4)
ou

Code: Select all

device = led.matrix(cascaded=4)
Apparemment les deux fonctionnent. Mais le résultat est toujours le même, mon texte s'affiche 4 fois (1 fois sur chaque matrice) au lieu d'une fois en "étendu".

Ce qui m'intrique c'est sur le github, toute la partie Cascading, power supply & level shifting
Si je comprend bien, il dit que 2 matrices tout va bien, mais qu'avec plus il faut (et je cite)
Because the Raspberry PI can only supply a limited amount of power from the 5V rail, it is recommended that any LED matrices are powered separately by a 5V supply, and grounded with the Raspberry PI. It is possible to power one or two LED matrices directly from a Raspberry PI, but any more is likely to cause intermittent faults & crashes.
et c'est ce point qui me perturbe parce que je sais pas trop comment mettre en place 4 alim' séparée...

Re: Led matrix et MAX7219

Posted: Thu Jun 16, 2016 2:32 pm
by totoharibo
il faut brancher les SPI en série comme là :
http://tutorials-raspberrypi.com/librar ... -matrices/

AMHA : les matrices consommant trop pour un RPi il faut les alimenter par une alim externe (en //) tout en ayant une masse commune RPi-matrices pour le SPI.

Re: Led matrix et MAX7219

Posted: Thu Jun 16, 2016 2:43 pm
by AiGreek
ouais le DOUT vers DIN de la matrice suivante, ça aussi je l'ai fait. Du coup faut que je vois pour acheter un level shifter et/ou une alim externe en 5v pour faire fonctionner tout ça !
'tout cas merci pour ton aide en espérant que j'arrive à terminer ce projet que je traîne depuis presque 1 mois >_<

Re: Led matrix et MAX7219

Posted: Fri Jun 17, 2016 7:53 am
by totoharibo
AiGreek wrote:ouais le DOUT vers DIN de la matrice suivante, ça aussi je l'ai fait. Du coup faut que je vois pour acheter un level shifter et/ou une alim externe en 5v pour faire fonctionner tout ça !
'tout cas merci pour ton aide en espérant que j'arrive à terminer ce projet que je traîne depuis presque 1 mois >_<
pour info une alim 5V 2A de hub ça se trouve en brocante. Je ne marche qu'avec ça. Suffit de chercher.