Projet CCA Chloé DUHAMEL, Clarisse HUM, Laurène FEVRE, Arnaud D'ANGELOSANTE
Dependencies: mbed SeeedShieldBot BluetoothSerial
main.cpp@1:4f81a619ab97, 2021-01-27 (annotated)
- Committer:
- arnaudd
- Date:
- Wed Jan 27 08:58:51 2021 +0000
- Revision:
- 1:4f81a619ab97
- Parent:
- 0:1c203a4d2ca0
Descr
Who changed what in which revision?
User | Revision | Line number | New 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 |