Module : Internet of things and cloud computing
Année
applications universitaire :
TP N°2 : Introduction de la plateforme Arduino 2022/2023
(PWM, Entrées Numériques, Entrées analogique)
Objectifs :
Utilisation du signal PWM, les entrées numériques et les entrées analogiques.
PWM (Pulse Width Modulation) :
Le plus simple moyen de faire varier la luminosité d'une LED, c'est de faire varier le courant
qui la traverse. Mais lorsqu'elle est branchée sur la broche d'un Arduino, ce n'est pas possible :
les broches 1 à 13 sont en effet numériques. C'est-à-dire qu'elles n'ont que deux états : 0 ou 1 ;
allumé ou éteint. Alors pour faire varier la luminosité d'une LED, on va utiliser une fonction
appelée PWM : Pulse Width Modulation, soit modulation de largeur d'impulsions. Il s'agit de
faire varier les périodes hautes (allumé) et basses (éteint) des broches à grande fréquence.
Ainsi, lors d'un cycle de 25% en position haute et 75% en position basse, la LED sera moins
brillante que pour un cycle à 50%/50%.
En d’autres termes, cela signifie qu'on va faire clignoter très vite les LEDs, tellement vite que
l'œil ne percevra qu'une lumière continue. Mais plus en augmentera la durée des périodes où
la LED est éteinte, moins il y aura de lumière émise ; et donc moins la LED semblera
brillante.
Par distinction, au lieu d'utiliser l'instruction DigitalWrite, pour utiliser le PWM, on utilise
AnalogWrite.
La valeur du PWM s'étend sur 256 paliers, de 0 (=0%) à 255 (=100%).
Exercice1 :
a- Faire varier La luminosité de la LED en modifiant La valeur de PWM.
b- Faire varier la luminosité d'une LED en douceur.
Les entrées numériques :
Jusqu'à maintenant, nous avons traité des outputs, c'est-à-dire qu'un signal sortait du
microcontrôleur sous la forme d'un courant électrique (HIGH ou 1) ou de son absence (LOW ou 0)
grâce à la commande DigitalWrite. On a utilisé jusqu'ici ce signal (un courant électrique) pour
allumer des LEDs. De même, il est possible d'envoyer un signal au microcontrôleur, depuis un
capteur par exemple. Ce signal est un courant électrique entrant dans la broche. En fonction du
signal reçu, le microcontrôleur effectuera une tâche prévue (allumer la lumière lorsqu'un capteur de
mouvement détecte une présence, par exemple). Pour cela, nous utiliserons les commandes
DigitalRead et AnalogRead.
Exercice 2 :
a- Réaliser un schéma qui permet à l'Arduino de lire une valeur de +5V ou de 0V. Si on
envoie le +5V sur un bouton poussoir, quand il est baissé, il laisse passer le courant et
l'Arduino reçoit +5V, il indique donc HIGH (ou 1). Si le poussoir est ouvert, l'Arduino
devrait ne rien recevoir, donc être à 0V et indiquer LOW (ou 0). Interpréter le résultat.
b- Réaliser un schéma qui allume une LED quand on appuie sur le bouton et l’éteint quand on
lâche le bouton
c- Réaliser un schéma qui permet à l’Arduino d’allumer la LED (et reste allumé) Quand on
appuie une fois sur le bouton, et éteindre la LED (et reste éteinte) Lorsqu'on appuie à
nouveau.
d- Jeu d’un dé : Réaliser un schéma qui permet à l’Arduino d’afficher la face supérieur du dé
en utilisant 5 LEDs et boutons poussoir.
Les entrées analogiques
Exercice 3 :
a- Réaliser un schéma qui permet à l’Arduino de lire les données d’un capteur photorésistance
et l’afficher en serial ;
b- Controller la luminosité d’une LED basant sur la valeur du capteur.