FabLab Nîmes / Mbed 2 deprecated FabLab_TP_03_solution

Dependencies:   mbed

Committer:
Giamarchi
Date:
Thu Dec 16 18:14:13 2021 +0000
Revision:
2:9a1a6f5b86de
Parent:
1:95172f59262a
Child:
3:3aa0002c57dc
TP 03 Solution

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Giamarchi 2:9a1a6f5b86de 1 //==============================================================================
Giamarchi 2:9a1a6f5b86de 2 // FabLab Nîmes
Giamarchi 2:9a1a6f5b86de 3 // Initiation à la Programmation
Giamarchi 2:9a1a6f5b86de 4 // Auteur : Frédéric Giamarchi
Giamarchi 2:9a1a6f5b86de 5
Giamarchi 2:9a1a6f5b86de 6 // Date : 16 dec. 2021
Giamarchi 2:9a1a6f5b86de 7 // TP 03 : Controle de la luminosité d'une DEL par une résistance variable
Giamarchi 2:9a1a6f5b86de 8 // Lecture d'une entrée analogique (Résistance variable)
Giamarchi 2:9a1a6f5b86de 9 // Gestion de la luminosité d'une DEL par temporisation (Solution n°1)
Giamarchi 2:9a1a6f5b86de 10 // Génération d'un signal MLI (PWM) (Solution n°2)
Giamarchi 2:9a1a6f5b86de 11 //==============================================================================
Giamarchi 2:9a1a6f5b86de 12 // Déclarations des ressources
Giamarchi 0:531f33a2550d 13 #include "mbed.h"
Giamarchi 0:531f33a2550d 14
Giamarchi 2:9a1a6f5b86de 15 //==============================================================================
Giamarchi 2:9a1a6f5b86de 16 // Déclaration des broches
Giamarchi 2:9a1a6f5b86de 17 //DigitalOut DEL_RO(PA_11); // Ligne PA_11 sur la carte Nucléo
Giamarchi 2:9a1a6f5b86de 18 AnalogIn POT(PA_3); // Ligne PA_0 en entrée analogique
Giamarchi 2:9a1a6f5b86de 19 // Solution n°2
Giamarchi 2:9a1a6f5b86de 20 PwmOut DEL(PA_11); // Ligne PA_11 en mode PWM
Giamarchi 0:531f33a2550d 21
Giamarchi 2:9a1a6f5b86de 22 //==============================================================================
Giamarchi 2:9a1a6f5b86de 23 // Déclaration des variables
Giamarchi 2:9a1a6f5b86de 24 float mesure; // variable de type réel
Giamarchi 0:531f33a2550d 25
Giamarchi 2:9a1a6f5b86de 26 //==============================================================================
Giamarchi 2:9a1a6f5b86de 27 // Début du Programme
Giamarchi 2:9a1a6f5b86de 28 int main() // Fonction principale
Giamarchi 1:95172f59262a 29 {
Giamarchi 2:9a1a6f5b86de 30 mesure = 0; // Initialisation de la variable
Giamarchi 2:9a1a6f5b86de 31 // Solution n°2
Giamarchi 2:9a1a6f5b86de 32 DEL.period_ms(20); // Définit la période du signal
Giamarchi 2:9a1a6f5b86de 33 //==============================================================================
Giamarchi 2:9a1a6f5b86de 34 while(1) { // Boucle Infinie
Giamarchi 2:9a1a6f5b86de 35 mesure = POT.read()*20; // Valeur comprise entre 0 et 20
Giamarchi 2:9a1a6f5b86de 36 // Solution n°1
Giamarchi 2:9a1a6f5b86de 37 // DEL_RO = 1;
Giamarchi 2:9a1a6f5b86de 38 // wait_ms(mesure); // Durée Del allumée
Giamarchi 2:9a1a6f5b86de 39 // DEL_RO = 0;
Giamarchi 2:9a1a6f5b86de 40 // wait_ms(20 - mesure); // Durée DEl éteinte
Giamarchi 2:9a1a6f5b86de 41 // Solution n°2
Giamarchi 2:9a1a6f5b86de 42 DEL.write(mesure); // Définit le rapport cyclique (Temps Haut/Période)
Giamarchi 1:95172f59262a 43
Giamarchi 1:95172f59262a 44 } // Fin du while(1)
Giamarchi 2:9a1a6f5b86de 45 //==============================================================================
Giamarchi 2:9a1a6f5b86de 46 } // Fin du Programme
Giamarchi 2:9a1a6f5b86de 47 //==============================================================================