Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed Ruche-2 HX711 DHT22 Sigfox
Revision 2:3248370d6bc4, committed 2019-02-01
- Comitter:
- Sidibe
- Date:
- Fri Feb 01 17:14:30 2019 +0000
- Parent:
- 1:25a290929b47
- Commit message:
- correction de poids
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Thu Jan 24 13:08:02 2019 +0000 +++ b/main.cpp Fri Feb 01 17:14:30 2019 +0000 @@ -15,7 +15,7 @@ void mesureTempInt(float &temperatureInt); void mesureMasse(float &masse, long valeurTare); void mesureGps(float &longit, float &lat); -DigitalOut myled(D2); +DigitalOut myled(D13); //Serial sc(SERIAL_TX, SERIAL_RX, 9600); //Serial device(PA_9, PA_10); DHT22 dht22(D3); @@ -25,6 +25,14 @@ //SoftSerial device(D3, D4); //Serial sc2(D5, D4); +///////////Déclaration des Variables Correction de la masse + + float temperature_actuelle=12; + float temperature_prvious=0; + float delta =0; + float asser_err= -0.15; + float masse_reelle=0; +/////////////////// int main() { // device.baud(9600); @@ -42,10 +50,13 @@ int humidite= 18; float temperatureExt = 12; float temperatureInt = 15; + //coefficient asservissement + long valeur; long valeurTare ; - float masse; + float masse=13.2; + valeurTare = Balance.getValue(); probe.search_ROM(); @@ -56,26 +67,48 @@ mesureTempInt(temperatureInt); //sc.printf("temperature externe: %.2f humidity: %d temperature interne: %.2f \n\r",temperatureExt, humidite, temperatureInt); //sc.printf("masse: %f\n\r", masse); + + //////Correction des la masse + + temperature_actuelle=temperatureExt; + + + + delta=temperature_actuelle-temperature_prvious; + + masse_reelle=masse+(delta*asser_err); + + temperature_prvious=temperature_actuelle; + ////// - Message_1 msg1(1, temperatureExt, temperatureInt, humidite, masse); + //Message_1 msg1(1, temperatureExt, temperatureInt, humidite, masse);//envoyé données sigfox sans la correction de la masse + + Message_1 msg1(1, temperatureExt, temperatureInt, humidite, masse_reelle); msg1.send(); - wait(20); + myled = 1 ; + wait(15); + myled = 0 ; } } void mesureTempExtHumidite(int &humidite, float &temperatureExt){ + dht22.sample() ; humidite=dht22.getHumidity()/10.0; temperatureExt=dht22.getTemperature()/10.0; + // humidite = 57; // temperatureExt = 17; }; + void mesureMasse(float &masse, long valeurTare){ + wait_ms(200); // Attente de 200 millisecondes float valeur = Balance.getValue(); // On récupère la valeur du module - masse = ((double)valeur-(double)valeurTare)/11200; + masse = ((double)valeur-(double)valeurTare)/-11900; + }; void mesureTempInt(float &temperatureInt){