LOCODUINO

Parlons Arduino => Vos projets => Discussion démarrée par: msport le juin 09, 2020, 12:50:58 pm

Titre: Une croix de pharmacie animée avec Arduino UNO
Posté par: msport le juin 09, 2020, 12:50:58 pm
http://locoduino.org/spip.php?article254#forum4762

On trouve quand même un brochage page 2 du pdf chez TME :

https://www.tme.eu/en/details/lm-88g07-cc/led-displays-matrix/
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: Jean-Luc le juin 09, 2020, 06:30:15 pm
Euh, oui.

Mais physiquement, sur le boîtier, elle est où la patte 1 ?
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: deneb2119 le juin 09, 2020, 06:34:04 pm
bonjour, ci-joint le brochage....

http://www.circuitstoday.com/interfacing-8x8-led-matrix-with-arduino
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: deneb2119 le juin 09, 2020, 06:35:21 pm
 la broche 1 est celle qui se trouve la plus à gauche quand on regarde la face où est inscrite la référence du composant.
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: deneb2119 le juin 09, 2020, 07:04:38 pm
le programme fonctionne très bien ; mais le motif de tracé des bords n’est pas complet ni les barres verticales et horizontales alors que pour les autres motifs, toutes les leds s'allument. y a t'il une explication à cela ??

guy
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: Jean-Luc le juin 09, 2020, 07:09:17 pm
Où sont les résistances ?
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: deneb2119 le juin 09, 2020, 07:17:12 pm
à coté ,, on ne les voit pas sur la photo
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: chris_bzg le juin 12, 2020, 11:07:53 am
Si j'ai bien compris, seuls quelques motifs ne fonctionnent pas comme prévu, alors que le reste fonctionne.
Dans un premier temps, il faut discriminer entre un problème matériel qui empêcherait l'allumage de certaines LED et un problème logiciel.
Problème matériel : ce sont alors toujours les mêmes LED qui ne s'allument pas. Dans ce cas, revoir le câblage de la matrice de LED et des résistances (sont-elles bonnes ou grillées ?). Est-ce que la matrice permet l'allumage de chacune des LED (tester la matrice est assez facile même si c'est fastidieux). Parfois, une matrice peut avoir des LED grillées, surtout pour le matériel asiatique bas de gamme).
Problème logiciel : je suppose que vous avez téléchargé le programme depuis l'article, donc il ne devrait pas y avoir de problème. Néanmoins, vérifiez le par rapport au listing donné au moins pour les motifs qui ne fonctionnent pas (définition des motifs, variables de boucles pour être certain que l'affichage est réalisé pour toutes les images).
Si tout cela ne donne rien, je peux vous fournir d'autres versions du programme par mail pour faire des tests.
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: deneb2119 le juin 12, 2020, 12:04:03 pm
oui très bien , mais si la croix complete s'allume entièrement. cela veut dire que toutes les leds s'allument et tous les cablages sont bon ,,
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: chris_bzg le juin 12, 2020, 05:58:37 pm
Effectivement, si toutes les LED s'allument, c'est que le câblage est bon.
Envoyez moi un mail à l'adresse citée dans l'article de Loco-Revue et je vous enverrai une autre version du programme pour essai.
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: deneb2119 le juin 12, 2020, 06:22:51 pm
je n'ai pas Locorevue
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: chris_bzg le juin 13, 2020, 03:40:15 pm
Utilise la fonction "envoyer un mail" du forum ; cela revient au même.
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: chris_bzg le juin 13, 2020, 04:21:11 pm
Pour ceux qui ont une matrice de LED à cathodes communes

Voici les changements à faire dans le programme si votre matrice est à cathodes communes sur les lignes (ou rangées). N'ayant pas ce genre de matrice, je ne pourrai pas tester mais je pense que certains pourront le faire à ma place.

Reprenons la figure 3 et imaginons que nos LED soient inversées (cathodes communes sur les lignes).
Dans ce cas, c'est un niveau bas L (au lieu de H) qu'il faut appliquer à la ligne et un niveau haut H (au lieu de L) qu'il faut appliquer à la colonne pour allumer la LED.

Le balayage se fera toujours sur les lignes, mais avec un niveau LOW et l'affichage de toute la ligne (donc les différentes colonnes) se fera avec un niveau HIGH. Il suffit de changer tout cela dans la fonction affiche(,).

Oui mais dans ce cas, faut-il réécrire les motifs en changeant les 0 en 1 et les 1 en 0 ?

Heureusement non ! D'ailleurs, ce serait assez fastidieux alors que le programme peut s'en charger pour nous grâce à l'opérateur bitwise NOT (noté par un tilda) dont la propriété est d'inverser tous les bits d'une donnée binaire (les 0 sont remplacés par 1 et réciproquement). (voir https://www.arduino.cc/reference/en/language/structure/bitwise-operators/bitwisenot )

Dans le setup, on met les lignes de la matrice à l'état HIGH au lieu de LOW (ligne 180) et les colonnes à l'état LOW au lieu de HIGH (ligne 183).

Dans la fonction affiche(,), à la ligne 194, on commande la ligne par un état LOW et à la ligne 196, on utilise l'opérateur bitwise NOT (le caractère tilda -> Alt Gr 2) ce qui fait que chaque bit du motif est inversé (0 au lieu de 1 et 1 au lieu de 0). Les lignes 199 et 200 sont également changées pour normaliser la matrice en fin de traitement.

