Christian Hernandez / Mbed 2 deprecated Tarea_slider_3_led

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 
00002 //Christian Hernandez 
00003 //Jorge Montero
00004 //Fernando Suarez
00005 
00006 
00007 #include "mbed.h"
00008  
00009 
00010 Serial pc(USBTX, USBRX); //Configurar salida serial para PC;
00011 Serial bt(PTE22,PTE23);  //RX-TX  puertos del FRDM para el modem bluetooth;
00012 PwmOut PWM1(PTB3); //Configuro una salida PWM; 
00013 PwmOut ledR(LED1);
00014 PwmOut ledV(LED2);
00015 PwmOut ledA(LED3);
00016 
00017 
00018 
00019 int main()
00020 {
00021     bt.baud(9600);   // asigno baudios y configuro puerto serie de la usart
00022     bt.format(8,Serial::None,1); //8bits - No parity bit - one stop bit
00023     //int nu ;
00024     int v;
00025     
00026     char lectura ; //Variable para leer desde el BT
00027 
00028     
00029     
00030     //int comando=0; //Variable que usaré para saber qué parámetro está siendo enviado;
00031     pc.printf("Slider y led RGB: \n\r   Procesadores 2017\n\r ");
00032     
00033     while (1) 
00034     { //Loop...
00035         
00036        
00037             
00038             //Leer información del bluetooth
00039        if (bt.readable())
00040        {    
00041             
00042             lectura = bt.getc(); //Leo el valor del bluetooth;
00043             
00044             
00045             //pc.printf("caracter %c\n", lectura);
00046             
00047             //aca comienza condicional
00048             //el primer slider entrega valores entre 0-100
00049             if ((lectura>0) && (lectura<=100)){
00050             
00051             v= (int)(lectura);
00052             
00053             
00054             pc.printf("numero %i\n", v);
00055             float p1= float(v);
00056             
00057             float p2=p1/100;
00058             if (p2<0.2){
00059                 p2=0;
00060                 }
00061             ledR=(1-p2);
00062             
00063             pc.printf("val p %.2f\n", p2);
00064             wait(0.2);
00065                 
00066             }//aca termina condicional
00067             
00068             
00069             
00070             //aca comienza segundo condicional
00071             //el segundo slider entrega valores entre 100-200
00072             if ((lectura>100) && (lectura<=200)){
00073             
00074             
00075             //pc.printf("segundo %c\n", lectura);
00076             v= (int)(lectura);
00077             v=v-100;   //para que quede valor entre 0-100
00078             
00079             //pc.printf("numero %i\n", v);
00080             float p1= float(v);  //el entero v se convierte en flotante para dividir
00081             
00082             float p2=p1/100;
00083             if (p2<0.2){   //apaga en valores cercanos a 0
00084                 p2=0;
00085                 }
00086             ledV=(1-p2);  //el pwm se enciende entre 0-1
00087             
00088             pc.printf("val p %.2f\n", p2);
00089             wait(0.2);
00090                 
00091             }//aca termina condicional
00092             
00093             
00094             //aca comienza tercer condicional
00095             if ((lectura>200) && (lectura<=300)){
00096                         //version 100
00097                         //limitacion 8bit  
00098                         if(lectura>255){
00099                         ledA=0;    
00100                         ledR=1;
00101                         ledV=1;
00102                         }
00103                         
00104                         / 
00105                         else {
00106                         
00107                         //pc.printf("tercero %c\n", lectura);
00108                         v= (int)(lectura);
00109                         
00110                         v=v-200;
00111                         
00112                         
00113                         pc.printf("numero %i\n", v);
00114                         float p1= float(v);
00115                         
00116                         float p3=p1/100;  //lleva a rango [0-1]
00117                         if (p3<0.2){      //en valores pequeños apaga
00118                             p3=0;
00119                             }
00120                             
00121                         
00122                         
00123                         
00124                         ledA=(1-p3);
00125                         ledR=1;
00126                         ledV=1;
00127                         
00128                         
00129                         //fin limitacion
00130                         
00131                         //pc.printf("val p %.2f\n", p2);
00132                         //wait(0.2);
00133                         }
00134                         
00135                         
00136                         
00137                         
00138             }//aca termina condicional
00139             
00140             
00141             
00142             
00143             
00144              
00145         }
00146         
00147  
00148         
00149        
00150     }
00151 }
00152  
00153