BTSmartFan Servo/DC motor controlled using Bluetooth
Fork of BTSmartFan_WIZwiki-W7500 by
main.cpp
00001 /** 00002 ****************************************************************************** 00003 * @project Smart BT Fan 00004 * @author Justin Kim 00005 * @version V1.0.0 00006 * @date 29-JUN-2015 00007 * @brief Main program body 00008 ******************************************************************************* 00009 **/ 00010 00011 /* Includes ------------------------------------------------------------------*/ 00012 #include "mbed.h" 00013 #include "Servo.h" 00014 00015 /* Private typedef -----------------------------------------------------------*/ 00016 /* Private define ------------------------------------------------------------*/ 00017 /* Private variables ---------------------------------------------------------*/ 00018 00019 #if defined(TARGET_WIZwiki_W7500) 00020 Serial pc(USBTX, USBRX); 00021 Serial bt(PA_14, PA_13); 00022 Servo myservo(D14); 00023 PwmOut Motor(D3); 00024 DigitalOut direction(D12); 00025 #endif 00026 00027 #if defined(TARGET_WIZwiki_W7500ECO) 00028 Serial pc(USBTX, USBRX); 00029 Serial bt(PA_13, PA_14); //echo 00030 Servo myservo(P10); //echo 00031 PwmOut Motor(P21); //echo 00032 DigitalOut direction(P29); //echo 00033 #endif 00034 00035 00036 00037 /* Private function prototypes -----------------------------------------------*/ 00038 00039 /* Private functions ---------------------------------------------------------*/ 00040 /** 00041 * @brief Main Function 00042 * @param None 00043 * @retval None 00044 */ 00045 int main(void) 00046 { 00047 char ch; 00048 pc.baud(115200); 00049 //bt.baud(115200); 00050 bt.baud(9600); 00051 pc.printf("Hello World!\n\r"); 00052 bt.printf("Hello World!\r\n"); 00053 00054 direction.write(1); 00055 Motor.period_ms(1); 00056 00057 while(1) 00058 { 00059 if(bt.readable()) 00060 { 00061 ch=bt.getc(); 00062 pc.printf("%c",ch); 00063 bt.printf("%c",ch); 00064 00065 if(ch == '*') 00066 { 00067 myservo = 0.5; 00068 } 00069 else if(ch == '+') 00070 { 00071 myservo = myservo + 0.1; 00072 } 00073 else if(ch == '-') 00074 { 00075 myservo = myservo - 0.1; 00076 } 00077 else if(ch == '@') 00078 { 00079 Motor.write(0.8); 00080 } 00081 else if(ch == '!') 00082 { 00083 Motor.write(0); 00084 } 00085 } 00086 00087 else if(pc.readable()) 00088 { 00089 ch=pc.getc(); 00090 bt.printf("%c",ch); 00091 pc.printf("%c",ch); 00092 00093 if(ch == '*') 00094 { 00095 myservo = 0.5; 00096 } 00097 else if(ch == '+') 00098 { 00099 myservo = myservo + 0.1; 00100 } 00101 else if(ch == '-') 00102 { 00103 myservo = myservo - 0.1; 00104 } 00105 else if(ch == '@') 00106 { 00107 Motor.write(0.8); 00108 } 00109 else if(ch == '!') 00110 { 00111 Motor.write(0); 00112 } 00113 } 00114 } 00115 }
Generated on Mon Jul 25 2022 22:47:07 by 1.7.2