Tres botones uno incrementa, otro decrece el valor y el tercero resetea el conteo en un valor inicial.
Dependencies: DebouncedIn mbed
main.cpp@3:56ef196dd001, 2014-04-27 (annotated)
- Committer:
- juanmglopez
- Date:
- Sun Apr 27 00:20:08 2014 +0000
- Revision:
- 3:56ef196dd001
- Parent:
- 2:a6945fdfc6dd
actualizaci?n de sonidos
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
juanmglopez | 0:4ff0fd50b2d0 | 1 | #include "mbed.h" |
juanmglopez | 0:4ff0fd50b2d0 | 2 | #include "DebouncedIn.h" |
juanmglopez | 0:4ff0fd50b2d0 | 3 | |
juanmglopez | 0:4ff0fd50b2d0 | 4 | // Johana Cano Vélez |
juanmglopez | 0:4ff0fd50b2d0 | 5 | // Juan Manuel Gómez |
juanmglopez | 0:4ff0fd50b2d0 | 6 | |
juanmglopez | 0:4ff0fd50b2d0 | 7 | // programa que implementa tres botones externos que incrementan o decrementan el retarde en el brillo del LED y un tercer botón que lo lleva a un valor inicial de 1ms |
juanmglopez | 0:4ff0fd50b2d0 | 8 | |
juanmglopez | 0:4ff0fd50b2d0 | 9 | DebouncedIn mybutton1(PTC12); |
juanmglopez | 0:4ff0fd50b2d0 | 10 | DebouncedIn mybutton2(PTC13); |
juanmglopez | 0:4ff0fd50b2d0 | 11 | DebouncedIn mybutton3(PTC16); |
juanmglopez | 0:4ff0fd50b2d0 | 12 | DigitalOut myled(LED1); // En este caso LED1 se refiere al LED AZUL. |
juanmglopez | 3:56ef196dd001 | 13 | PwmOut Pwm(PTA5); |
juanmglopez | 0:4ff0fd50b2d0 | 14 | |
juanmglopez | 0:4ff0fd50b2d0 | 15 | float inc = 0.001; // Se establece un retardo inicial de 1 ms. |
juanmglopez | 3:56ef196dd001 | 16 | float p1 = 0.001; |
juanmglopez | 3:56ef196dd001 | 17 | |
juanmglopez | 3:56ef196dd001 | 18 | int PWMmodule(float p1) |
juanmglopez | 3:56ef196dd001 | 19 | { |
juanmglopez | 3:56ef196dd001 | 20 | Pwm.period(p1); |
juanmglopez | 3:56ef196dd001 | 21 | Pwm.write(0.1); |
juanmglopez | 3:56ef196dd001 | 22 | wait(0.1); |
juanmglopez | 3:56ef196dd001 | 23 | Pwm.write(1); |
juanmglopez | 3:56ef196dd001 | 24 | wait(0.1); |
juanmglopez | 3:56ef196dd001 | 25 | Pwm.write(0.5); |
juanmglopez | 3:56ef196dd001 | 26 | wait(0.1); |
juanmglopez | 3:56ef196dd001 | 27 | Pwm.write(2); |
juanmglopez | 3:56ef196dd001 | 28 | wait(0.1); |
juanmglopez | 3:56ef196dd001 | 29 | Pwm.write(0.01); |
juanmglopez | 3:56ef196dd001 | 30 | wait(0.1); |
juanmglopez | 3:56ef196dd001 | 31 | Pwm.write(0.001); |
juanmglopez | 3:56ef196dd001 | 32 | wait(0.1); |
juanmglopez | 3:56ef196dd001 | 33 | Pwm.write(0); |
juanmglopez | 3:56ef196dd001 | 34 | return 0; |
juanmglopez | 3:56ef196dd001 | 35 | } |
juanmglopez | 3:56ef196dd001 | 36 | |
juanmglopez | 3:56ef196dd001 | 37 | |
juanmglopez | 0:4ff0fd50b2d0 | 38 | |
juanmglopez | 0:4ff0fd50b2d0 | 39 | int main() // Función que define la sucesión entre los diferentes estados del LED |
juanmglopez | 0:4ff0fd50b2d0 | 40 | { |
juanmglopez | 0:4ff0fd50b2d0 | 41 | while (1) { |
juanmglopez | 0:4ff0fd50b2d0 | 42 | if (mybutton1.falling()) |
juanmglopez | 0:4ff0fd50b2d0 | 43 | { |
juanmglopez | 0:4ff0fd50b2d0 | 44 | inc += 0.01; |
juanmglopez | 3:56ef196dd001 | 45 | PWMmodule(p1); |
juanmglopez | 0:4ff0fd50b2d0 | 46 | } |
juanmglopez | 3:56ef196dd001 | 47 | if (mybutton2.falling() && inc != 0.001) //Revisar fallo al hundir este botón de primero. |
juanmglopez | 0:4ff0fd50b2d0 | 48 | { |
juanmglopez | 3:56ef196dd001 | 49 | inc -= 0.01; |
juanmglopez | 3:56ef196dd001 | 50 | PWMmodule(p1); |
juanmglopez | 0:4ff0fd50b2d0 | 51 | } |
juanmglopez | 2:a6945fdfc6dd | 52 | if (mybutton3.falling() && inc != 0.001) |
juanmglopez | 0:4ff0fd50b2d0 | 53 | { |
juanmglopez | 0:4ff0fd50b2d0 | 54 | inc = 0.001; |
juanmglopez | 3:56ef196dd001 | 55 | PWMmodule(p1); |
juanmglopez | 3:56ef196dd001 | 56 | } |
juanmglopez | 3:56ef196dd001 | 57 | if (mybutton2.falling() && inc == 0.001) |
juanmglopez | 3:56ef196dd001 | 58 | { |
juanmglopez | 3:56ef196dd001 | 59 | //inc = inc; |
juanmglopez | 3:56ef196dd001 | 60 | } |
juanmglopez | 3:56ef196dd001 | 61 | if (mybutton3.falling() && inc == 0.001) |
juanmglopez | 3:56ef196dd001 | 62 | { |
juanmglopez | 3:56ef196dd001 | 63 | //inc = inc; |
juanmglopez | 0:4ff0fd50b2d0 | 64 | } |
juanmglopez | 0:4ff0fd50b2d0 | 65 | myled = !myled; |
juanmglopez | 0:4ff0fd50b2d0 | 66 | wait(inc); |
juanmglopez | 0:4ff0fd50b2d0 | 67 | } |
juanmglopez | 0:4ff0fd50b2d0 | 68 | } |