Tres botones uno incrementa, otro decrece el valor y el tercero resetea el conteo en un valor inicial.

Dependencies:   DebouncedIn mbed

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?

UserRevisionLine numberNew 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 }