Finalement, voici la nouvelle fonction affiche(,) qui doit être mise à la place de l'ancienne dans le programme que vous avez téléchargé :

void affiche(const byte motif[7], const unsigned long duree){
  // Réalise l'affichage d'un motif sur la matrice pendant un certain temps (duree)
  unsigned long topDuree;
  topDuree = millis();
  while(millis() - topDuree < duree){
    // tant que la durée n'est pas réalisée, on affiche une trame de 7 lignes
    for(int ligne=1; ligne<=7; ligne++){
      // On met la broche à l'état LOW. N° broche = N° ligne + 7
      digitalWrite(ligne+7, LOW);
      // On met les colonnes comme il se doit
      PORTD = ~motif[ligne-1];  // la première ligne est l'indice 0 du tableau !
      delay(3);
      // On éteint la ligne avant de passer à la suivante
      digitalWrite(ligne+7, HIGH);
      PORTD = 0b00000000;  // On met les colonnes à l'état LOW
    }  // fin de boucle for
  }  // fin du while 
}  // fin de la fonction affiche

J'espère ne rien avoir oublié. Le montage est exactement le même, donc ceux qui ont une matrice de LED à cathodes communes (peu importe la couleur) vont pouvoir tester et me dire ce qu'il en est...
Titre: Re : Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: double le juin 14, 2020, 10:16:47 am
Pour ceux qui ont une matrice de LED à cathodes communes

Voici les changements à faire dans le programme si votre matrice est à cathodes communes sur les lignes (ou rangées). N'ayant pas ce genre de matrice, je ne pourrai pas tester mais je pense que certains pourront le faire à ma place.



Merci beaucoup je vais tester cela dès que possible ;D
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: double le juin 14, 2020, 10:52:32 am
JE VIENS DE TESTER .......EXCELLENT CELA FONCTIONNE A MERVEILLE !!!!
Milles merci
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: chris_bzg le juin 15, 2020, 07:04:23 pm
Merci d'avoir rendu compte.
Du coup, je modifierai peut-être l'article pour en parler.
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: deneb2119 le juin 30, 2020, 04:11:02 pm
Problème résolu..... tout fonctionne à merveille....c'était un problème de câblage tout simplement .......

guy
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: chris_bzg le juillet 01, 2020, 10:58:45 am
Nous avons pas mal échangé, Guy et moi, avant de trouver l'origine du problème. Finalement, c'est ce qu'on soupçonne le moins qui se révèle le maillon faible : la plaque d'essai ou breadboard.
- les contacts peuvent ne plus assurer de bons contacts car une plaque d'essai, cela vieillit à force d'utilisation.
- ou bien au contraire, certains contacts peuvent être en court-circuit (peut-être plus rare).
- enfin, il est très facile de mettre un câble dans un mauvais trou (à qui ce n'est jamais arrivé ?).

Les programmes que nous publions sur LOCODUINO fonctionnent et ont été vérifiés souvent par plusieurs membres du comité de lecture. Aussi, si cela ne fonctionne pas chez vous, commencez par refaire le montage qui va avec :
- breadboard utilisée à un autre endroit, composants bien espacés sur cette breadboard pour mieux voir les connexions, vérification des soudures si vous en avez fait, utilisation de câbles courts et bien isolés, etc. Inspirez vous des photos de montage de l'article quand il y en a.

Si malgré un montage bien réalisé cela ne fonctionne toujours pas, alors il faut tester les composants utilisés. Dans l'exemple de la croix de pharmacie :
- les résistances laissent-elles passer le courant et leur valeur est-elle la bonne ? (à vérifier à l'ohm-mètre).
- la matrice permet-elle l'allumage de chaque LED indépendamment ? (une simple pile et une résistance pour tester cela)
- la carte UNO fonctionne-t-elle bien ? (surtout si elle est d'origine asiatique) et a-t-elle bien été programmée ? (avec les bons paramètres)

Cette petite recherche de panne n'est pas compliquée à faire : il faut simplement agir avec ordre et rigueur et cela peut vous permettre de résoudre le problème.
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: deneb2119 le juillet 01, 2020, 01:48:36 pm
je peux sans problème confirmer que tous les montages Locoduino fonctionnent à merveille ...

j'ai réalisé -
- panneau publicitaire ----https://www.youtube.com/watch?v=yzUjwMGZQPg
- Un automatisme de Passage à Niveau
- Annonces en gare avec la RFID-----https://www.youtube.com/watch?v=ICoISVGUS1w
- Un décodeur DCC pour les signaux sur Arduino NANO
- Simulateur de soudure à arc
- un affichage de gare ARRIVEE DEPART----https://www.youtube.com/watch?v=e1MX1Ykp0U4

vous pouvez voir ces réalisations sur youtube --- trains miniatures en lorraine  -- ou --deneb2119

guy
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: deneb2119 le octobre 04, 2020, 05:22:47 pm
et voila la vidéo du caducée....sur youtube ..

"Trains miniatures en lorraine 22"
Titre: Re : Une croix de pharmacie animée avec Arduino UNO
Posté par: CATPLUS le octobre 27, 2020, 07:53:51 am
Bonjour
Si vous trouver des photos, les insérer dans ce sujet
Marcel