projet capteur connecté ST/SE
Dependencies: HP206C mbed HMC5883L DHT DS1820
T_H_soil.h@60:8b65fdf54d56, 2018-10-09 (annotated)
- Committer:
- Fayge
- Date:
- Tue Oct 09 12:22:31 2018 +0000
- Revision:
- 60:8b65fdf54d56
- Parent:
- 59:6d48aee9f7d5
- Child:
- 67:3ccbc6a532eb
working on TH_soil;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Fayge | 59:6d48aee9f7d5 | 1 | #ifndef T_H_SOIL_H |
Fayge | 59:6d48aee9f7d5 | 2 | #define T_H_SOIL_H |
Fayge | 59:6d48aee9f7d5 | 3 | |
Fayge | 59:6d48aee9f7d5 | 4 | #include "mbed.h" |
Fayge | 59:6d48aee9f7d5 | 5 | #include "DS1820.h" |
Fayge | 59:6d48aee9f7d5 | 6 | |
Fayge | 60:8b65fdf54d56 | 7 | #define AIR_SOIL_HUMIDITY 0.78 // dry dirt at 0.75 with AnalogIn.read() |
Fayge | 60:8b65fdf54d56 | 8 | #define WATER_SOIL_HUMIDITY 0.38 // wet dirt at 0.54 |
Fayge | 59:6d48aee9f7d5 | 9 | |
Fayge | 59:6d48aee9f7d5 | 10 | |
Fayge | 60:8b65fdf54d56 | 11 | bool initSoilTemp(DS1820 probe, PinName pin); |
Fayge | 59:6d48aee9f7d5 | 12 | |
Fayge | 60:8b65fdf54d56 | 13 | float getSoilTemperature(DS1820& probe);//can return DS1820::invalid_conversion |
Fayge | 59:6d48aee9f7d5 | 14 | |
Fayge | 59:6d48aee9f7d5 | 15 | float getSoilHumidity(AnalogIn& probe, |
Fayge | 59:6d48aee9f7d5 | 16 | float& airValue, |
Fayge | 59:6d48aee9f7d5 | 17 | float& waterValue, |
Fayge | 59:6d48aee9f7d5 | 18 | bool adaptiveCalibration = true); |
Fayge | 60:8b65fdf54d56 | 19 | /* ## EXAMPLE |
Fayge | 60:8b65fdf54d56 | 20 | #include "mbed.h" |
Fayge | 60:8b65fdf54d56 | 21 | #include "T_H_soil.h" |
Fayge | 60:8b65fdf54d56 | 22 | |
Fayge | 60:8b65fdf54d56 | 23 | DS1820 probe(PA_5);//A4 |
Fayge | 59:6d48aee9f7d5 | 24 | Serial pc(USBTX, USBRX); |
Fayge | 60:8b65fdf54d56 | 25 | AnalogIn humidSensor(PA_6);// A5 // max: 0.77 min:0.38 |
Fayge | 59:6d48aee9f7d5 | 26 | |
Fayge | 59:6d48aee9f7d5 | 27 | int main() { |
Fayge | 60:8b65fdf54d56 | 28 | if(initSoilTemp(probe,PA_5)) |
Fayge | 60:8b65fdf54d56 | 29 | pc.printf("unassigned Probe\r\n"); |
Fayge | 59:6d48aee9f7d5 | 30 | float airValue(AIR_SOIL_HUMIDITY); |
Fayge | 59:6d48aee9f7d5 | 31 | float waterValue(WATER_SOIL_HUMIDITY); |
Fayge | 59:6d48aee9f7d5 | 32 | while(1) { |
Fayge | 59:6d48aee9f7d5 | 33 | float humid = getSoilHumidity( humidSensor, airValue,waterValue, true); |
Fayge | 59:6d48aee9f7d5 | 34 | float temp = getSoilTemperature(probe); |
Fayge | 60:8b65fdf54d56 | 35 | |
Fayge | 60:8b65fdf54d56 | 36 | if(temp == DS1820::invalid_conversion) |
Fayge | 60:8b65fdf54d56 | 37 | pc.printf("Error with soil temperature probe : not connected\n\r"); |
Fayge | 60:8b65fdf54d56 | 38 | |
Fayge | 60:8b65fdf54d56 | 39 | pc.printf("Soil ## T:%.2foC ## H :%.2f%% V:%f ##\r\n", temp, humid,humidSensor.read()); |
Fayge | 60:8b65fdf54d56 | 40 | |
Fayge | 60:8b65fdf54d56 | 41 | wait(0.1); |
Fayge | 59:6d48aee9f7d5 | 42 | } |
Fayge | 59:6d48aee9f7d5 | 43 | } |
Fayge | 59:6d48aee9f7d5 | 44 | */ |
Fayge | 59:6d48aee9f7d5 | 45 | #endif |