Modulo Bluetooh controla PWM de un LED

Dependencies:   mbed

Committer:
junmorenodi
Date:
Sun Jul 07 17:37:54 2019 +0000
Revision:
0:9f953d3871c9
Child:
1:ccce94774ade
ModuloBLuetooth

Who changed what in which revision?

UserRevisionLine numberNew contents of line
junmorenodi 0:9f953d3871c9 1 #include "mbed.h"
junmorenodi 0:9f953d3871c9 2 Serial pc(USBTX, USBRX);
junmorenodi 0:9f953d3871c9 3 Serial blue(PG_14,PG_9);
junmorenodi 0:9f953d3871c9 4 DigitalOut led2(LED2);
junmorenodi 0:9f953d3871c9 5 DigitalOut led3(LED3);
junmorenodi 0:9f953d3871c9 6 PwmOut ledPWM(PA_3);
junmorenodi 0:9f953d3871c9 7
junmorenodi 0:9f953d3871c9 8
junmorenodi 0:9f953d3871c9 9
junmorenodi 0:9f953d3871c9 10
junmorenodi 0:9f953d3871c9 11
junmorenodi 0:9f953d3871c9 12 int main() {
junmorenodi 0:9f953d3871c9 13 blue.baud(9600);
junmorenodi 0:9f953d3871c9 14 pc.baud(9600);
junmorenodi 0:9f953d3871c9 15 pc.printf("Start \r\n");
junmorenodi 0:9f953d3871c9 16 float data_sent=0;
junmorenodi 0:9f953d3871c9 17 float unid=0;
junmorenodi 0:9f953d3871c9 18 float dec=0;
junmorenodi 0:9f953d3871c9 19 float cent=0;
junmorenodi 0:9f953d3871c9 20 char ok='0';
junmorenodi 0:9f953d3871c9 21 float new_data=0;
junmorenodi 0:9f953d3871c9 22 float period=0.001;
junmorenodi 0:9f953d3871c9 23 float duty=1.0f;
junmorenodi 0:9f953d3871c9 24
junmorenodi 0:9f953d3871c9 25 /*
junmorenodi 0:9f953d3871c9 26 while(1) {
junmorenodi 0:9f953d3871c9 27
junmorenodi 0:9f953d3871c9 28 if(blue.readable())
junmorenodi 0:9f953d3871c9 29 {
junmorenodi 0:9f953d3871c9 30 data_sent=blue.getc();
junmorenodi 0:9f953d3871c9 31 //pc.putc(blue.getc());
junmorenodi 0:9f953d3871c9 32 pc.putc(data_sent);
junmorenodi 0:9f953d3871c9 33 led1=!led1;
junmorenodi 0:9f953d3871c9 34 }
junmorenodi 0:9f953d3871c9 35 if(pc.readable())
junmorenodi 0:9f953d3871c9 36 { data_sent=pc.getc();
junmorenodi 0:9f953d3871c9 37 //blue.putc(pc.getc());
junmorenodi 0:9f953d3871c9 38 blue.putc(data_sent+1);
junmorenodi 0:9f953d3871c9 39 led2=!led2;
junmorenodi 0:9f953d3871c9 40 }
junmorenodi 0:9f953d3871c9 41
junmorenodi 0:9f953d3871c9 42
junmorenodi 0:9f953d3871c9 43 }*/
junmorenodi 0:9f953d3871c9 44 while(1){
junmorenodi 0:9f953d3871c9 45
junmorenodi 0:9f953d3871c9 46 for (int i=0; i<3;i++)
junmorenodi 0:9f953d3871c9 47 {
junmorenodi 0:9f953d3871c9 48
junmorenodi 0:9f953d3871c9 49 data_sent=blue.getc();
junmorenodi 0:9f953d3871c9 50 data_sent=data_sent-'0';
junmorenodi 0:9f953d3871c9 51
junmorenodi 0:9f953d3871c9 52 if (i==0){
junmorenodi 0:9f953d3871c9 53 cent=data_sent*100;
junmorenodi 0:9f953d3871c9 54 }
junmorenodi 0:9f953d3871c9 55 if (i==1){
junmorenodi 0:9f953d3871c9 56 dec=data_sent*10;
junmorenodi 0:9f953d3871c9 57 }
junmorenodi 0:9f953d3871c9 58 if (i==2){
junmorenodi 0:9f953d3871c9 59 unid=data_sent;
junmorenodi 0:9f953d3871c9 60 }
junmorenodi 0:9f953d3871c9 61
junmorenodi 0:9f953d3871c9 62
junmorenodi 0:9f953d3871c9 63 }
junmorenodi 0:9f953d3871c9 64 wait(1);
junmorenodi 0:9f953d3871c9 65
junmorenodi 0:9f953d3871c9 66 new_data=unid+dec+cent;
junmorenodi 0:9f953d3871c9 67
junmorenodi 0:9f953d3871c9 68 if (new_data==100.0){
junmorenodi 0:9f953d3871c9 69 led2=1;
junmorenodi 0:9f953d3871c9 70 led3=0;
junmorenodi 0:9f953d3871c9 71 }
junmorenodi 0:9f953d3871c9 72 else {
junmorenodi 0:9f953d3871c9 73 led3=1;
junmorenodi 0:9f953d3871c9 74 led2=0;
junmorenodi 0:9f953d3871c9 75 }
junmorenodi 0:9f953d3871c9 76
junmorenodi 0:9f953d3871c9 77 duty=new_data/100;
junmorenodi 0:9f953d3871c9 78
junmorenodi 0:9f953d3871c9 79 ledPWM.period(period);
junmorenodi 0:9f953d3871c9 80 ledPWM.write(duty);
junmorenodi 0:9f953d3871c9 81
junmorenodi 0:9f953d3871c9 82 pc.printf("Valor Data_Sent: %.1f \r\n", new_data);
junmorenodi 0:9f953d3871c9 83 pc.printf("PWM Duty Cycle: %.2f %\r\n", duty*100);
junmorenodi 0:9f953d3871c9 84 }
junmorenodi 0:9f953d3871c9 85
junmorenodi 0:9f953d3871c9 86
junmorenodi 0:9f953d3871c9 87
junmorenodi 0:9f953d3871c9 88
junmorenodi 0:9f953d3871c9 89
junmorenodi 0:9f953d3871c9 90
junmorenodi 0:9f953d3871c9 91 }