lundi 26 mai 2014

Word Clock en Français: le tuto

Bonjour à tous, j'ai eu de nombreuses demandes pour plus d'explications sur la fabrication de la Word Clock. Je n'ai pas trop le temps de rédiger un long tutoriel, donc j'ai préféré faire une petite vidéo. Soyez indulgent, ma camerawoman n'a que 9 ans.



Un peu plus de précisions car je n'ai pas tout développé dans la vidéo:

   pour le programme, je boucle toutes les minutes:
       -une lecture des données de la RTC,
       - chaque mot a une équation du genre pour le "HUIT":

 si ((Heure=8 OU Heure=20) & minute<35) OU ((Heure=7 OU heure=19) & minute>=35)

Il faut bien réfléchir à toutes les combinaisons et aux petits mots comme "LE" ou le "S" de "HEURE".
Il ne faut pas oublier aussi d'effacer "HEURE" quand il est midi ou minuit. C'est assez sympa à faire.

      - l'animation est faite en générant des nombres aléatoires que j'envoie dans le SHIFT OUT, séparés par des temps aléatoires assez courts.

      - Pour le SHIFT OUT, les trois fils correspondent: au signal (le code binaire), l'horloge, et le "latch" (qui annonce le départ du code). Le premier CI prends les 8 premiers bits et envoi un latch au deuxième CI qui prends les 8 bits suivants et qui envoi un latch au 3eme CI....et ainsi de suite. On peut donc multiplier indéfiniment les sorties.
Par exemple, en envoyant un code comme 255 (qui donnera en binaire 1111 1111), vous mettez les 8 sorties à 1. Alors qu'en envoyant 35 (1100 0100), vous mettrez les deux premières sorties et la sixième à 1.

Les mots clés pour vous aider dans vos recherches de montages et de bibliothèques arduino sont: SHIFT OUT, ARDUINO STAND ALONE,

Bonne chance pour vos constructions et n'hésitez pas à me poser des questions et à m'envoyer vos photos.


[Edit]: Vous pouvez maintenant trouver le code Arduino ici: http://lafamillecreative.blogspot.fr/2016/03/le-code-arduino-pour-la-wordclock.html


A+

