[AUDIO_VIDE] Bonjour. Le multiplexage temporel est un sujet essentiel pour les afficheurs à LED. Nous allons étudier ce sujet à partir de trois exemples très simples. Tout d'abord, comment utiliser une seule sortie d'un micro contrôleur pour piloter deux LED? Nous allons ensuite parler de, Charlieplexing, et finalement, nous allons parler de la commande d'afficheurs à sept segments. Ce schéma peut sembler un peu curieux. En effet, on a successivement une résistance, une LED, une résistance, une LED. Il ne va pas produire l'allumage de ces deux LED, si nous prenons la peine d'avoir une tension suffisamment faible et, disons, des LED dont la tension de fonctionnement est suffisamment importante. Disons que ce montage ne fonctionnera qu'avec des LED bleues ou avec des LED vertes. Est-il possible avec ce montage d'allumer la LED numéro 1? Eh bien oui. Il suffit de mettre l'état logique, 1, sur cette entrée. Le courant va passer à travers la résistance et allumer cette LED lumineuse. Est-il possible d'allumer la LED 2? Eh bien, il faudra mettre cette fois un zéro, ici, et le courant pourra passer à travers la résistance, illuminer la LED et revenir ici au zéro. Est-il possible maintenant d'éteindre les deux LED? Nous l'avons en fait déjà vu, il suffira de mettre l'état, haute impédance, ici. Cet état, haute impédance, correspond tout simplement au fait que la broche est une entrée de micro contrôleur. Il n'est évidemment pas possible d'allumer les deux LED en même temps, par contre, ce que nous pouvons faire c'est allumer alternativement l'une et l'autre. Regardons comment programmer ce montage. Tout d'abord ici, nous définissons comment il est possible de mettre la sortie à , 1, la sortie à , zéro, ou la sortie à , haute impédance. Pour le 1, il faut mettre le mode sortie, pour le zéro, il faut aussi le mode sortie. Et pour le 1, il faut écrire une valeur 1 ; alors qu'il faut écrire le zéro pour mettre la sortie à zéro. Et maintenant pour que la sortie soit à , haute impédance, on va utiliser la broche tout simplement en entrée. Regardons ce programme. Si la sortie est à , haute impédance, les deux LED sont éteintes. On va les éteindre pendant une seconde. On peut allumer la première LED pendant une seconde, allumer la deuxième LED pendant une seconde, et on peut aussi pendant une seconde, c'est-à -dire 250 fois 4 millisecondes, voilà les 250, voilà les 2 fois 2 millisecondes, où on allume la première LED, puis on allume la deuxième LED. On a donc bien une seconde avec les deux LED allumées, pas tout à fait allumées puisqu'elles ne sont allumées que la moitié du temps. On a donc une intensité un peu plus faible. Est-ce que ce montage est véritablement utile? Eh bien, si une fois il vous permet de sauver un projet où il vous manque justement une broche sur un micro contrôleur, eh bien, ce sera bien. Il existe en effet beaucoup de petits micro contrôleurs qui ont très peu de pattes. En particulier le fameux ATtiny85 qui a son fan club sur internet. Et vous verrez que, avec des astuces de ce type-là , on peut faire beaucoup de choses avec un petit microcontrôleur. Nous allons regarder maintenant un montage un petit peu plus compliqué. Ce système s'appelle, Charlieplexing, du nom de monsieur Charlie Allen de la société, Maxim Integrated, qui a inventé ce dispositif astucieux. Vous voyez que nous avons six diodes lumineuses, nous avons trois résistances série, et nous avons trois broches du micro contrôleur. Et, si on est astucieux, il va être possible d'allumer n'importe quelle de ces LED et n'importe quelle combinaison de ces LED. Comment faire pour allumer cette LED? Il faudra un, 1, ici, un zéro là , par conséquent on va mettre un, 1, ici, un zéro, là , et laisser à , haute impédance, cette troisième broche. Et on voit que ce système est applicable à n'importe laquelle de ces six LED. Mais comment faire maintenant pour les allumer en même temps? Ce n'est évidemment pas possible, sauf quelques cas particuliers, mais nous allons plutôt utiliser le multiplexage temporel. Pendant un sixième du temps, on allumera, ou on n'allumera pas, chaque diode lumineuse. Nous obtiendrons évidemment le sixième de l'intensité lumineuse, mais nous pourrons allumer n'importe quelle combinaison de ces six LED. Voilà un diagramme des temps qui permet de comprendre. On allume, oui ou non, la première LED, on allume, oui ou non, la deuxième etc. jusqu'à la sixième. On reprend, nous avons donc une période ici, une deuxième période là , nous pourrons donner l'impression que les LED sont allumées de manière continue, si cette fréquence de multiplexage est supérieure à 100 hertz environ. Vous n'allez peut-être jamais utiliser du, Charlieplexing, mais j'espère que vous avez pu comprendre le principe du multiplexage temporel. Nous allons maintenant l'appliquer pour une application beaucoup plus connue, les afficheurs à sept segments. Tout le monde connaît cette disposition des segments pour afficher des chiffres. Pour afficher le 1, on illumine ces deux segments. Pour afficher un, 7, on va ajouter celui-là . Le, 8, correspondra à tous les segments. Les circuits afficheurs à sept segments sont donc composés de sept diodes lumineuses. Pour simplifier le câblage, généralement, l'ensemble des anodes, ou l'ensemble des cathodes, sont connectées ensemble. On parle d'anodes communes ou de cathodes communes. Lorsqu'on désire avoir plusieurs chiffres, par exemple quatre ici, le montage souvent utilisera le même mécanisme, par exemple des anodes communes, mais regroupera aussi les cathodes. On a des anodes regroupées par digits, on a les cathodes regroupées par segments. Alors, que devons-nous faire pour afficher des chiffres sur un tel dispositif? Eh bien, nous devrons sélectionner, dans tous les cas, l'anode du premier digit et, sélectionner ou non, sa cathode pour le segment A, pour le segment B etc. jusqu'au segment G. Puis, nous devons sélectionner la deuxième anode, l'anode du deuxième digit, et, sélectionner ou non, les segments ; de même pour le troisième, de même pour le quatrième digit. Ce motif va bien entendu se répéter, si la période est suffisamment courte, c'est-à -dire si la fréquence est suffisamment élevée, si possible au-delà de 100 hertz, l'oeil ne percevra pas l'affichage successif des digits, mais verra l'ensemble des digits allumés correctement. Voilà le montage correspondant avec un micro contrôleur. Les segments peuvent être alimentés, directement, à travers une résistance, puisqu'il n'y a jamais qu'un segment allumé à un moment donné, puisque les digits ne s'allument jamais en même temps. Par contre, pour les anodes, on peut avoir tous les segments allumés pour un digit donné, et par conséquent le micro contrôleur, qui est capable de fournir assez de courant pour une LED, mais qui n'est pas capable de fournir assez de courant pour huit LED, devra avoir son signal amplifié par un transistor. On voit ici que c'est un transistor, PNP. Le courant va passer de son émetteur vers son collecteur. C'est donc un zéro logique, ici, qui commandera les anodes correspondantes. De même, ce sera un zéro logique, sur l'une de ces sorties, qui va faire que le courant pourra passer. On est donc complètement en logique inverse. Si on avait pris des cathodes communes et des anodes reliées aux segments, on aurait l'effet inverse et on aurait pu utiliser des transistors, NPN. Nous avons vu comment commander deux LED, avec une seule broche d'un microcontrôleur, nous avons parlé de, Charlieplexing, nous avons regardé comment on utilise des afficheurs à sept segments. Mais le but c'était de comprendre le principe du multiplexage temporel, qui sera intensivement utilisé pour les afficheurs à LED.