Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:e9b805a13e13, 2011-02-11 (annotated)
- Committer:
- claudius_60
- Date:
- Fri Feb 11 20:56:22 2011 +0000
- Revision:
- 0:e9b805a13e13
V0_0
Who changed what in which revision?
User | Revision | Line number | New 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 | } |