22 commentaires:

  1. Bonjour Mr Créatif :)

    Ma femme suit votre blog depuis quelques temps.
    Etant moi même amateur de montages Arduino et ayant pour projet une "word clock", ma femme m'a dirigé vers cet (excellent) article.

    J'ai commencé à jouer avec un registre à décalage (74hc595).
    Et la j'ai tout de suite rencontré le pb suivant : mes led consomment trop (70ma) pour mon 74hc595 (qui sors du 12ma max par sortie en 5v).
    Ceci veut dire que je devrais rajouter des transistors et une alim supplémentaire.

    Avez vous rencontré le même pb? ou alors utilisez vous un composant plus puissant?
    Dans tous les cas un schéma (j'utilise fritzing pour ma part) serait le bienvenu :)

    Merci encore pour ce partage d'info,
    Cordialement,
    Erwan (http://labalec.fr/erwan)

    RépondreSupprimer
  2. Bonjour,

    Merci pour votre commentaire,
    Oui, j'utilise des transistors (des CI qui regroupent 8 transistors, c'est des UN2803, c'est très pratique à cabler avec les 74hc595)
    Je n'ai pas besoin d'une autre alim. Mes leds consomment 10mA chacunes et elles ne sont jamais toutes allumées en même temps.
    Je suis étonné par votre valeur 70ma par LED. Etes-vous sûr? ça me parait beaucoup. Les données techniques sont des valeurs max, il vaut mieux utiliser à 50% (les miennes ont une valeur max de 20mA et 30mA en Pulse. à 10mA, elles éclairent très bien et ont certainement une durée de vie beaucoup plus longue)
    Il faut que je prenne le temps de faire un schéma, effectivement fritzing est pas mal surtout quand il y a du arduino dans le montage.
    Je prépare une deuxième word clock avec 2 matrices 8x8 cote à cote pour qu'elle soit super simple à réaliser
    je vous tiens au courant
    A+
    ( très sympa votre blog)

    RépondreSupprimer
  3. Merci pour votre retour.
    Je vais me procurer un UN2803 pour tester ca :)

    Question : pkoi les transistors si vous n'utilisez pas une alimentation externe? le 74hc595 ne suffit t il alors pas?

    Sinon, je viens de tester un 74hc595+transistor+alim externe et j'arrive à mes fins.
    Mon 74hc595 semble trop peu puissant pour alimenter ne serait ce qu'une led...bizarre...
    A+
    Erwan

    RépondreSupprimer
  4. Merci pour votre retour.
    Je vais me procurer un jeu de UN2803!

    Une question : pkoi des transistors si vous n'utilisez pas une alimentation externe pour vos leds? le 74hc595 ne suffit t il pas?

    Cordialement,
    Erwan

    RépondreSupprimer
  5. non, le 74hc595 ne peut fournir que 20mA par sortie, mais surtout un courant maxi d'alim de 70mA (c'est surtout celui là qui est bloquant), en deux mots, ça veut dire que la somme des sorties ne doit pas excéder 70mA. Donc ce n'est pas suffisant, dans mon cas, au delà de 7 LEDS, le composant peut griller.
    Donc je mets des transistors dont les bases sont reliées aux sorties des 74hc595. Comme ça, le courant de sortie du 74hc595 est très faible et c'est le transistor qui "encaisse" le courant fort.
    Je ne comprends pas bien ce que tu entends par alimentation externe?
    Moi, j'utilise la même alim pour le arduino et le reste du montage.
    J'ai pris tout en 5V.
    Tu peux voir un schéma avec un transistor relié à une sortie du arduino sur mon distributeur pour chats:
    http://lafamillecreative.blogspot.fr/2012/05/un-distributeur-automatique-de.html
    à la sortie du 74hc595, c'est pareil sauf que tu n'as pas besoin de mettre une résistance entre la base et le uln2803 car il en est muni (c'est un autre avantage par rapports aux transistors "normaux"):



    la datasheet du 74hc595:
    http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf

    la datasheet du ULN2803
    http://www.ti.com/lit/ds/symlink/uln2803a.pdf

    A+ Antoine

    RépondreSupprimer
  6. Pour illustrer mon propos :

    -celui ne fonctionne pas (j'ai pourtant bien une tension d'environ 5v avant la résistance et une intensité d'environ 10ma sur aux bornes de ma led)
    http://i.imgur.com/v1V28ER.png

    -celui la fonctionne (mon arduino est alimenté en USB)
    http://i.imgur.com/uzJWWFM.png

    Note : peu importe le nombre de leds dans les 2 cas.

    RépondreSupprimer
    Réponses
    1. Il y a quelquechose de bizarre: 10mA aux bornes de la LED, ça ne veut rien dire car l'intensité ne doit pas être mesurée aux bornes, il faut mettre l'amperemetre en série avec la résistance ou la led.
      Dans le premier schéma, c'est possible que ça ne marche pas car en alimentant avec le port usb, il y a souvent des montages qui ne marchent pas car pas suffisament de puissance: les ports sont très limités (200mA ou 500mA en fonction des différents types). C'est d'ailleurs dangereux pour le port USB car tu peux le cramer.
      Tu peux réessayer le premier schéma en alimentant le arduino avec un transfo (9v par exemple).
      Si ça marche, tu peux ensuite faire un troisième schéma (comme le deuxième mais en utilisant 0 et 5v du arduino à la place de l'alim externe)
      Attention, le régulateur de la carte arduino (qui transforme la tension du transfo en 5v) a des limites, je ne suis pas sûr qu'il puisse alimenter le arduino + le montage + toutes les LED. A vérifier.

      Supprimer
  7. Oui pour l'intensité je me suis mal exprimé en effet :) c'est bien une mesure en série que j'ai réalisé.
    Je pense qu'en effet je vais utilisé une seule source mais je vais laisser mes leds directement sur l'alim externe plutôt que de les alimenter par l'Arduino.

    Idéalement, l'Arduino (tout comme le 74hc595) n'est pas fait pour délivrer de la puissance mais de la logique.

    PS : c'est très difficile de poster un commentaire (ca ne marche que sous firefox).
    Sous Chrome, je publie et hop tout mon post disparait :(

    RépondreSupprimer
  8. Je suis assez d'accord avec toi sur le fait que l'arduino ne soit pas fait pour délivrer de la puissance.
    ça me parait un bon choix.

    je n'ai pas eu à, choisir car sur le Stand-alone, tout doit être en 5 volts.
    En tout cas, bon courage et donne moi des nouvelles de ta réalisation

    A+

    RépondreSupprimer
  9. Merci pour cette discussion dans tous les cas, très agréable :)
    J'ai bien avancé.
    La réalisation suivante (j'ai monté 8 leds en fait) fonctionne bien : http://i.imgur.com/5nRswLk.png .

    Je suis prêt pour la prochaine étape : une word clock !

    A ce sujet, d'ailleurs, n'hésite pas à partager le gabarit (pour ne pas avoir à recomposer les mots moi même) ;)

    RépondreSupprimer
  10. Bonjour Mr créatif !

    Déjà un grand merci pour votre tutos qui effectivement ce fessai attendre.
    J'aimerais savoir si le code de l'arduino que vous avez rédigé était disponible sur le blog ? je commence tous juste dans le monde arduino et la programmation me freine un peu sur ce projet.

    Encore merci et je publierai bien évidement des photos une fois mon projet terminé ! ;)

    Bien cordialement, Thomas.

    RépondreSupprimer
    Réponses
    1. C'est vrai que je n'ai pas mis le code. Je le mets très prochainement A+

      Supprimer
    2. Bonjour,
      Toujours pas de code disponible ?
      Merci d'avance.

      Supprimer
    3. Je viens de mettre en ligne le code: http://lafamillecreative.blogspot.fr/2016/03/le-code-arduino-pour-la-wordclock.html

      Supprimer
  11. Ce commentaire a été supprimé par l'auteur.

    RépondreSupprimer
  12. Bonjour,
    je voudrais savoir s'il serait possible d'indiquer où vous avez acheté votre arduino et le programmeur ? J'ai beau chercher sur internet je ne trouve pas d'arduino à ce prix là et le "nano" (après j'ai peut-être juste mal compris le nom que vous avez indiqué) est bien plus cher, en tout cas sur tous les sites que j'ai vu.

    RépondreSupprimer
  13. Bonjour Mr créatif, pouvez vous joindre au tutoriel le code arduino de la word clock ? bien cordialement.

    RépondreSupprimer
    Réponses
    1. Je viens de mettre en ligne le code: http://lafamillecreative.blogspot.fr/2016/03/le-code-arduino-pour-la-wordclock.html

      Supprimer
  14. Bonjour Mr Créatif,je commence à mettre en place ma propre horloge....et cela n'est pas hyper facile...
    Au niveau mise en oeuvre technique cela sera encore réalisable cependant,au niveau programmation je ne suis pas un expert...serait il possible de mettre en ligne votre code de programmation pour le fonctionnement de l'horloge....cordialement W Douglas

    RépondreSupprimer
    Réponses
    1. Je viens de mettre en ligne le code: http://lafamillecreative.blogspot.fr/2016/03/le-code-arduino-pour-la-wordclock.html

      Supprimer
    2. Super merci beaucoup..... je posterai une petite photo de mon horloge dès qu'elle sera terminée....

      Supprimer

Un petit commentaire, ça fait toujours plaisir!