(Loading...)

lundi 2 août 2010

Journal lumineux à matrice de LED 8x8

La présente réalisation est l'aboutissement de l'exercice basé sur le chenillard 24 LED, composé d'un PIC 16F876A contrôlant une suite de LED via des registres à décalage 74HC595, ainsi que l'exercice mono-matrice 8x8. La combinaison des deux exercices permet d'obtenir ce que l'on appelle communément un journal lumineux.


Présentement il est composé de trois blocs de 8x8 matrices de LED, cependant il sera aisé d'en rajouter autant que l'on voudra simplement en enchainant des 74HC595 supplémentaires pour chaque module de LED additionné.

Le schéma

Le plus fascinant, lorsque l'on observe le schéma, est de constater que le PIC ne nécessite que 5 sorties avec cette méthode de démultiplication de ports. Un plus petit PIC pourrait convenir pour la gestion de ce type d'afficheur complexe. Dans ce cas-ci le reste des entrées/sorties du PIC peut être utilisé pour d'autres fonctions.

Le schéma présenté fonctionne juste pour les besoin du test, la gestion du courant sur les LED n'est pas optimisée, il faudra lui ajouter un driver de courant correct, soit en circuit intégré type ULN2xxx soit via transistors/résistances.



Un aperçu du test sur platine d'essais


Le code source.

Le fichier Proteus ISIS et son HEX



Spécification technique de la matrice utilisée issue du Datasheet, ici un modèle à anode commune bi-couleur.
J'y ai ajouté la disposition physique des broches de connexion.








 



Un utilitaire est présent dans la section téléchargement permettant de créer ses propres caractères (Merci Kawi).

Edit:

Un projet finalisé basé sur le présent code, dont la gestion du multiplexage a été réadaptée est publiée
sur l'excellent site de  Fabrice Sincère.




Licence Creative Commons

228 commentaires :

«Les plus anciens   ‹Précédent   201 – 228 sur 228   Suivant›   Les plus récents»
Anonyme a dit…

Bonjour HeartyGFX, le projet est interessant et j'ai donc voulu le realiser. etant donner que je ne metrise la programmation AVR j'ai donc voulu l'adapter autour d'un atmega. mais j'ai des zones d'ombre atravers ce programme. surtout cette fonction :

void send_data ( char HC595_0 , char HC595_1 , char
2 )
{
Spi1_Write ( HC595_0 ); // données premier ci
Spi1_Write ( HC595_1 ); // données deuxième c
Spi1_Write ( HC595_2 ); // données troisième
Latch =1 ; // impulsion de valid
Latch =0 ;l
}
l'instruction "Spi1_Write" comment il est utiliser. et d'apres les documentation que j'ai eu a lire, la donner recu par le premier 74HC595 est recopier par les autres. alors comment on peut ecrire dans chaque registre d'apres se que je vois dans la fonctiin send.
Cordialement Salutation.

HeartyGFX a dit…


Bonjour,

je ne saurais vraiment vous apporter une aide assurée, je ne programme pas sous ATMEL uniquement sur PIC.
Je présume cependant qu'il doit y avoir l'équivalent.

La fonction send_data utilise la bibliothèque fournie par MikroC qui gère les transferts SPI, dont Spi_Write est une des fonctions.
Il faut avant tout initialiser le protocole SPI avec la ligne suivante:

Spi1_Init_Advanced(_SPI_MASTER_OSC_DIV4,_SPI_DATA_SAMPLE_MIDDLE,_SPI_CLK_IDLE_HIGH,_SPI_LOW_2_HIGH);

Qui indique quels types de signaux et types de fronts pour écrire, stocker et déclencher les circuits de conversion série parallèles 74HC595

Je suppose qu'en utilisant MikroC pour AVR il doit y avoir la même librairie utilisant une syntaxe similaire.
Il vous faut vous référer à la doc, très bien fournie des produits de chez MikroElektronika.

Merci pour votre intérêt.

A bientôt,

;)


elkosovi a dit…

Bonjour,
est ce que si possible de remplacer les matrices par des diodes Leds ou non ?? je pence qu'il nécessite une tension 12v ??

HeartyGFX a dit…



Bonjour,

Il est bien entendu possible d'utiliser des LED pour concevoir vos matrices.

Quant à la tension d'alimentation de la partie alimentation LED c'est vous qui déterminerez ce qui vous conviendra.

;)


elkosovi a dit…

Bonjour,
je remplacer la matrice par des diodes leds mais ne fonctionne pas, merci de m'aider
si vous avez une schéma complet merci de m’envoyer.

HeartyGFX a dit…


Bonjour,

Faites moi plutôt un schéma de ce que vous avez fait que je puisse vous corriger.

A bientôt,

;)


elkosovi a dit…

Bonjour HeratyGFX,
passe moi ton e-mail pour t'envoyer le travail.
Merci

HeartyGFX a dit…


Bonsoir,

Je vous propose de laisser votre Email ici en commentaire, je ne le publierais pas.
Ainsi je pourrais vous contacter et me répondrez ensuite.

A bientôt,

;)


elkosovi a dit…

Bonjour HeartyGFX ,
je deux question svp
1/comment faire pour matrice RGB ??
2/Est ce que possible de lié le pin DS de 74hc595 par une autre pin de PORTC de pic ??
Merci

elkosovi a dit…

Bonjour HeratyGFX, vraiment 'est une bonne travaille !
est ce que possible de travailler avec matrices RVB ??
Merci de rependre.

