Dependencies:   ADXL345 DHT HMC5883L SerialGPS mbed

Committer:
fadi_lad
Date:
Sat Nov 05 21:01:22 2016 +0000
Revision:
0:f39c73c23563
Child:
1:082c5ed435fa
V1

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 0:f39c73c23563 50 pc.printf("AT$SS= %x \r\n",(int)temp);
fadi_lad 0:f39c73c23563 51 pc.printf("AT$SS= %x \r\n",(int)Humidity);
fadi_lad 0:f39c73c23563 52 // }else
fadi_lad 0:f39c73c23563 53 // pc.printf("\r\Error DHT %i \n",err);
fadi_lad 0:f39c73c23563 54 wait(5);
fadi_lad 0:f39c73c23563 55 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 56 ////////////////////////// aquisation de la boussole ///////////////////////////
fadi_lad 0:f39c73c23563 57 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 58 xBoussole = hmc5883l.getMx();
fadi_lad 0:f39c73c23563 59 yBoussole = hmc5883l.getMy();
fadi_lad 0:f39c73c23563 60 zBoussole = hmc5883l.getMz();
fadi_lad 0:f39c73c23563 61 pc.printf("AT$SS= %x \r\n",(int)xBoussole);
fadi_lad 0:f39c73c23563 62 pc.printf("AT$SS= %x \r\n",(int)yBoussole);
fadi_lad 0:f39c73c23563 63 pc.printf("AT$SS= %x \r\n",(int)zBoussole);
fadi_lad 0:f39c73c23563 64
fadi_lad 0:f39c73c23563 65 wait(5);
fadi_lad 0:f39c73c23563 66 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 67 ////////////////////////// aquisation de l'accélérométre ///////////////////////
fadi_lad 0:f39c73c23563 68 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 69 accelerometer.getOutput(readings);
fadi_lad 0:f39c73c23563 70 // pc.printf("accelerometre %i, %i, %i\r\n", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]);
fadi_lad 0:f39c73c23563 71 // pc.printf("AT$SS= %x \r\n",(int)readings[0]);
fadi_lad 0:f39c73c23563 72 // pc.printf("AT$SS= %x \r\n",(int)readings[1]);
fadi_lad 0:f39c73c23563 73 // pc.printf("AT$SS= %x \r\n",(int)readings[2]);
fadi_lad 0:f39c73c23563 74
fadi_lad 0:f39c73c23563 75
fadi_lad 0:f39c73c23563 76 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 77 ////////////////////////// aquisation gps ////////////:::::::::::::::///////////
fadi_lad 0:f39c73c23563 78 ////////////////////////////////////////////////////////////////////////////////
fadi_lad 0:f39c73c23563 79 gps.processing();
fadi_lad 0:f39c73c23563 80 Hour= p->hour;
fadi_lad 0:f39c73c23563 81 Min = p->min;
fadi_lad 0:f39c73c23563 82 Sec = p->sec;
fadi_lad 0:f39c73c23563 83 Pos = p->position_fix;
fadi_lad 0:f39c73c23563 84 Sat = p->satellites_used;
fadi_lad 0:f39c73c23563 85 Latitude = p->latitude;
fadi_lad 0:f39c73c23563 86 Longitude= p->longitude;
fadi_lad 0:f39c73c23563 87 pc.printf("AT$SS= %x \r\n", (int)Latitude);
fadi_lad 0:f39c73c23563 88 pc.printf("AT$SS= %x \r\n", (int)Longitude);
fadi_lad 0:f39c73c23563 89 wait(20);
fadi_lad 0:f39c73c23563 90
fadi_lad 0:f39c73c23563 91 }
fadi_lad 0:f39c73c23563 92 }
fadi_lad 0:f39c73c23563 93