justin kim / Mbed 2 deprecated FacingSouthHouseFinder_WIZwiki-W7500

Dependencies:   HMC5883L mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /**
00002  ******************************************************************************
00003  * @project  mbed project 
00004  * @author  Justin Kim
00005  * @version V1.0.0
00006  * @date    00-AUG-2015
00007  * @brief   Main program body
00008 *******************************************************************************
00009 **/
00010 /* Includes ------------------------------------------------------------------*/
00011 #include "mbed.h"
00012 #include "HMC5883L.h"
00013 
00014 /* Private typedef -----------------------------------------------------------*/
00015 /* Private define ------------------------------------------------------------*/
00016 /* Private variables ---------------------------------------------------------*/
00017 DigitalOut  myled_R1(PC_1);
00018 DigitalOut  myled_R2(PC_0);
00019 DigitalOut  myled_R3(PA_2);
00020 DigitalOut  myled_R4(PA_1);
00021 DigitalOut  myled_G1(PA_0);
00022 DigitalOut  myled_G2(PC_6);
00023 DigitalOut  myled_G3(PC_7);
00024 DigitalOut  myled_G4(PC_4);
00025 DigitalOut  myled_Y1(PA_5);
00026 DigitalOut  myled_Y2(PA_8);
00027 DigitalOut  myled_Y3(PA_7);
00028 DigitalOut  myled_Y4(PA_6);
00029 
00030 Serial pc(USBTX,USBRX);    // default baud rate: 9600
00031 HMC5883L hmc5883l;   
00032  
00033 double Heading;
00034 float DataBuf[3] ={0};
00035 
00036 /* Private function prototypes -----------------------------------------------*/
00037 /* Private functions ---------------------------------------------------------*/
00038 /**
00039    * @brief     Main Function
00040    * @param  None
00041    * @retval    None
00042    */
00043 int main(void)
00044 {
00045     hmc5883l.init();
00046     
00047     while(1) 
00048     {        
00049         Heading = hmc5883l.getHeading();
00050         
00051         pc.printf(" _______________\r\n");
00052         pc.printf("| Heading: %.1f   \r\n", Heading);
00053         pc.printf("|_______________\r\n\r\n");
00054         
00055         hmc5883l.readMagData(DataBuf);
00056         
00057         pc.printf(" _______________\r\n");
00058         pc.printf("| MagXout: %.1f   \r\n", DataBuf[0]);
00059         pc.printf("| MagYout: %.1f   \r\n", DataBuf[1]);
00060         pc.printf("| MagZout: %.1f   \r\n", DataBuf[2]);
00061         pc.printf("|_______________\r\n\r\n");
00062         
00063         if(225>Heading && Heading>135)
00064         {
00065             myled_R1 = 0;
00066             myled_R2 = 0;
00067             myled_R3 = 0;
00068             myled_R4 = 0;
00069             myled_G1 = 1;
00070             myled_G2 = 1;
00071             myled_G3 = 1;
00072             myled_G4 = 1;
00073             myled_Y1 = 0;
00074             myled_Y2 = 0;
00075             myled_Y3 = 0;
00076             myled_Y4 = 0;        
00077         }
00078         
00079         else if(135>Heading && Heading>0)
00080         {
00081             myled_R1 = 1;
00082             myled_R2 = 1;
00083             myled_R3 = 1;
00084             myled_R4 = 1;
00085             myled_G1 = 0;
00086             myled_G2 = 0;
00087             myled_G3 = 0;
00088             myled_G4 = 0;
00089             myled_Y1 = 0;
00090             myled_Y2 = 0;
00091             myled_Y3 = 0;
00092             myled_Y4 = 0;     
00093         }
00094         else if(360>Heading && Heading>225)
00095         {
00096             myled_R1 = 0;
00097             myled_R2 = 0;
00098             myled_R3 = 0;
00099             myled_R4 = 0;
00100             myled_G1 = 0;
00101             myled_G2 = 0;
00102             myled_G3 = 0;
00103             myled_G4 = 0;
00104             myled_Y1 = 1;
00105             myled_Y2 = 1;
00106             myled_Y3 = 1;
00107             myled_Y4 = 1;     
00108         }
00109     }
00110 }
00111