Dependencies: ADXL345 DHT HMC5883L SerialGPS mbed
main.cpp
00001 #include "mbed.h" 00002 #include "DHT.h" 00003 #include "HMC5883L.h" 00004 #include "ADXL345.h" 00005 #include "SerialGPS.h" 00006 #define SDA A4 00007 #define SCL A5 00008 00009 Serial pc(D8, PA_10); 00010 DHT sensor(D7, DHT11); 00011 HMC5883L compass(SDA, SCL); 00012 ADXL345 accelerometer(D4, D5, D3, D2); 00013 SerialGPS gps(D1, D0); 00014 00015 00016 int main() { 00017 /////////////// Declaration des différentes variables utilisées //////////////// 00018 float temp,Humidity; 00019 float xBoussole, yBoussole, zBoussole; 00020 int Hour, Min, Sec, Pos, Sat; 00021 double Latitude, Longitude; 00022 /////////////////// configuration de la liaison serie ////////////////////////// 00023 pc.baud(9600); //speed(baud) 00024 pc.format(8,Serial::None,1); //format(bits,SerialBase,stop_bits) 00025 /////////////////// configuration du cap température /////////////////////////// 00026 int err; 00027 /////////////////// configuration de la Boussole /////////////////////////////// 00028 HMC5883L hmc5883l(SDA, SCL); 00029 /////////////////// configuration de l'accélérométre /////////////////////////// 00030 int readings[3] = {0, 0, 0}; 00031 //Go into standby mode to configure the device. 00032 accelerometer.setPowerControl(0x00); 00033 //Full resolution, +/-16g, 4mg/LSB. 00034 accelerometer.setDataFormatControl(0x0B); 00035 //3.2kHz data rate. 00036 accelerometer.setDataRate(ADXL345_3200HZ); 00037 //Measurement mode. 00038 accelerometer.setPowerControl(0x08); 00039 /////////////////// configuration GPS ////////////////////////////////////////// 00040 SerialGPS::gps_gga_t *p; 00041 00042 while(1) { 00043 //////////////////////////////////////////////////////////////////////////////// 00044 ////////////////////////// aquisation du capteur de température///////////////// 00045 //////////////////////////////////////////////////////////////////////////////// 00046 err = sensor.readData(); 00047 //if (err==0){ 00048 temp=sensor.ReadTemperature(CELCIUS); 00049 Humidity=sensor.ReadHumidity(); 00050 00051 // }else 00052 // pc.printf("\r\Error DHT %i \n",err); 00053 wait(5); 00054 //////////////////////////////////////////////////////////////////////////////// 00055 ////////////////////////// aquisation de la boussole /////////////////////////// 00056 //////////////////////////////////////////////////////////////////////////////// 00057 xBoussole = hmc5883l.getMx(); 00058 yBoussole = hmc5883l.getMy(); 00059 zBoussole = hmc5883l.getMz(); 00060 00061 wait(5); 00062 //////////////////////////////////////////////////////////////////////////////// 00063 ////////////////////////// aquisation de l'accélérométre /////////////////////// 00064 //////////////////////////////////////////////////////////////////////////////// 00065 accelerometer.getOutput(readings); 00066 // pc.printf("accelerometre %i, %i, %i\r\n", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]); 00067 // pc.printf("AT$SS= %x \r\n",(int)readings[0]); 00068 // pc.printf("AT$SS= %x \r\n",(int)readings[1]); 00069 // pc.printf("AT$SS= %x \r\n",(int)readings[2]); 00070 00071 00072 //////////////////////////////////////////////////////////////////////////////// 00073 ////////////////////////// aquisation gps ////////////::::::::::::::://///////// 00074 //////////////////////////////////////////////////////////////////////////////// 00075 gps.processing(); 00076 Hour= p->hour; 00077 Min = p->min; 00078 Sec = p->sec; 00079 Pos = p->position_fix; 00080 Sat = p->satellites_used; 00081 Latitude = p->latitude; 00082 Longitude= p->longitude; 00083 // pc.printf("AT$SS= %f \r\n",temp); 00084 // pc.printf("AT$SS= %f \r\n",Humidity); 00085 // pc.printf("AT$SS= %8x \r\n",*((int *)&xBoussole)); 00086 // pc.printf("AT$SS= %8x \r\n",(int)yBoussole); 00087 // pc.printf("AT$SS= %8x \r\n",(int)zBoussole); 00088 // pc.printf("AT$SS= %x \r\n", (int)Latitude); 00089 // pc.printf("AT$SS=00 12 FF 42 \r\n"); 00090 // pc.printf("humidity= %4.2f C\r\n",); 00091 // pc.printf("AT$SS= %x \r\n", (int)Longitude); 00092 ////////////////////////////////////////////// 00093 pc.printf("AT$SS= %x%x \r\n", (unsigned char*)&Longitude,(unsigned char*)&Latitude); 00094 00095 // pc.printf("AT$SS= %x \r\n", (int)Longitude); 00096 00097 wait(0); 00098 00099 } 00100 } 00101
Generated on Tue Jul 12 2022 17:33:58 by 1.7.2