Aller au contenu


Photo
- - - - -

Arduino et matrice de led.


32 réponses à ce sujet

#1 Esprit

Esprit

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique

Posté 31 mai 2010 - 10:49

Bonjour à tous !



Cette après-midi, n'ayant rien à faire, j'ai commencé à chipoter un peu avec quelques leds, quelques résistances, du fil et une pile. J'ai donc fini par faire une petite matrice 3*3 sur une plaque d'essais. Je ne poste pas de photo, c'est trop le fouillis.



Par contre, pour les tests j'ai juste testé en branchant la pile sur une ligne et sur une colonne pour allumer la led se situant à l'intersection.

Jusque là, ça fonctionne.



Seulement, pour que ça devienne drôle, j'aimerais brancher la matrice avec mon arduino.

J'ai relu le sujet qu'on a déjà eu à ce propos : ici.



Et ma question est :

Est-ce que j'ai vraiment besoin de transistors ou de composants en plus de l'arduino, des leds et des résistances ?



Si je pose que le "+", donc les anodes, des leds sont sur les lignes. Je peux sans problème gérer 3 sorties digitales de l'arduino et y brancher ça.

Mais les "-" des colonnes... Je peux pas tout brancher à la masse ! Y a-t-il un autre moyen que de passer par des transistors ?





Merci d'avance !








Pas facile de s'y retrouver avec les bouts de japonais dedans..



Mais voilà ce que j'ai vu et essayé de comprendre :



Il utilise 12 fils (5 jaunes et 7 oranges) qui sortent de l'arduino.

Et dans son programme, il définit les 12 pins comme étant des sorties.

{

pinMode(2,OUTPUT);

...

}



J'ai du mal à comprendre. Il y a pas de "-" dans sa matrice de led ?

Il y a des résistances interne dans une matrice de ce type ?





Je vais aller dormir et essayer de mettre un peu d'ordre dans ma pauvre petite tête.

#2 Eskimon

Eskimon

    Membre

  • Membres
  • 71 messages

Posté 31 mai 2010 - 11:21

Bonsoir !

Est tu familier avec la notion de multiplexage ??

