Modulo Bluetooh controla PWM de un LED

Dependencies:   mbed

main.cpp

Committer:
junmorenodi
Date:
2019-07-07
Revision:
0:9f953d3871c9
Child:
1:ccce94774ade

File content as of revision 0:9f953d3871c9:

#include "mbed.h"
Serial pc(USBTX, USBRX);
Serial blue(PG_14,PG_9);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
PwmOut ledPWM(PA_3);





int main() {
    blue.baud(9600);
    pc.baud(9600);
    pc.printf("Start \r\n");
    float data_sent=0;
    float unid=0;
    float dec=0;
    float cent=0;
    char ok='0';
    float new_data=0;
    float period=0.001;
    float duty=1.0f;
    
     /*
    while(1) {
       
        if(blue.readable())
        {
            data_sent=blue.getc();
            //pc.putc(blue.getc());
            pc.putc(data_sent);
            led1=!led1;
        }
        if(pc.readable())
        {   data_sent=pc.getc();
            //blue.putc(pc.getc());
            blue.putc(data_sent+1);
            led2=!led2;
        }
    
        
    }*/
    while(1){
    
   for (int i=0; i<3;i++)
   {
     
     data_sent=blue.getc();
    data_sent=data_sent-'0';
    
    if (i==0){
    cent=data_sent*100;
    }
    if (i==1){
    dec=data_sent*10;    
        }
         if (i==2){
    unid=data_sent;    
        }
        
    
    }
    wait(1);
    
    new_data=unid+dec+cent;
    
    if (new_data==100.0){
          led2=1;        
          led3=0;        
        }
    else {
          led3=1;  
          led2=0;        
        }
       
    duty=new_data/100;                    

      ledPWM.period(period);
    ledPWM.write(duty);
    
        pc.printf("Valor Data_Sent: %.1f \r\n", new_data); 
        pc.printf("PWM Duty Cycle: %.2f %\r\n", duty*100);
            }
            
  
  
   
    

}