BTSmartFan Servo/DC motor controlled using Bluetooth

Dependencies:   Servo mbed-dev

Fork of BTSmartFan_WIZwiki-W7500 by justin kim

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

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 }