(je pense pas que tu puisse gérer le tout sans transistor désolé...)
(mais j'attends ta réponse pour en dire plus...)

#3 Esprit

Esprit

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique

Posté 31 mai 2010 - 11:57

On a vu ça en cours donc je comprends effectivement bien le principe. Mais je n'ai encore jamais fait de multiplexage en pratique.

Mais en sois, pour une matrice de 3*3, j'ai pas vraiment besoin de multiplexage, si ?

#4 miky-mike

miky-mike

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 232 messages
  • Gender:Male
  • Location:Belgique

Posté 01 juin 2010 - 10:02

Pas besoin de multiplexage si tu as a assez d'entrée/ sortie inutilisé mais pour de gros projet ça peut etre utile

#5 Eskimon

Eskimon

    Membre

  • Membres
  • 71 messages

Posté 01 juin 2010 - 11:24

bah disons que pour une matrice de 3*3 effectivement pas vraiment besoin de multiplexage (ca fait 9 fils...) mais admettons que tu fasses une matrice 8*8... ^^

Bon sinon pour ton exemple...
Tu branches l'anode (et la résistance de limite de courant qui va bien) au +5V, et ensuite tu branches la cathode sur la patte de l'arduino qui t'intéresse (donc il te faut 9 pattes libres)
Ensuite, tu pilotes à l'état BAS chaque led...

Donc pas besoin de faire de "croisement" pour allumer une loupiote, elles sont juste piloté toute en même temps (selon l'état 1 ou 0).

#6 Esprit

Esprit

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique

Posté 01 juin 2010 - 11:29

On est bien d'accord. Mais je n'en ai pas besoin dans mon cas.

J'ai un peu réfléchis.

Est-ce que quand je mets une sortie digitale de l'arduino à "0", elle compte comme un Gnd ?


#7 miky-mike

miky-mike

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 232 messages
  • Gender:Male
  • Location:Belgique

Posté 01 juin 2010 - 11:31

[quote"Esprit"]On est bien d'accord. Mais je n'en ai pas besoin dans mon cas.

J'ai un peu réfléchis.

Est-ce que quand je mets une sortie digitale de l'arduino à "0", elle compte comme un Gnd ?
[/quote]
Je pense bien, en tout cas comme c'est construit avec un atmel et que les atmels donne un 0V c'est bon

#8 Eskimon

Eskimon

    Membre

  • Membres
  • 71 messages

Posté 01 juin 2010 - 11:33

ouai, il me semble bien aussi (comme sur la plupart des microcontrolleurs il me semble d'ailleurs, c'est basé sur la commutation d'un transistor...)

#9 Esprit

Esprit

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique

Posté 01 juin 2010 - 03:30

Ça marche ! :D

Les piles de mon appareil photo sont nazes, je posterai une photo ou deux tantôt.
Peut-être même une vidéo si j'ai un peu de courage. :p

J'ai plus qu'à m'amuser avec la programmation.

#10 Eskimon

Eskimon

    Membre

  • Membres
  • 71 messages

Posté 01 juin 2010 - 03:52

etape suivante, faire une matrice 8*8 ;) ? (avec multiplexage évidemment ^^)

#11 Esprit

Esprit

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique

Posté 01 juin 2010 - 03:56

[quote"Eskimon"]etape suivante, faire une matrice 8*8 ;) ? (avec multiplexage évidemment ^^)[/quote]

Ouep !

Mais même pour une comme ça j'ai pas besoin de multiplexage. :D
Ça ne fera jamais que 16 pins à gérer. Mais c'est sur que le faire avec multiplexage ça donne une petite difficulté supplémentaire.

Je m'occuperai de tout ça quand j'aurai plus de temps.
Je suis en pleins examens et j'ai passé ma journée à glandouiller et à chipoter pour faire cette petite matrice. C'est bien rigolo, c'est clair! Mais c'est pas ça qui va me faire réussir mes prochains examens.. :heu:

#12 Eskimon

Eskimon

    Membre

  • Membres
  • 71 messages

Posté 01 juin 2010 - 04:22

euh... 8*8 ca fait quand meme 64 leds... donc pas "juste" 16 pins...

(ou alors ca fait 8*8 et tu veux faire des croisements je ne sais pas encore comment ??)

EDIT: Autant pour moi j'ai consulté le lien juste après avoir posté ^^

mille excuse ^^ (meme si je vois pas tout à fait les choses comme sur le lien pour que ca soit facile...)

perso, je ferais un "bus" de 8 pin pour piloter les leds colonnes par colonnes (la colonne étant choisi par un ... Multiplexage ^^) mais ca exige de bricoler soi meme la matrice ^^

#13 Esprit

Esprit

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique

Posté 01 juin 2010 - 04:46

Ben j'ai branché comme sur ce schéma ci :

post-1-0-52735800-1422348976.gif


(Si ce n'est qu'actuellement, je n'ai qu'une matrice de 3*3.)

Je ne vois pas comment tu veux faire plus simple ?
Mais je suis preneur de toute réflexion.

Sinon, pour le multiplexage. Si tu veux multiplexer les lignes, pourquoi ne pas multiplexer aussi les colonnes ?

Image(s) jointe(s)

  • 64-led-schema.gif


#14 Eskimon

Eskimon

    Membre

  • Membres
  • 71 messages

Posté 01 juin 2010 - 04:53

C'est bien ton truc mais il y a un truc qui me chagrine...

Si tu allume une seule led, tu calcul la valeur de la résistance pour la chute de tension sur une seule led...
Si deux leds sont allumées, la résistance doit changer (ou alors tu vas avoir une luminosité inférieur sur tes leds...) non ??


moi mon concept c'est :

Tu branches toutes les cathodes d'une même ligne ensemble.
Ensuite chaque colonne est piloté une à une.

Résultat : tu envoies un octet (chaque bit de l'octet représente une led de la colonne) et ensuite tu pilote la colonne qui doit afficher ceci... (avec un bete multiplexage pour utiliser juste 3 fils (2^3=8) )

Je vais essayer de faire un ti dessin avec 4*4 leds...

#15 Eskimon

Eskimon

    Membre

  • Membres
  • 71 messages

Posté 01 juin 2010 - 06:55

et voilaaaa !!!

Dans cet exemple je pilote les différentes lignes de leds une à une (mais en pivotant je piloterais les colonnes :p )



Image IPB



J'utilise un 74154 pour demultiplexer les bits d'adresses et activer une ou l'autre des lignes.

En pratique cependant il faudrait que les lignes soit activés par des transistors pour la puissance (car le 74154 ne fournira pas assez de jus...) et associer chacune des leds à une résistance.



La procédure:



Tu envoies ton octet (demi-octet en l'occurence) et tu actives la barre de leds qui doit l'afficher...



Des questions ??





PS: Le formulaire d'envoi d'image n'a pas marché, je l'héberge donc autre part mais il semble que la lecture d'image fonctionne pas... pour la voir, il suffit de faire clic droit puis "afficher l'image dans une autre onglet/page"

#16 miky-mike

miky-mike

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 232 messages
  • Gender:Male
  • Location:Belgique

Posté 01 juin 2010 - 07:18

[quote"Eskimon"]
PS: Le formulaire d'envoi d'image n'a pas marché, je l'héberge donc autre part mais il semble que la lecture d'image fonctionne pas... pour la voir, il suffit de faire clic droit puis "afficher l'image dans une autre onglet/page"
[/quote]
En fait ça marche mais tu n'avais pas bien donné le lien, tu avais donné une page contenant l'image mais pas l'adresse de l'image.
Enfin j'ai corrigé :)

#17 Esprit

Esprit

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique

Posté 01 juin 2010 - 08:35

Je suis d'accord avec toi Eskimon, je n'ai pas une intensité extraordinaire. Et si j'allume plusieurs LEDs, de la même ligne, ça va encore diminuer.



La seule chose qui coince avec ton idée c'est :

Il faut un démultiplexeur.

Il faut des transistors.

Il faut un résistance par led.



Étant donné que je n'ai ni le démux, ni les transistors, je fais avec les moyens du bords. :|

Mais je garde ton schéma sous le coude pour quand je passerai dans un magasin d'électronique.



Comment dois-je choisir les transistors ? C'est des PNP, exact ?



Dans tous les cas, merci de ton aide !





Petit bonus :

Une photo du montage.



Image IPB

(Et effectivement, l'hébergement ne marche pas sur robotix... Ça me met erreur 404 quand je veux uploader l'image.)





J'ai aussi fait une vidéo. Vous connaissez pas un hébergeur autre que youtube ou dailymotion ? (J'ai pas spécialement besoin que la vidéo soit "publique"...

#18 Eskimon

Eskimon

    Membre

  • Membres
  • 71 messages

Posté 01 juin 2010 - 09:17

Il me semble que sur Youtube tu peux mettre tes vidéos en privé mais pas sur...



Pour les transistor, il me semble que des 2N2222 devrait faire l'affaire... mais étant mes souvenirs assez critique sur les transistors et mes essais "fumants" lorsque j'en employait, je te conseillerais la prudence sur mes conseils ^^.

Sinon il y a la solution du CI "ULN2003" qui est parfait pour ça me semble t'il(recopie son niveau d'entrée mais en donnant du courant si besoin...)

#19 Esprit

Esprit

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 503 messages
  • Gender:Male
  • Location:Belgique

Posté 01 juin 2010 - 09:36

J'ai retrouvé un vieux compte youtube. ;)

Voilà le lien de la vidéo :
(Je cherche comment l'insérer directement dans le post et j'édite quand j'ai trouvé.)

[edit : Noon, il y a une banière "youtube". Cool !

ASytmu2Povo

(D'avance désolé pour la qualité d'image.. On fait avec ce que l'on a.)

On voit ici trois phases différentes.
-Allumage successif de 3 leds.
-Allumage simultané de ces trois même leds. (En réalité, elle s'allume chacune à leur tour pendant 5 ms et ça tourne en boucle un certain temps, c'est la persistance rétinienne qui donne l'impression que ça reste allumé. ;) )
-Allumage d'une led totalement au hasard (enfin, avec un random.)


Voilà voilà. Je n'ai pas encore eu le temps de programmer d'autres petites choses, mais ça ne saurait tarder. :|


[edit : La vidéo n'est plus "privée".

#20 Eskimon

Eskimon

    Membre

  • Membres
  • 71 messages

Posté 01 juin 2010 - 11:09

Vidéo privé, donc pas possible de visionner :(



Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users