Fei Wu
/
ECE4180-IoT_Bluetooth_Fan_Controller
Bluetooth
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 #include "Motor.h" 00003 RawSerial pc(USBTX, USBRX); 00004 RawSerial dev(p13, p14); 00005 DigitalOut led1(LED1); 00006 DigitalOut led4(LED4); 00007 AnalogIn temp(p15); 00008 00009 Motor m(p23, p6, p5); 00010 00011 float _temp; 00012 float _speed = 0; 00013 void dev_recv() 00014 { 00015 led1 = !led1; 00016 while(dev.readable()) { 00017 char mode = dev.getc(); 00018 if (mode == 'T') { 00019 _temp = temp; 00020 _temp = 38.0-27.5*_temp; 00021 dev.printf("%f\n",_temp); 00022 00023 } 00024 if (mode=='V') { 00025 char type = dev.getc(); 00026 if(type=='?') { 00027 dev.printf("%f\n",_speed); 00028 } 00029 if(type=='+') { 00030 if (_speed < 1.0) { 00031 _speed= _speed + 0.1; 00032 } 00033 m.speed(_speed); 00034 dev.printf("New Speed %f\n",_speed); 00035 } 00036 if(type=='-') { 00037 if (_speed >= 0.1) _speed-= 0.1; 00038 m.speed(_speed); 00039 dev.printf("New Speed %f\n",_speed); 00040 } 00041 } 00042 00043 } 00044 } 00045 00046 void pc_recv() 00047 { 00048 led4 = !led4; 00049 while(pc.readable()) { 00050 dev.putc(pc.getc()); 00051 } 00052 } 00053 00054 int main() 00055 { 00056 pc.baud(9600); 00057 dev.baud(9600); 00058 00059 pc.attach(&pc_recv, Serial::RxIrq); 00060 dev.attach(&dev_recv, Serial::RxIrq); 00061 00062 while(1) { 00063 sleep(); 00064 } 00065 }
Generated on Sun Aug 21 2022 15:27:05 by 1.7.2