projet en 1 main.cpp

Dependencies:   DHT11 HMC5883L

main.cpp

Committer:
wallsow
Date:
2017-01-27
Revision:
2:7e718a1be318
Parent:
1:352fcb35e812
Child:
3:d2c57ab99c8e

File content as of revision 2:7e718a1be318:

#include "mbed.h"
#include "DHT11.h"
#include "HMC5883L.h"
#include "gps.h"

 #define PRINT_CALCULATED
 #define PRINT_SPEED 500 // 500 ms between prints


//-------Pin Connection----///
DHT11 sensor(D4);//D4=jeremy
HMC5883L bouss(PB_9, PB_8); // HMC5883L(PinName sda, PinName scl) PB_8 + PB_9
Serial rfid(PA_9, PA_10); // pa9=d8 pa10=d2
Serial serial(PA_0,PA_1);  /*PA_0=A0=TX PA_1=A0=RX*/
AnalogIn inputx(PC_0); // input A5 for X axis
AnalogIn inputy(PC_1); // input A4 for Y axis
AnalogIn inputz(PB_1); // input A3 for Z axis

float x=0,y=0,z=0; // variables for x,y,z axes

int H, T, s;
float Boussole;
int Head;

int DHT_Start_Temper()
{
    s = sensor.readData(); 
    T=sensor.readTemperature();/*
        if (s != DHT11::OK) {
            serial.printf("Error!\r\n");
        }
        else {
           serial.printf("AT$SS=%x%x\r\n", T,H);
        }*/
        return T;
}

int DHT_Start_Humid()
{
    s = sensor.readData(); 
    H=sensor.readHumidity();
    return H;
}


int Boussole_Start()
{
    bouss.init();
    Boussole= bouss.getHeadingXYDeg(); 
    Head=((int)Boussole)/2;
    serial.printf("\r\n-----Boussole-----\r\n%2f\r\n-----Boussole-----\r\n",Boussole);
   return Head;
}

int Accelerometre_Start_x()
{
    x = inputx;
    serial.printf("\r\n-----Accelerometre-----\r\nX:%f,Y: %f,Z: %f \r\n-----Accelerometre-----\r\n",x,y,z);
    return x;
}

int Accelerometre_Start_y()
{
    y = inputy;
    serial.printf("\r\n-----Accelerometre-----\r\nX:%f,Y: %f,Z: %f \r\n-----Accelerometre-----\r\n",x,y,z);
    return y;
}

int Accelerometre_Start_z()
{
    z = inputz;
    serial.printf("\r\n-----Accelerometre-----\r\nX:%f,Y: %f,Z: %f \r\n-----Accelerometre-----\r\n",x,y,z);
    return z;
}




int RFID_Start(int t0,int t1,int t2,int t3,int t4)
{
     int i;
     int tag[15];     
     char buff[55];

     for(i=0;i<5;i++)
             tag[i]=rfid.getc();

     sprintf(buff,"%d%d%d%d%d",tag[0],tag[1],tag[2],tag[3],tag[4]);
     serial.printf("\r\n-----Tag RFID-----\r\n%s \r\n-----Tag RFID-----\r\n",buff);
     t0=tag[0];
     t1=tag[1];
     t2=tag[2];
     t3=tag[3];
     t4=tag[4];
}
//---------------

int main()
{
    //serial config
    int t0,t1,t2,t3,t4;
    serial.baud(9600);
    serial.format(8,SerialBase::None,1);
    
    serial.printf("\r\n Test program\r\n****************\r\n");
    
    char *p1lat, *p2lat, *p3lat;
    int intp1lat, intp2lat, intp3lat;
    char *p1long, *p2long, *p3long;
    int intp1long, intp2long, intp3long;


    while(1){
        T=DHT_Start_Temper();
        H=DHT_Start_Humid();
        Head=Boussole_Start();
        /*x=Accelerometre_Start_x();
        y=Accelerometre_Start_y();
        z=Accelerometre_Start_z();*/
        getGPSstring(1);
        RFID_Start(t0,t1,t2,t3,t4);
        //---printf actoboard
        serial.printf("\r\n Test Actooard\r\n****************\r\n");
        serial.printf("%s\r\n",lati);
        serial.printf("%s\r\n",longi);
        
        
    //traitement Latitude
        p1lat = strtok(lati,"'");
        p2lat= strtok(NULL, "'");//the second
        p3lat= strtok(NULL, ".");//the third
        serial.printf("\r%s\r\n",p1lat);
        serial.printf("\r%s\r\n",p2lat);
        serial.printf("\r%s\r\n",p3lat);       //serial.printf("%s\r\n",longi);
    //conversion latitude
        intp1lat=atoi(p1lat);
        intp2lat=atoi(p2lat);
        intp3lat=atoi(p3lat);
        
    //traitement longitude
        p1long = strtok(longi,"'");
        p2long= strtok(NULL, "'");//the second
        p3long= strtok(NULL, ".");//the third
        intp1long=atoi(p1long);
        intp2long=atoi(p2long);
        intp3long=atoi(p3long);
        
        serial.printf("\r%s\r\n",p1long);
        serial.printf("\r%s\r\n",p2long);
        serial.printf("\r%s\r\n",p3long);
        
        serial.printf("AT$SS=%x%x%x%x%x0%x%x%x\r\n",T,H,intp1lat,intp2lat,intp3lat,intp1long,intp2long,intp3long);//Head
        //serial.printf("AT$SS=%x\r\n",Head);

            
    wait(5);
    }
}