Dependencies:   ADXL345 DHT HMC5883L SerialGPS mbed

main.cpp

Committer:
fadi_lad
Date:
2016-11-08
Revision:
1:082c5ed435fa
Parent:
0:f39c73c23563

File content as of revision 1:082c5ed435fa:

#include "mbed.h"
#include "DHT.h"
#include "HMC5883L.h"
#include "ADXL345.h"
#include "SerialGPS.h"
#define SDA      A4
#define SCL      A5

Serial pc(D8, PA_10);
DHT sensor(D7, DHT11);
HMC5883L compass(SDA, SCL); 
ADXL345 accelerometer(D4, D5, D3, D2);
SerialGPS gps(D1, D0);


int main() {
/////////////// Declaration des différentes variables utilisées //////////////// 
float  temp,Humidity;
float  xBoussole, yBoussole, zBoussole;
int    Hour, Min, Sec, Pos, Sat;
double Latitude, Longitude;
/////////////////// configuration de la liaison serie ////////////////////////// 
    pc.baud(9600); //speed(baud)
    pc.format(8,Serial::None,1); //format(bits,SerialBase,stop_bits)
/////////////////// configuration du cap température ///////////////////////////
    int err;
/////////////////// configuration de la Boussole /////////////////////////////// 
    HMC5883L hmc5883l(SDA, SCL);
/////////////////// configuration de l'accélérométre ///////////////////////////
    int readings[3] = {0, 0, 0};
    //Go into standby mode to configure the device.
    accelerometer.setPowerControl(0x00);
    //Full resolution, +/-16g, 4mg/LSB.
    accelerometer.setDataFormatControl(0x0B);
    //3.2kHz data rate.
    accelerometer.setDataRate(ADXL345_3200HZ);
    //Measurement mode.
    accelerometer.setPowerControl(0x08);
/////////////////// configuration GPS //////////////////////////////////////////
SerialGPS::gps_gga_t *p;

  while(1) { 
////////////////////////////////////////////////////////////////////////////////
////////////////////////// aquisation du capteur de température/////////////////
////////////////////////////////////////////////////////////////////////////////
    err = sensor.readData();
    //if (err==0){
        temp=sensor.ReadTemperature(CELCIUS);
        Humidity=sensor.ReadHumidity();

   // }else
   //     pc.printf("\r\Error DHT %i \n",err);
       wait(5);    
////////////////////////////////////////////////////////////////////////////////
////////////////////////// aquisation de la boussole ///////////////////////////
////////////////////////////////////////////////////////////////////////////////
        xBoussole = hmc5883l.getMx();
        yBoussole = hmc5883l.getMy();
        zBoussole = hmc5883l.getMz();

         wait(5);    
////////////////////////////////////////////////////////////////////////////////
////////////////////////// aquisation de l'accélérométre ///////////////////////
////////////////////////////////////////////////////////////////////////////////
    accelerometer.getOutput(readings);
  //  pc.printf("accelerometre %i, %i, %i\r\n", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]);
  //  pc.printf("AT$SS= %x \r\n",(int)readings[0]);  
  //  pc.printf("AT$SS= %x \r\n",(int)readings[1]);  
   // pc.printf("AT$SS= %x \r\n",(int)readings[2]);  

    
////////////////////////////////////////////////////////////////////////////////
////////////////////////// aquisation gps ////////////:::::::::::::::///////////
////////////////////////////////////////////////////////////////////////////////
      gps.processing();
      Hour= p->hour;
      Min = p->min;
      Sec = p->sec;
      Pos = p->position_fix;
      Sat = p->satellites_used;
      Latitude = p->latitude;
      Longitude= p->longitude;
     //   pc.printf("AT$SS= %f \r\n",temp); 
     //   pc.printf("AT$SS= %f \r\n",Humidity);  
       //  pc.printf("AT$SS= %8x \r\n",*((int *)&xBoussole));  
      //   pc.printf("AT$SS= %8x \r\n",(int)yBoussole);  
     //    pc.printf("AT$SS= %8x \r\n",(int)zBoussole);  
     //   pc.printf("AT$SS= %x \r\n", (int)Latitude);
     // pc.printf("AT$SS=00 12 FF 42 \r\n"); 
     // pc.printf("humidity= %4.2f C\r\n",); 
      // pc.printf("AT$SS= %x \r\n", (int)Longitude);
      //////////////////////////////////////////////
       pc.printf("AT$SS= %x%x \r\n", (unsigned char*)&Longitude,(unsigned char*)&Latitude);

     //  pc.printf("AT$SS= %x \r\n", (int)Longitude);

    wait(0);    
 
  }
}