Les signaux
08--Initiation-à-la-Programmation 07--Arduino 05--Arduino - Faire clignoter une LED
Ca va ? La feuille précédente ne vous a pas fait peur ? ^^ Bon bah c'est parti alors !
Jusqu'à présent, nous n'avons vu que le tout ou rien. La LED est allumée (HIGH) ou éteinte (LOW), le courant passe ou pas. On a vu le monde binaire [Définition de binaire]. Mais le monde, lui, n'est pas binaire. Pour prendre l'exemple de Rhizome, qui est grossièrement un appareil qui "capte" le signal d'une plante, et bien cette plante n'envoie pas "Signal / Pas de signal", son vrai signal est un spectre, elle émet une valeur qui varie continûment. La lumière n'est pas "Jour/nuit", elle a mille nuances. Les signaux, c'est ce qui permet au microcontrôleur de sortir du tout-ou-rien pour lire et produire des valeurs nuancées. C'est le pont entre le monde binaire de la puce et le monde continu du réel.
Le signal numérique vs analogique
On distingue deux types de signaux en électronique :
Numérique : des valeurs discrètes, nettes, tranchées. Le tout-ou-rien que vous connaissez déjà (HIGH/LOW). C'est le langage naturel de la puce.
Analogique : des valeurs continues, qui varient en douceur, avec une infinité de nuances entre le minimum et le maximum. La température, la luminosité, le son, le signal d'une plante… le monde réel est analogique.
Et le job du microcontrôleur, c'est de faire le pont entre les deux; convertir l'analogique (le réel) en numérique (le digital, ce qu'il comprend), et inversement.
La lecture analogique
La lecture analogique (entrée) :
Petit rappel sur le cours 06--Microcontrôleurs [Lien], une broche en entrée "écoute" (contrairement à la sortie qui "agit").
Mais au lieu d'écouter juste « allumé/éteint », certaines broches lisent une valeur (de 0 à 1023 typiquement sur Arduino). C'est comme ça qu'on lit un capteur de lumière, un potentiomètre, ou… le signal d'une plante (encore une pub pour Rhizome tiens (blague à part ça sera utile pour les prochaines feuilles dédiées au fonctionnement de Rhizome)).
Le convertisseur qui fait ça s'appelle un CAN (convertisseur analogique-numérique) ou ADC (analog-digital converter [drapeau anglais]).
Le PWM (sortie « analogique » simulée) :
Le microcontrôleur ne sait produire que du tout-ou-rien (HIGH/LOW). Alors comment fait-il pour, par exemple, faire briller une LED à mi-intensité ?
Il triche : il l'allume et l'éteint de manière très rapide, des centaines de fois par seconde. Si elle est allumée la moitié du temps, elle paraît à moitié allumée (notre œil ne voit pas le clignotement). C'est ça le PWM.
C'est exactement le principe utilisé pour notre Blink, mais accéléré à l'extrême. Notre ligne de code delay(1000) faisait clignoter à 1 seconde ; maintenant imaginez le blink tellement rapide qu'au lieu de clignoter, la LED semble à mi-intensité. C'est ça, l'idée du PWM.
A retenir
C'est grâce aux différents signaux que l'électronique cesse d'être un simple interrupteur et commence à dialoguer avec le monde réel : sentir, nuancer, réagir... C'est un aspect qui rend l'électronique presque vivante, tout en restant technique.
Et en parlant de technique, dans la prochaine feuille, nous allons apprendre à lire un schéma, et la conception d'un PCB (en expliquant d'abord ce que c'est !)
