Projet CCA Chloé DUHAMEL, Clarisse HUM, Laurène FEVRE, Arnaud D'ANGELOSANTE

Dependencies:   mbed SeeedShieldBot BluetoothSerial

https://os.mbed.com/media/uploads/arnaudd/card.png

Committer:
arnaudd
Date:
Wed Jan 27 08:58:51 2021 +0000
Revision:
1:4f81a619ab97
Parent:
0:1c203a4d2ca0
Descr

Who changed what in which revision?

UserRevisionLine numberNew contents of line
arnaudd 0:1c203a4d2ca0 1 #include "mbed.h"
arnaudd 0:1c203a4d2ca0 2 PwmOut PWM(D3); //Sortie PWM
arnaudd 0:1c203a4d2ca0 3 DigitalIn button(D2); //Entrée digitale Boutton
arnaudd 0:1c203a4d2ca0 4 DigitalOut led(LED1); //Sortie digitale LED
arnaudd 0:1c203a4d2ca0 5
arnaudd 0:1c203a4d2ca0 6 double pwm_value;
arnaudd 0:1c203a4d2ca0 7 double pwm_max_value;
arnaudd 0:1c203a4d2ca0 8 double pwm_step;
arnaudd 0:1c203a4d2ca0 9
arnaudd 0:1c203a4d2ca0 10 int main()
arnaudd 0:1c203a4d2ca0 11 {
arnaudd 0:1c203a4d2ca0 12 pwm_value = 0; //Initialisation PWM
arnaudd 0:1c203a4d2ca0 13 pwm_max_value = 0.4; //Initialisation max PWM
arnaudd 0:1c203a4d2ca0 14 pwm_step = 0.001; //Initialisation pas PWM
arnaudd 0:1c203a4d2ca0 15 PWM.period_ms(1); // Période de la sorti PWM
arnaudd 0:1c203a4d2ca0 16 PWM.write(0); //Moteur désactivée
arnaudd 0:1c203a4d2ca0 17
arnaudd 0:1c203a4d2ca0 18 while(1) {
arnaudd 0:1c203a4d2ca0 19 if(button == 1) {
arnaudd 0:1c203a4d2ca0 20 led=!led; //Flip LED
arnaudd 0:1c203a4d2ca0 21
arnaudd 0:1c203a4d2ca0 22 while(pwm_value < pwm_max_value) { //Rampe ascendante de la commande de vitesse du moteur
arnaudd 0:1c203a4d2ca0 23 pwm_value += pwm_step; //Incrémentation du rapport cyclique (%) de la valeur du pas
arnaudd 0:1c203a4d2ca0 24 PWM.write(pwm_value); //Application du nouveaun rapport cyclique
arnaudd 0:1c203a4d2ca0 25 wait(pwm_step); //Attente de la valeur du pas
arnaudd 0:1c203a4d2ca0 26 }
arnaudd 0:1c203a4d2ca0 27
arnaudd 1:4f81a619ab97 28 wait(3); //Attente 3 secondes sur le plateau de vitesse
arnaudd 0:1c203a4d2ca0 29
arnaudd 0:1c203a4d2ca0 30 while(pwm_value > 0) { //Rampe descendante de la commande de vitesse du moteur
arnaudd 0:1c203a4d2ca0 31 pwm_value -= pwm_step; //Décrémentation du rapport cyclique (%) de la valeur du pas
arnaudd 0:1c203a4d2ca0 32 PWM.write(pwm_value); //Application du nouveaun rapport cyclique
arnaudd 0:1c203a4d2ca0 33 wait(pwm_step); //Attente de la valeur du pas
arnaudd 0:1c203a4d2ca0 34 }
arnaudd 0:1c203a4d2ca0 35
arnaudd 0:1c203a4d2ca0 36 led = !led; //Flip Led
arnaudd 0:1c203a4d2ca0 37 }
arnaudd 0:1c203a4d2ca0 38 }
arnaudd 0:1c203a4d2ca0 39 }
arnaudd 0:1c203a4d2ca0 40