Juan Moreno
/
HC05Module
Modulo Bluetooh controla PWM de un LED
main.cpp@0:9f953d3871c9, 2019-07-07 (annotated)
- Committer:
- junmorenodi
- Date:
- Sun Jul 07 17:37:54 2019 +0000
- Revision:
- 0:9f953d3871c9
- Child:
- 1:ccce94774ade
ModuloBLuetooth
Who changed what in which revision?
User | Revision | Line number | New 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 | } |