![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Dependencies: ADXL345 DHT HMC5883L SerialGPS mbed
main.cpp
- Committer:
- fadi_lad
- Date:
- 2016-11-05
- Revision:
- 0:f39c73c23563
- Child:
- 1:082c5ed435fa
File content as of revision 0:f39c73c23563:
#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(); pc.printf("AT$SS= %x \r\n",(int)temp); pc.printf("AT$SS= %x \r\n",(int)Humidity); // }else // pc.printf("\r\Error DHT %i \n",err); wait(5); //////////////////////////////////////////////////////////////////////////////// ////////////////////////// aquisation de la boussole /////////////////////////// //////////////////////////////////////////////////////////////////////////////// xBoussole = hmc5883l.getMx(); yBoussole = hmc5883l.getMy(); zBoussole = hmc5883l.getMz(); pc.printf("AT$SS= %x \r\n",(int)xBoussole); pc.printf("AT$SS= %x \r\n",(int)yBoussole); pc.printf("AT$SS= %x \r\n",(int)zBoussole); 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= %x \r\n", (int)Latitude); pc.printf("AT$SS= %x \r\n", (int)Longitude); wait(20); } }