Claude Chaussard / Mbed 2 deprecated chenillard_V1

Dependencies:   mbed

Committer:
claudius_60
Date:
Fri Feb 11 20:56:22 2011 +0000
Revision:
0:e9b805a13e13
V0_0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
claudius_60 0:e9b805a13e13 1 // divagation 0 autour des leds
claudius_60 0:e9b805a13e13 2
claudius_60 0:e9b805a13e13 3 /*
claudius_60 0:e9b805a13e13 4 ce programme est un chenillard mais avec variation progressive
claudius_60 0:e9b805a13e13 5 de l'intensite des leds
claudius_60 0:e9b805a13e13 6 */
claudius_60 0:e9b805a13e13 7
claudius_60 0:e9b805a13e13 8
claudius_60 0:e9b805a13e13 9 #include "mbed.h"
claudius_60 0:e9b805a13e13 10
claudius_60 0:e9b805a13e13 11 PwmOut led1 (LED1);
claudius_60 0:e9b805a13e13 12 PwmOut led2 (LED2);
claudius_60 0:e9b805a13e13 13 PwmOut led3 (LED3);
claudius_60 0:e9b805a13e13 14 PwmOut led4 (LED4);
claudius_60 0:e9b805a13e13 15
claudius_60 0:e9b805a13e13 16 Ticker step;
claudius_60 0:e9b805a13e13 17
claudius_60 0:e9b805a13e13 18 float delay_time = 0.01;
claudius_60 0:e9b805a13e13 19
claudius_60 0:e9b805a13e13 20 float increment = 0.01;
claudius_60 0:e9b805a13e13 21 float seuil = 0.1;
claudius_60 0:e9b805a13e13 22 float Max = .3;
claudius_60 0:e9b805a13e13 23
claudius_60 0:e9b805a13e13 24 // utiliser pour d�ler le d�rt de l'allumage des leds
claudius_60 0:e9b805a13e13 25 bool start_led_2 = false;
claudius_60 0:e9b805a13e13 26 bool start_led_3 = false;
claudius_60 0:e9b805a13e13 27 bool start_led_4 = false;
claudius_60 0:e9b805a13e13 28
claudius_60 0:e9b805a13e13 29 // sens de variation de la luminosite --> float sens_led1 = delay_time;
claudius_60 0:e9b805a13e13 30 float sens_led1 = delay_time;
claudius_60 0:e9b805a13e13 31 float sens_led2 = delay_time;
claudius_60 0:e9b805a13e13 32 float sens_led3 = delay_time;
claudius_60 0:e9b805a13e13 33 float sens_led4 = delay_time;
claudius_60 0:e9b805a13e13 34
claudius_60 0:e9b805a13e13 35 void gestion_LED()
claudius_60 0:e9b805a13e13 36 {
claudius_60 0:e9b805a13e13 37
claudius_60 0:e9b805a13e13 38 if (led1 > seuil) start_led_2 = true;
claudius_60 0:e9b805a13e13 39 if (led2 > seuil) start_led_3 = true;
claudius_60 0:e9b805a13e13 40 if (led3 > seuil) start_led_4 = true;
claudius_60 0:e9b805a13e13 41
claudius_60 0:e9b805a13e13 42 led1 = led1 + sens_led1;
claudius_60 0:e9b805a13e13 43 if (led1 <= 0) sens_led1 = delay_time;
claudius_60 0:e9b805a13e13 44 if (led1 >= Max) sens_led1 = -delay_time;
claudius_60 0:e9b805a13e13 45
claudius_60 0:e9b805a13e13 46 if (start_led_2)
claudius_60 0:e9b805a13e13 47 {
claudius_60 0:e9b805a13e13 48 led2 = led2 + sens_led2;
claudius_60 0:e9b805a13e13 49 if (led2 <= 0) sens_led2 = delay_time;
claudius_60 0:e9b805a13e13 50 if (led2 >= Max) sens_led2 = -delay_time;
claudius_60 0:e9b805a13e13 51 }
claudius_60 0:e9b805a13e13 52
claudius_60 0:e9b805a13e13 53 if (start_led_3)
claudius_60 0:e9b805a13e13 54 {
claudius_60 0:e9b805a13e13 55 led3 = led3 + sens_led3;
claudius_60 0:e9b805a13e13 56 if (led3 <= 0) sens_led3 = delay_time;
claudius_60 0:e9b805a13e13 57 if (led3 >= Max) sens_led3 = -delay_time;
claudius_60 0:e9b805a13e13 58 }
claudius_60 0:e9b805a13e13 59
claudius_60 0:e9b805a13e13 60 if (start_led_4)
claudius_60 0:e9b805a13e13 61 {
claudius_60 0:e9b805a13e13 62 led4 = led4 + sens_led4;
claudius_60 0:e9b805a13e13 63 if (led4 <= 0) sens_led4 = delay_time;
claudius_60 0:e9b805a13e13 64 if (led4 >= Max) sens_led4 = -delay_time;
claudius_60 0:e9b805a13e13 65 }
claudius_60 0:e9b805a13e13 66 }
claudius_60 0:e9b805a13e13 67
claudius_60 0:e9b805a13e13 68 int main()
claudius_60 0:e9b805a13e13 69 {
claudius_60 0:e9b805a13e13 70 // initialisation
claudius_60 0:e9b805a13e13 71 led1 = 0;
claudius_60 0:e9b805a13e13 72 led2 = 0;
claudius_60 0:e9b805a13e13 73 led3 = 0;
claudius_60 0:e9b805a13e13 74 led4 = 0;
claudius_60 0:e9b805a13e13 75
claudius_60 0:e9b805a13e13 76 step.attach(&gestion_LED, delay_time);
claudius_60 0:e9b805a13e13 77
claudius_60 0:e9b805a13e13 78 while ( 1 )
claudius_60 0:e9b805a13e13 79 {
claudius_60 0:e9b805a13e13 80 }
claudius_60 0:e9b805a13e13 81 }