Tarea 1 Led

Dependencies:   Debounced mbed

Committer:
Jepalacioh
Date:
Wed Mar 26 15:40:12 2014 +0000
Revision:
1:0feb896d3681
Parent:
0:ae45e117d5b4
Tarea 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jepalacioh 0:ae45e117d5b4 1 //Julian Esteban Palacio Hernández
Jepalacioh 1:0feb896d3681 2 //Andres Mauricio Gomez Arevalo
Jepalacioh 0:ae45e117d5b4 3
Jepalacioh 0:ae45e117d5b4 4 #include "mbed.h"
Jepalacioh 0:ae45e117d5b4 5 #include "DebouncedIn.h" // esta librería permite trabajar entradas salidas mas facilmente
Jepalacioh 0:ae45e117d5b4 6
Jepalacioh 0:ae45e117d5b4 7 DigitalOut led1(LED1); //led rojo
Jepalacioh 0:ae45e117d5b4 8 DigitalOut led2(LED2); //Led Verde
Jepalacioh 0:ae45e117d5b4 9 DigitalOut led3(LED3); //Led Azul
Jepalacioh 0:ae45e117d5b4 10
Jepalacioh 0:ae45e117d5b4 11 //Rojo-Verde= Amarillo
Jepalacioh 0:ae45e117d5b4 12 //Rojo-Azul= Violeta
Jepalacioh 0:ae45e117d5b4 13 //Verde-Azul= Cyan
Jepalacioh 0:ae45e117d5b4 14 //Rojo-Verde-Azul=Blanco
Jepalacioh 0:ae45e117d5b4 15
Jepalacioh 0:ae45e117d5b4 16
Jepalacioh 0:ae45e117d5b4 17
Jepalacioh 0:ae45e117d5b4 18 DebouncedIn Pulso(PTA17); //Defino la entrada del pulsador. Nota: se escogió este puerto porque era el más cercano a GND, para así conectar directamente el pulsador al micro
Jepalacioh 0:ae45e117d5b4 19
Jepalacioh 0:ae45e117d5b4 20 //definiendo variables
Jepalacioh 0:ae45e117d5b4 21
Jepalacioh 0:ae45e117d5b4 22 float Cont=0.02; //Contador (inicia con un tiempo de on/off de 20ms)
Jepalacioh 0:ae45e117d5b4 23 float Inc=0.01; //Incrementos de (10 ms)
Jepalacioh 0:ae45e117d5b4 24
Jepalacioh 0:ae45e117d5b4 25
Jepalacioh 0:ae45e117d5b4 26 int main() {
Jepalacioh 0:ae45e117d5b4 27
Jepalacioh 0:ae45e117d5b4 28 while(true){
Jepalacioh 0:ae45e117d5b4 29
Jepalacioh 0:ae45e117d5b4 30 if(Pulso.falling()) // Detección de flanco
Jepalacioh 0:ae45e117d5b4 31 {
Jepalacioh 0:ae45e117d5b4 32 Cont=Cont+Inc; //Aumenta el tiempo de espera, por lo tanto el tiempo de oscilación del led
Jepalacioh 0:ae45e117d5b4 33
Jepalacioh 0:ae45e117d5b4 34 if(Cont>0.5) // limite para el tiempo de oscilación
Jepalacioh 0:ae45e117d5b4 35 {
Jepalacioh 0:ae45e117d5b4 36 Cont=0.02; //vuelve a la condición inicial
Jepalacioh 0:ae45e117d5b4 37 }
Jepalacioh 0:ae45e117d5b4 38 }
Jepalacioh 0:ae45e117d5b4 39
Jepalacioh 0:ae45e117d5b4 40 //Prendido y apagado
Jepalacioh 0:ae45e117d5b4 41 led1=!led1; //Alterna entre prendido y apagado del led1 (Rojo)
Jepalacioh 0:ae45e117d5b4 42 led2=!led2; //Alterna entre prendido y apagado del led2 (Verde)
Jepalacioh 0:ae45e117d5b4 43 led3=!led3; //Alterna entre prendido y apagado del led3 (Azul)
Jepalacioh 0:ae45e117d5b4 44 wait(Cont); //Espera el tiempo del contador
Jepalacioh 0:ae45e117d5b4 45
Jepalacioh 0:ae45e117d5b4 46 }
Jepalacioh 0:ae45e117d5b4 47 }