Cambia intensidad de color del led, recibe valores de los sliders aplicación de app inventor

Dependencies:   mbed

Committer:
PROCESADORES_2017_2
Date:
Tue Nov 28 19:52:24 2017 +0000
Revision:
0:9575c67ccb2d
Cambia intensidad de color del led, recibe valores de los sliders aplicaci?n de app inventor.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
PROCESADORES_2017_2 0:9575c67ccb2d 1
PROCESADORES_2017_2 0:9575c67ccb2d 2 #include "mbed.h"
PROCESADORES_2017_2 0:9575c67ccb2d 3
PROCESADORES_2017_2 0:9575c67ccb2d 4
PROCESADORES_2017_2 0:9575c67ccb2d 5 Serial pc(USBTX, USBRX); //Configurar salida serial para PC;
PROCESADORES_2017_2 0:9575c67ccb2d 6 Serial BT(PTE22,PTE23); //RX-TX puertos del FRDM para el modem bluetooth;
PROCESADORES_2017_2 0:9575c67ccb2d 7 PwmOut PWM1(PTB1); //Configuro una salida PWM;
PROCESADORES_2017_2 0:9575c67ccb2d 8 PwmOut ledR(LED1);
PROCESADORES_2017_2 0:9575c67ccb2d 9 PwmOut ledV(LED2);
PROCESADORES_2017_2 0:9575c67ccb2d 10 PwmOut ledA(LED3);
PROCESADORES_2017_2 0:9575c67ccb2d 11
PROCESADORES_2017_2 0:9575c67ccb2d 12
PROCESADORES_2017_2 0:9575c67ccb2d 13
PROCESADORES_2017_2 0:9575c67ccb2d 14 int main()
PROCESADORES_2017_2 0:9575c67ccb2d 15 {
PROCESADORES_2017_2 0:9575c67ccb2d 16 ledR=ledV=ledA=1;
PROCESADORES_2017_2 0:9575c67ccb2d 17 BT.baud(9600); // asigno baudios y configuro puerto serie de la usart
PROCESADORES_2017_2 0:9575c67ccb2d 18 BT.format(8,Serial::None,1); //8bits - No parity bit - one stop bit
PROCESADORES_2017_2 0:9575c67ccb2d 19 //int nu ;
PROCESADORES_2017_2 0:9575c67ccb2d 20 int val;
PROCESADORES_2017_2 0:9575c67ccb2d 21
PROCESADORES_2017_2 0:9575c67ccb2d 22 char c ; //Variable para leer desde el BT
PROCESADORES_2017_2 0:9575c67ccb2d 23
PROCESADORES_2017_2 0:9575c67ccb2d 24
PROCESADORES_2017_2 0:9575c67ccb2d 25
PROCESADORES_2017_2 0:9575c67ccb2d 26 //int comando=0; //Variable que usaré para saber qué parámetro está siendo enviado;
PROCESADORES_2017_2 0:9575c67ccb2d 27 pc.printf("Slider y led RGB: \n\r Procesadores 2017\n\r ");
PROCESADORES_2017_2 0:9575c67ccb2d 28
PROCESADORES_2017_2 0:9575c67ccb2d 29 while (1)
PROCESADORES_2017_2 0:9575c67ccb2d 30 { //Loop...
PROCESADORES_2017_2 0:9575c67ccb2d 31
PROCESADORES_2017_2 0:9575c67ccb2d 32
PROCESADORES_2017_2 0:9575c67ccb2d 33
PROCESADORES_2017_2 0:9575c67ccb2d 34 //Leer información del bluetooth
PROCESADORES_2017_2 0:9575c67ccb2d 35 if (BT.readable())
PROCESADORES_2017_2 0:9575c67ccb2d 36 {
PROCESADORES_2017_2 0:9575c67ccb2d 37
PROCESADORES_2017_2 0:9575c67ccb2d 38 c = BT.getc(); //Leo el valor del bluetooth;
PROCESADORES_2017_2 0:9575c67ccb2d 39 //LED ROJO---------------------------------------------------------
PROCESADORES_2017_2 0:9575c67ccb2d 40
PROCESADORES_2017_2 0:9575c67ccb2d 41 //el primer slider entrega valores entre 0-100
PROCESADORES_2017_2 0:9575c67ccb2d 42
PROCESADORES_2017_2 0:9575c67ccb2d 43 if ((c>0) && (c<=100)){
PROCESADORES_2017_2 0:9575c67ccb2d 44
PROCESADORES_2017_2 0:9575c67ccb2d 45 val= (int)(c);
PROCESADORES_2017_2 0:9575c67ccb2d 46
PROCESADORES_2017_2 0:9575c67ccb2d 47 float p1= float(val);
PROCESADORES_2017_2 0:9575c67ccb2d 48 float p2=p1/100;
PROCESADORES_2017_2 0:9575c67ccb2d 49 if (p2<0.2){
PROCESADORES_2017_2 0:9575c67ccb2d 50 p2=0;
PROCESADORES_2017_2 0:9575c67ccb2d 51 }
PROCESADORES_2017_2 0:9575c67ccb2d 52 ledR=(1-p2);
PROCESADORES_2017_2 0:9575c67ccb2d 53
PROCESADORES_2017_2 0:9575c67ccb2d 54 //pc.printf("val p %.2f\n", p2);
PROCESADORES_2017_2 0:9575c67ccb2d 55 //wait(0.2);
PROCESADORES_2017_2 0:9575c67ccb2d 56
PROCESADORES_2017_2 0:9575c67ccb2d 57 }
PROCESADORES_2017_2 0:9575c67ccb2d 58
PROCESADORES_2017_2 0:9575c67ccb2d 59 //LED VERDE
PROCESADORES_2017_2 0:9575c67ccb2d 60
PROCESADORES_2017_2 0:9575c67ccb2d 61 //el segundo slider entrega valores entre 100-200
PROCESADORES_2017_2 0:9575c67ccb2d 62 if ((c>100) && (c<=200)){
PROCESADORES_2017_2 0:9575c67ccb2d 63
PROCESADORES_2017_2 0:9575c67ccb2d 64 val= (int)(c);
PROCESADORES_2017_2 0:9575c67ccb2d 65 val=val-100; //para que quede valor entre 0-100
PROCESADORES_2017_2 0:9575c67ccb2d 66
PROCESADORES_2017_2 0:9575c67ccb2d 67 float p1= float(val); //el entero v se convierte en flotante para dividir
PROCESADORES_2017_2 0:9575c67ccb2d 68
PROCESADORES_2017_2 0:9575c67ccb2d 69 float p2=p1/100;
PROCESADORES_2017_2 0:9575c67ccb2d 70 if (p2<0.2){ //apaga en valores cercanos a 0
PROCESADORES_2017_2 0:9575c67ccb2d 71 p2=0;
PROCESADORES_2017_2 0:9575c67ccb2d 72 }
PROCESADORES_2017_2 0:9575c67ccb2d 73 ledV=(1-p2); //el pwm se enciende entre 0-1
PROCESADORES_2017_2 0:9575c67ccb2d 74
PROCESADORES_2017_2 0:9575c67ccb2d 75 //pc.printf("val p %.2f\n", p2);
PROCESADORES_2017_2 0:9575c67ccb2d 76 //wait(0.2);
PROCESADORES_2017_2 0:9575c67ccb2d 77
PROCESADORES_2017_2 0:9575c67ccb2d 78 }
PROCESADORES_2017_2 0:9575c67ccb2d 79
PROCESADORES_2017_2 0:9575c67ccb2d 80 //LED AZUL
PROCESADORES_2017_2 0:9575c67ccb2d 81 if ((c>200) && (c<=300)){
PROCESADORES_2017_2 0:9575c67ccb2d 82
PROCESADORES_2017_2 0:9575c67ccb2d 83 if(c>255){
PROCESADORES_2017_2 0:9575c67ccb2d 84 ledA=0;
PROCESADORES_2017_2 0:9575c67ccb2d 85 ledR=1;
PROCESADORES_2017_2 0:9575c67ccb2d 86 ledV=1;
PROCESADORES_2017_2 0:9575c67ccb2d 87 }
PROCESADORES_2017_2 0:9575c67ccb2d 88
PROCESADORES_2017_2 0:9575c67ccb2d 89 else {
PROCESADORES_2017_2 0:9575c67ccb2d 90
PROCESADORES_2017_2 0:9575c67ccb2d 91 val= (int)(c);
PROCESADORES_2017_2 0:9575c67ccb2d 92 val=val-200;
PROCESADORES_2017_2 0:9575c67ccb2d 93
PROCESADORES_2017_2 0:9575c67ccb2d 94 //pc.printf("numero %i\n", v);
PROCESADORES_2017_2 0:9575c67ccb2d 95 float p1= float(val);
PROCESADORES_2017_2 0:9575c67ccb2d 96
PROCESADORES_2017_2 0:9575c67ccb2d 97 float p3=p1/100; //lleva a rango [0-1]
PROCESADORES_2017_2 0:9575c67ccb2d 98 if (p3<0.2){ //en valores pequeños apaga
PROCESADORES_2017_2 0:9575c67ccb2d 99 p3=0;
PROCESADORES_2017_2 0:9575c67ccb2d 100 }
PROCESADORES_2017_2 0:9575c67ccb2d 101 ledA=(1-p3);
PROCESADORES_2017_2 0:9575c67ccb2d 102 ledR=1;
PROCESADORES_2017_2 0:9575c67ccb2d 103 ledV=1;
PROCESADORES_2017_2 0:9575c67ccb2d 104 //pc.printf("val p %.2f\n", p2);
PROCESADORES_2017_2 0:9575c67ccb2d 105 //wait(0.2);
PROCESADORES_2017_2 0:9575c67ccb2d 106 }
PROCESADORES_2017_2 0:9575c67ccb2d 107 }
PROCESADORES_2017_2 0:9575c67ccb2d 108 }
PROCESADORES_2017_2 0:9575c67ccb2d 109 }
PROCESADORES_2017_2 0:9575c67ccb2d 110 }
PROCESADORES_2017_2 0:9575c67ccb2d 111
PROCESADORES_2017_2 0:9575c67ccb2d 112
PROCESADORES_2017_2 0:9575c67ccb2d 113