Aller au contenu

La fonction modulation de largeur d'impulsions ou PWM

Réalisation de l'activité

Pour cela vous devrez impérativement utiliser le squelette du programme Arduino donné ci-dessous :

 /**************************************************************************************************
 Nom ......... : Clignotement_led_13.ino
 Role ........ : Fait clignoter la led reliée à la pin 13 d'une carte Arduino MEGA
                                 Cycle : 500ms OFF; 500ms ON
 Auteur ...... : Votre nom
 Classe ...... : Votre classe
 Etablissement : Lycée Louis Rascol, Albi, FRANCE <http://louis-rascol.entmip.fr/>
 Mail ........ : Votre_mail@e.rascol.net
 Version ..... : V0.0 du xx/xx/16
 Licence ..... : Copyright (C) 2016  Votre nom

                 This program is free software: you can redistribute it and/or modify
                 it under the terms of the GNU General Public License as published by
                 the Free Software Foundation, either version 3 of the License, or
                 (at your option) any later version.

                 This program is distributed in the hope that it will be useful,
                 but WITHOUT ANY WARRANTY; without even the implied warranty of
                 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                 GNU General Public License for more details.

                 You should have received a copy of the GNU General Public License
                 along with this program.  If not, see <http://www.gnu.org/licenses/>

 Compilation . : Avec l'IDE Arduino
 ****************************************************************************************************/

 //Ajout de bibliothèques


 //Déclarations de constantes


 //Déclaration de variables


 void setup()
 {
     //Insérez ici vos paramètres
 }

 void loop()
 {
   //Insérez ici votre programme principal
 }

Pour la suite vous pouvez télécharger un fichier zip squelette pré-rempli : Télécharger

Marche à suivre :

  1. Faire l'algorithme du programme en utilisant la notation algorithmique normalisée.
  2. Créer un fichier Arduino et y copier-coller le squelette.
  3. Codez votre algorithme ne soyez pas avare en commentaires.
  4. Téléversez sur la carte et vérifiez le bon fonctionnement.
  5. Appelez le professeur pour valider.

Important

La validation de l'exercice sera uniquement effectuée lors de la présentation d'un algorithme juste et d'un code Arduino suffisamment commenté en fonctionnement.

1. Variation de luminosité avec potentiomètre

Nous souhaitons utiliser le PWM d'une carte Arduino UNO pour faire varier la luminosité d'une led connectée à la pin numérique 2, la luminosité se réglera en tournant le Grove Rotary Sensor connecté en pin A0. Le comportement attendu est le suivant:

  • Rotary sensor en butée gauche = Led éteinte.
  • Rotary sensor en butée droite = Led allumée au maximum.

2. Variation de luminosité avec LDR

Nous souhaitons à présent faire un système d'éclairage domotique, toujours avec une led mais en remplaçant le Rotary Sensor par un module Grove Light Sensor connecté en pin A0, le comportement attendu est le suivant :

  • Quand le capteur de luminosité est découvert (exposé à la lumière ambiante) la led doit être totalement éteinte.
  • Quand le capteur de luminosité est occulté la led doit être allumée au maximum.

Dernière mise à jour: November 13, 2023
Créé: November 13, 2023