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); } }