HeartyGFX a dit…


Bonjour,

Concernant la pin DS, oui on peut faire comme on veut, tout dépend de ce que l'usage que l'on veut en faire.

Concernant la matrice RVB, la seule chose qui change est que l'on adressera 3 fois plus de LED.

N'ayant pas expérimenté je ne peux apporter plus d'aide sur le sujet.

Une simple recherche sur le net, et vous trouverez beaucoup d'info, y compris sur le forum de MikroElektronika.

A bientôt,

;)


Khalil a dit…

J'ai fait le meme projet avec pic 16f877A mais les caracteres ne s'affichent pas.Que dois je faire? Merci

HeartyGFX a dit…


Bonjour,

Khalil, je ne peux répondre tellement les causes peuvent être nombreuses.

Cela peut venir de n'importe où.
Je ne peux dépanner à distance, mais avec un peu plus de précision, je pourrais peut-être vous suggérer quelques pistes à suivre.

A bientôt,

;)


elkosovi a dit…

Bonjour
Je raliser se montage avec deux matrices et je remarque
lorsque j'ai mis mon journal en marche le defilament de message apres l'affichage de 16 caractere seulement et retourne automatiquement au debut pour refaire le meme chose je sais pas il est ou le probleme .Aider moi svp pour resoudre ce probleme la et merci d'avance.

HeartyGFX a dit…


Bonjour,

Elkosovi, as-tu adapté ton code pour 2 matrices?

;)


elkosovi a dit…

Bonjour, merci pour votre reponce.
oui je modifier le code pour deux matrice (je laisse que deux hc595, le tableau de caractere je touche pas ??)

elkosovi a dit…

En generale quesqu'on modife sur le programme si on ajoute ou elimine une matrice ??
Merci d'avance

HeartyGFX a dit…


Bonsoir,

il faut modifier tout ce qui concerne l'envoi de donnés sur les 595, notamment dans la fonction send_data.

Concernant les caractères si tu n'as rien changé dans le tableau, rien n'est à changer de ce coté.

Poste-moi ton code ici par exemple: https://1fichier.com/ afin que je le consulte.

;)




elkosovi a dit…

Merci pour votre attention,
voila le lien de mon code https://1fichier.com/?npmya5c3tk
Merci bcp

elkosovi a dit…

Merci pour votre attention,
voila le lien de mon code https://1fichier.com/?npmya5c3tk
Merci bcp

elkosovi a dit…

Bonjour HeartyGFX je deja vous envoyer le lien de code source https://1fichier.com/?u0qrs1sbgl

Pour remarque sur le platine d'essai si j'enleve le deuxieme 74hc595 je remarque que la premierre matrice gére tous les caracteres sans probleme, je sais pas ou le probleme,
aider moi svp
merci d'avance

elkosovi a dit…

Bonjour HeartyGFX je deja vous envoyer le lien de code source https://1fichier.com/?u0qrs1sbgl

Pour remarque sur le platine d'essai si j'enleve le deuxieme 74hc595 je remarque que la premierre matrice gére tous les caracteres sans probleme, je sais pas ou le probleme,
aider moi svp
merci d'avance

Unknown a dit…

Bonjour,
J'ai une question :) je dois réaliser un compteur modulo 9 à l'aide d'une matrice des LED 5x7 (et je suis encore débutante en ce qui concerne Proteus) est ce que vous pouvez me dire ce que j'en aurai besoin ?

Bien cordialement

HeartyGFX a dit…

Bonsoir,

Elkosovo, j'ai bien vu le lien envoyé,
pour le moment je ne puis donner suite à la question
je ne suis pas à mon domicile je suis à l'étranger.
Je répondrais plus amplement dès mon retour.

Oumayma, l'afficheur en question ne fait qu'afficher les infos qu'on lui donne.
que ce soit du texte, ou des informations numériques.

Ce qui se passe en amont, concernant le modulo ne concerne pas l'afficheur.
il faut juste convertir le résultat en données à extraire dans le tableau
des caractères à afficher.

Bien à vous,

;)


Anonyme a dit…

Bonjour, merci de ces infos, quel est l'avantage des 74HC595 par rapport à l'utilisation de MAX7219? . Ma réalisation actuelle est un journal de 10 martice 8x8 et Max 7219 avec Pic 18f45k50. Ce que je n'ai pas encore résolu c'est comment avoir que un seul CS pour transmettre les données à tous les MAX7219. Actellement tous les MAX ont un CS individuel et c'est 10 broches du PIC monopolisées...

Unknown a dit…

merci pour votre soutiens

Quand je met le fichier.hex dans le PIC16f876a sur isis , y'as le défilement des caractère sauf qu'une colone des matrix Led reste toujors alumer !!
aidé moi svp Mr

Unknown a dit…

svp j'ai telecharger votre fichier.hex + projet isis mais j'ai un probleme , une colone des matrix est tjrs alumer !!!

HeartyGFX a dit…

Bonjour,

Anonyme, je ne connais pas les spécifications techniques du Max7219, navré.

Amine, Sur un PC relativement puissant tu devrais avoir un affichage, si ce n'est pas le cas, vérifies éventuellement les paramètres d'ISIS.
Relis les commentaires plus haut, j'ai donné les réglages de ISIS afin d'avoir un affichage plus fluide.

A bientôt,

;)


«Les plus anciens ‹Précédent   201 – 228 sur 228   Suivant› Les plus récents»