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 :
- Faire l'algorithme du programme en utilisant la notation algorithmique normalisée.
- Créer un fichier Arduino et y copier-coller le squelette.
- Codez votre algorithme ne soyez pas avare en commentaires.
- Téléversez sur la carte et vérifiez le bon fonctionnement.
- 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.