Michael Ohayon / Mbed 2 deprecated RUCHE2-CODES

Dependencies:   mbed Ruche-2 Temps HX711 DHT22 Sigfox GPS

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 
00002 #include "mbed.h"
00003 #include <iostream>
00004 #include <vector>
00005 #include "sigfox.h"
00006 #include "SoftSerial.h"
00007 #include "message_1.h"
00008 #include "message_2.h"
00009 #include "DHT22.h"
00010 #include "HX711.h"
00011 #include "DS1820.h"
00012 #include "temps.h"
00013 #include "gps.h"
00014 
00015 using namespace std;
00016 
00017 
00018 
00019 
00020 void mesureTempExtHumidite(int &humidite, float &temperature);
00021 void mesureTempInt(float &temperatureInt);
00022 void mesureMasse(float &masse, long valeurTare);
00023 void mesureGps(float &longit, float &lati);
00024 
00025 
00026 //Serial sc(SERIAL_TX, SERIAL_RX, 9600);
00027 //Serial device(PA_9, PA_10);
00028 Serial pc (USBTX , USBRX);
00029 DHT22 dht22(D3);
00030 HX711 Balance(D12,D11);
00031 DS1820 probe = A6;
00032 
00033 //SoftSerial device(D3, D4);
00034 //Serial sc2(D5, D4);
00035 
00036 
00037 int main() {
00038    // device.baud(9600);
00039     //sc.printf("---New start ---\n");
00040    // while (!device.writeable()) { }
00041     //sc.printf("coucou 1 \n");
00042     
00043    /* device.printf("AT\r");;
00044     char a = device.getc();
00045     char b = device.getc();
00046     sc.printf("%c%c \n", a, b);
00047     sc.printf("%c", device.getc());
00048     */
00049     
00050     tempVeille.attach(activeVeille, 50.0f);
00051     
00052     float lat,lon;
00053     float longit = 12.3, lati = 18.6;
00054     int humidite= 18;  
00055     float temperatureExt = 12;
00056     float temperatureInt = 15;
00057     
00058     long valeur;
00059     long valeurTare ;
00060     float masse;
00061     
00062     valeurTare = Balance.getValue();  
00063     probe.search_ROM();
00064     char temp;
00065 
00066     
00067    
00068     // pc.printf("\n\n\rstart\n\r");
00069     while(1) {
00070       
00071         pc.printf("mesureTempExtHumidte ...\n\r");
00072         mesureTempExtHumidite(humidite, temperatureExt);
00073         pc.printf("mesureTempExtHumidte OK\n\r");
00074         mesureMasse(masse, valeurTare);
00075         
00076         pc.printf("mesureTempInt ...\n\r");
00077         mesureTempInt(temperatureInt);
00078         pc.printf("mesureTempInt OK\n\r");
00079         pc.printf("te:%.2f hu:%d ti:%.2f m:%f\n\r",temperatureExt, humidite, temperatureInt, masse);
00080         
00081         
00082         //getLatLong(lat , lon);
00083         pc.printf("lat: %f , long: %f\n\r" , lat , lon);
00084         //Message_1 msg1(1, temperatureExt, temperatureInt, humidite, masse);
00085         
00086         
00087         //msg1.send();
00088         //wait(600);
00089         wait(1);
00090     }
00091 }
00092 
00093 void mesureTempExtHumidite(int &humidite, float &temperatureExt){
00094     dht22.sample() ;
00095     humidite=dht22.getHumidity()/10.0;
00096     temperatureExt=dht22.getTemperature()/10.0;
00097    // humidite = 57;
00098    // temperatureExt = 17;
00099 };
00100 
00101 void mesureMasse(float &masse, long valeurTare){
00102     wait_ms(200);                                                       // Attente de 200 millisecondes
00103    float valeur = Balance.getValue();                                        // On récupère la valeur du module
00104     masse = ((double)valeur-(double)valeurTare)/11900 ;
00105 };
00106 
00107 void mesureTempInt(float &temperatureInt){
00108     probe.convert_temperature(DS1820::all_devices);
00109     temperatureInt = probe.temperature('c');
00110 };
00111 
00112 
00113 /*bool sendMessageToSigfox(Vector<Message*> msg){
00114     for(int i =0; i<msg.size(); i++){
00115         msg[i].send();
00116         wait_ms(100);
00117     };
00118 };*/