User avatar
AiGreek
Posts: 229
Joined: Sun Dec 06, 2015 7:44 pm

Led matrix et MAX7219

Thu May 26, 2016 8:30 pm

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 ? :/

User avatar
DougieLawson
Posts: 38504
Joined: Sun Jun 16, 2013 11:19 pm
Location: A small cave in deepest darkest Basingstoke, UK
Contact: Website Twitter

Re: Led matrix et MAX7219

Thu May 26, 2016 9:35 pm

You've got your matrix connected wrong. Turn it through 180°

Vous avez votre matrice connecté tort. Tournez à 180°
Note: Any requirement to use a crystal ball or mind reading will result in me ignoring your question.

I'll do your homework for you for a suitable fee.

Any DMs sent on Twitter will be answered next month.
All non-medical doctors are on my foes list.

User avatar
AiGreek
Posts: 229
Joined: Sun Dec 06, 2015 7:44 pm

Re: Led matrix et MAX7219

Fri May 27, 2016 9:57 am

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.

totoharibo
Posts: 4420
Joined: Thu Jan 24, 2013 8:43 am

Re: Led matrix et MAX7219

Fri May 27, 2016 10:06 am

À 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

User avatar
AiGreek
Posts: 229
Joined: Sun Dec 06, 2015 7:44 pm

Re: Led matrix et MAX7219

Fri May 27, 2016 10:21 am

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

DavidMS
Posts: 139
Joined: Fri May 25, 2012 8:48 pm
Contact: Website

Re: Led matrix et MAX7219

Fri May 27, 2016 11:37 am

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/
http://meanderingpi.wordpress.com/
11 Raspberry Pi's and counting....

User avatar
AiGreek
Posts: 229
Joined: Sun Dec 06, 2015 7:44 pm

Re: Led matrix et MAX7219

Fri May 27, 2016 12:07 pm

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 ;)

User avatar
AiGreek
Posts: 229
Joined: Sun Dec 06, 2015 7:44 pm

Re: Led matrix et MAX7219

Sat May 28, 2016 12:20 pm

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)

User avatar
AiGreek
Posts: 229
Joined: Sun Dec 06, 2015 7:44 pm

Re: Led matrix et MAX7219

Thu Jun 16, 2016 5:11 am

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 ?

totoharibo
Posts: 4420
Joined: Thu Jan 24, 2013 8:43 am

Re: Led matrix et MAX7219

Thu Jun 16, 2016 8:07 am

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.

User avatar
AiGreek
Posts: 229
Joined: Sun Dec 06, 2015 7:44 pm

Re: Led matrix et MAX7219

Thu Jun 16, 2016 2:01 pm

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...

totoharibo
Posts: 4420
Joined: Thu Jan 24, 2013 8:43 am

Re: Led matrix et MAX7219

Thu Jun 16, 2016 2:32 pm

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.

User avatar
AiGreek
Posts: 229
Joined: Sun Dec 06, 2015 7:44 pm

Re: Led matrix et MAX7219

Thu Jun 16, 2016 2:43 pm

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 >_<

totoharibo
Posts: 4420
Joined: Thu Jan 24, 2013 8:43 am

Re: Led matrix et MAX7219

Fri Jun 17, 2016 7:53 am

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.

Return to “Français”