AP régulation de lumière sous Arduino CAN ET PWM Matériel et documents nécessaires : 1 carte Arduino avec une plaquette d'essai 1 câble USB 1 PC équipé du logiciel Arduino Le « Livret Arduino » 1 LED et 1 résistance de 220 Ω (rouge rouge marron) 1 LDR + 1 résistance de 47 kΩ (jaune, violet, orange) Le logiciel de saisie de schéma « PROTEUS 8 » Le simulateur UnoArduSim.exe 1- Gestion d'une entrée analogique On souhaite maintenant faire clignoter une LED à une fréquence qui dépendra de la luminosité ambiante. Pour cela, vous utiliserez une photorésistance LDR et une résistance de 47 kΩ que vous câblerez comme indiqué le schéma ci dessous LDR cL Le capteur LDR sera connecté sur l’entrée analogique N°0 : AD0 La LED sera connectée sur la sortie N° 13 Réalisez le câblage des composants sur la carte Faites vérifier le câblage par votre professeur. int capteurLDR = 0; // variable identifiant un port ana. 0 de la carte int LED1 = 13; // variable identifiant le port num. 13 de la carte int lum1 = 0; // variable identifiant la valeur de la luminosité du capteur 1 void setup() { pinMode(LED1, OUTPUT); // configure la broche 13 comme une sortie Serial.begin(9600); // initialise la vitesse de la liaison serie. } void loop() { lum1 = analogRead( capteurLDR); // lire la donnée capteur digitalWrite(LED1, HIGH); // allumer la LED 1 delay(lum1); // attendre pendant la valeur donnée par le capteur en millisecondes digitalWrite(LED1, LOW); // éteindre la LED 1 delay(lum1); // attendre pendant la même valeur Serial.println("Mot numerique lumiere"); // écrire sur la liaison série la phrase Mot numé….. Serial.println(lum1, DEC); // écrire le contenu de la variable lum1 en décimal delay(1000); // attendre pendant 1s } AP regulation de lumièresous arduino CAN-pwm_élève Page l 1/6 2 – Simulation sur PROTEUS 8 Ouvrir le fichier Arduino-TP3-ELV-1.pdsprj Sur l’onglet Saisie de schéma compléter le câblage du capteur de lumière LDR ( il sera simulé par une résistance variable) . Câbler le voltmètre Insérer le programme dans l’onglet code source, puis simuler le fonctionnement en appuyant sur play. AP regulation de lumièresous arduino CAN-pwm_élève Page l 2/6 Lum1 Vad0 Compléter le tableau, et déterminer le nombre de bits du convertisseur 0 5 Pour un mot de n bits on pourra avoir 2 n messages différents. Pour transférer le programme dans la carte réelle il faut configurer le port COM et définir la carte arduino UNO. Cliquez sur l’icône puce Conclure. cliquez sur l’icône configurer le projet. Renseigner le port de communication com… Sélectionner Arduino uno dans le menu INTERFACE. Cliquez sur l’icône puce pour transférer le programme Ouvrir le logiciel Arduino . Copier le programme et le transférer sur la carte. Ouvrir le moniteur série. Et comparer les écarts entre la simulation et le réel. AP regulation de lumièresous arduino CAN-pwm_élève Page l 3/6 3 – Simulation sur UnoArduSim.exe Copier puis coller le programme Réaliser le câblage le capteur de lumière LDR sera simulé une tension variable 0- 5V, puis connecter une LED sur la sortie 13. Simuler et conclure. Donner la valeur maximale de la temporisation en seconde. 4 – Simulation sur PROTEUS 8 On souhaite maintenant faire varier l’éclairage d’une LED proportionnellement à l’éclairage reçu par le capteur le lumière LDR. La LED sera piloté par une fonction PWM Adaptation de l’échelle entre le Convertisseur Analogique Numérique ( 10 bits) ou est connecté la LDR, et le CNA qui pilote la LED en Pulse Wide Modulation ( 8bits). luminosite = map(sensorValue,0, 1023, 0, 255) Ouvrir le fichier Régulation_éclairage.flv, et visualiser la vidéo. Arduino-TP3-ELV-2.pdsprj Pourquoi faut t’il changer de numéro de sortie et passer de 13 à 9 ? Compléter le programme dans l’onglet code source, notamment l’acquisition de la mesure du capteur LDR, puis lancer la simulation. Réaliser le câblage le capteur de lumière LDR sera simulé par une résistance variable. Câbler le voltmètre Conclure. D'abord, la PWM sa veut dire : Pulse Width Modulation et en français cela donne Modulation à Largeur d'Impulsion (MLI). La PWM est en fait un signal numérique qui, à une fréquence donnée, a un rapport cyclique qui change. La fréquence et le rapport cyclique La fréquence d'un signal périodique correspond au nombre de fois que la période se répète en UNE seconde. On la mesure en Hertz, noté Hz. Prenons l'exemple d'un signal logique qui émet un 1, puis un 0, puis un 1, puis un 0, etc. autrement dit un signal créneaux, on va mesurer sa période (en temps) entre le début du niveau 1 et la fin du niveau 0 : AP regulation de lumièresous arduino CAN-pwm_élève Page l 4/6 Ensuite, lorsque l'on aura mesuré cette période, on va pouvoir calculer sa fréquence (le nombre de périodes en une seconde) grâce à la formule suivante : Avec : : fréquence du signal en Hertz (Hz) : temps de la période en seconde (s) Le rapport cyclique, un mot bien particulier pour désigner le fait que le niveau logique 1 peut ne pas durer le même temps que le niveau logique 0. C'est avec ça que tout repose le principe de la PWM. C'est-à-dire que la PWM est un signal de fréquence fixe qui a un rapport cyclique qui varie avec le temps suivant "les ordres qu'elle reçoit". Le rapport cyclique est mesuré en pour cent (%). Plus le pourcentage est élevé, plus le niveau logique 1 est présent dans la période et moins le niveau logique 0 l'est. Étudions maintenant la fonction permettant de réaliser ce signal : analogWrite(). Elle prend deux arguments : Le premier est le numéro de la broche où l'on veut générer la PWM Le second argument représente la valeur du rapport cyclique à appliquer. Malheureusement on n'exprime pas cette valeur en pourcentage, mais avec un nombre entier compris entre 0 et 255 Si le premier argument va de soi, le second mérite quelques précisions. Le rapport cyclique s'exprime de 0 à 100 % en temps normal. Cependant, dans cette fonction il s'exprimera de 0 à 255 (sur 8 bits). Ainsi, pour un rapport cyclique de 0% nous enverrons la valeur 0, pour un rapport de 50% on enverra 127 et pour 100% ce sera 255. Les autres valeurs sont bien entendu considérées de manière proportionnelle entre les deux.. AP regulation de lumièresous arduino CAN-pwm_élève Page l 5/6 Compléter le tableau depuis la simulation Luminosité 0 Rapport cyclique β Vad0 V LEDmoy 255 5 En déduire la relation entre V LED = f (Vcc ; β) 5 – Simulation sur UnoArduSim.exe Copier puis coller le programme Réaliser le câblage le capteur de lumière LDR sera simulé une tension variable 0- 5V, puis connecter une LED sur la sortie 9. Simuler et conclure. Donner la valeur maximale de la temporisation en seconde. AP regulation de lumièresous arduino CAN-pwm_élève Page l 6/6