Dependencies:   ADXL345 DHT HMC5883L SerialGPS mbed

Committer:
fadi_lad
Date:
Tue Nov 08 08:36:54 2016 +0000
Revision:
1:082c5ed435fa
Parent:
0:f39c73c23563
V 0.5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fadi_lad 0:f39c73c23563 1 #include "mbed.h"
fadi_lad 0:f39c73c23563 2 #include "DHT.h"
fadi_lad 0:f39c73c23563 3 #include "HMC5883L.h"
fadi_lad 0:f39c73c23563 4 #include "ADXL345.h"
fadi_lad 0:f39c73c23563 5 #include "SerialGPS.h"
fadi_lad 0:f39c73c23563 6 #define SDA A4
fadi_lad 0:f39c73c23563 7 #define SCL A5
fadi_lad 0:f39c73c23563 8
fadi_lad 0:f39c73c23563 9 Serial pc(D8, PA_10);
fadi_lad 0:f39c73c23563 10 DHT sensor(D7, DHT11);
fadi_lad 0:f39c73c23563 11 HMC5883L compass(SDA, SCL);
fadi_lad 0:f39c73c23563 12 ADXL345 accelerometer(D4, D5, D3, D2);
fadi_lad 0:f39c73c23563 13 SerialGPS gps(D1, D0);
fadi_lad 0:f39c73c23563 14
fadi_lad 0:f39c73c23563 15
fadi_lad 0:f39c73c23563 16 int main() {
fadi_lad 0:f39c73c23563 17 /////////////// Declaration des différentes variables utilisées ////////////////
fadi_lad 0:f39c73c23563 18 float temp,Humidity;
fadi_lad 0:f39c73c23563 19 float xBoussole, yBoussole, zBoussole;
fadi_lad 0:f39c73c23563 20 int Hour, Min, Sec, Pos, Sat;
fadi_lad 0:f39c73c23563 21 double Latitude, Longitude;
fadi_lad 0:f39c73c23563 22 /////////////////// configuration de la liaison serie //////////////////////////
fadi_lad 0:f39c73c23563 23 pc.baud(9600); //speed(baud)
fadi_lad 0:f39c73c23563 24 pc.format(8,Serial::None,1); //format(bits,SerialBase,stop_bits)
fadi_lad 0:f39c73c23563 25 /////////////////// configuration du cap température ///////////////////////////
fadi_lad 0:f39c73c23563 26 int err;
fadi_lad 0:f39c73c23563 27 /////////////////// configuration de la Boussole ///////////////////////////////
fadi_lad 0:f39c73c23563 28 HMC5883L hmc5883l(SDA, SCL);
fadi_lad 0:f39c73c23563 29 /////////////////// configuration de l'accélérométre ///////////////////////////
fadi_lad 0:f39c73c23563 30 int readings[3] = {0, 0, 0};
fadi_lad 0:f39c73c23563 31 //Go into standby mode to configure the device.
fadi_lad 0:f39c73c23563 32 accelerometer.setPowerControl(0x00);
fadi_lad 0:f39c73c23563 33 //Full resolution, +/-16g, 4mg/LSB.
fadi_lad 0:f39c73c23563 34 accelerometer.setDataFormatControl(0x0B);
fadi_lad 0:f39c73c23563 35 //3.2kHz data rate.
fadi_lad 0:f39c73c23563 36 accelerometer.setDataRate(ADXL345_3200HZ);
fadi_lad 0:f39c73c23563 37 //Measurement mode.
fadi_lad 0:f39c73c23563 38 accelerometer.setPowerControl(0x08);
fadi_lad 0:f39c73c23563 39 /////////////////// configuration GPS //////////////////////////////////////////
fadi_lad 0:f39c73c23563 40 SerialGPS::gps_gga_t *p;
fadi_lad 0:f39c73c23563 41
fadi_lad 0:f39c73c23563 42 while(1) {
fadi_lad 0:f39c73c23563 43 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 44 ////////////////////////// aquisation du capteur de température/////////////////
fadi_lad 0:f39c73c23563 45 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 46 err = sensor.readData();
fadi_lad 0:f39c73c23563 47 //if (err==0){
fadi_lad 0:f39c73c23563 48 temp=sensor.ReadTemperature(CELCIUS);
fadi_lad 0:f39c73c23563 49 Humidity=sensor.ReadHumidity();
fadi_lad 1:082c5ed435fa 50
fadi_lad 0:f39c73c23563 51 // }else
fadi_lad 0:f39c73c23563 52 // pc.printf("\r\Error DHT %i \n",err);
fadi_lad 0:f39c73c23563 53 wait(5);
fadi_lad 0:f39c73c23563 54 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 55 ////////////////////////// aquisation de la boussole ///////////////////////////
fadi_lad 0:f39c73c23563 56 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 57 xBoussole = hmc5883l.getMx();
fadi_lad 0:f39c73c23563 58 yBoussole = hmc5883l.getMy();
fadi_lad 0:f39c73c23563 59 zBoussole = hmc5883l.getMz();
fadi_lad 0:f39c73c23563 60
fadi_lad 0:f39c73c23563 61 wait(5);
fadi_lad 0:f39c73c23563 62 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 63 ////////////////////////// aquisation de l'accélérométre ///////////////////////
fadi_lad 0:f39c73c23563 64 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 65 accelerometer.getOutput(readings);
fadi_lad 0:f39c73c23563 66 // pc.printf("accelerometre %i, %i, %i\r\n", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]);
fadi_lad 0:f39c73c23563 67 // pc.printf("AT$SS= %x \r\n",(int)readings[0]);
fadi_lad 0:f39c73c23563 68 // pc.printf("AT$SS= %x \r\n",(int)readings[1]);
fadi_lad 0:f39c73c23563 69 // pc.printf("AT$SS= %x \r\n",(int)readings[2]);
fadi_lad 0:f39c73c23563 70
fadi_lad 0:f39c73c23563 71
fadi_lad 0:f39c73c23563 72 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 73 ////////////////////////// aquisation gps ////////////:::::::::::::::///////////
fadi_lad 0:f39c73c23563 74 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 75 gps.processing();
fadi_lad 0:f39c73c23563 76 Hour= p->hour;
fadi_lad 0:f39c73c23563 77 Min = p->min;
fadi_lad 0:f39c73c23563 78 Sec = p->sec;
fadi_lad 0:f39c73c23563 79 Pos = p->position_fix;
fadi_lad 0:f39c73c23563 80 Sat = p->satellites_used;
fadi_lad 0:f39c73c23563 81 Latitude = p->latitude;
fadi_lad 0:f39c73c23563 82 Longitude= p->longitude;
fadi_lad 1:082c5ed435fa 83 // pc.printf("AT$SS= %f \r\n",temp);
fadi_lad 1:082c5ed435fa 84 // pc.printf("AT$SS= %f \r\n",Humidity);
fadi_lad 1:082c5ed435fa 85 // pc.printf("AT$SS= %8x \r\n",*((int *)&xBoussole));
fadi_lad 1:082c5ed435fa 86 // pc.printf("AT$SS= %8x \r\n",(int)yBoussole);
fadi_lad 1:082c5ed435fa 87 // pc.printf("AT$SS= %8x \r\n",(int)zBoussole);
fadi_lad 1:082c5ed435fa 88 // pc.printf("AT$SS= %x \r\n", (int)Latitude);
fadi_lad 1:082c5ed435fa 89 // pc.printf("AT$SS=00 12 FF 42 \r\n");
fadi_lad 1:082c5ed435fa 90 // pc.printf("humidity= %4.2f C\r\n",);
fadi_lad 1:082c5ed435fa 91 // pc.printf("AT$SS= %x \r\n", (int)Longitude);
fadi_lad 1:082c5ed435fa 92 //////////////////////////////////////////////
fadi_lad 1:082c5ed435fa 93 pc.printf("AT$SS= %x%x \r\n", (unsigned char*)&Longitude,(unsigned char*)&Latitude);
fadi_lad 1:082c5ed435fa 94
fadi_lad 1:082c5ed435fa 95 // pc.printf("AT$SS= %x \r\n", (int)Longitude);
fadi_lad 1:082c5ed435fa 96
fadi_lad 1:082c5ed435fa 97 wait(0);
fadi_lad 0:f39c73c23563 98
fadi_lad 0:f39c73c23563 99 }
fadi_lad 0:f39c73c23563 100 }
fadi_lad 0:f39c73c23563 101