Plant Monitoring Project
Dependencies: mbed SHT21_ncleee WakeUp SSD1306 DHT Adafruit_TCS34725 DS1820
main.hh@31:45f4bfde0b9a, 2019-12-12 (annotated)
- Committer:
- Germaint
- Date:
- Thu Dec 12 16:01:01 2019 +0000
- Revision:
- 31:45f4bfde0b9a
- Parent:
- 30:0a25c02e25d9
- Child:
- 32:4bb8ec535357
Code fonctionnel nouveau PCB
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Germaint | 25:77322fbe298e | 1 | #pragma once |
Germaint | 25:77322fbe298e | 2 | |
Germaint | 23:424b3149003b | 3 | #include "define.hh" |
Germaint | 23:424b3149003b | 4 | #include "mbed.h" |
Germaint | 23:424b3149003b | 5 | #include "DS1820.h" |
Germaint | 23:424b3149003b | 6 | #include "SHT21_ncleee.h" |
Germaint | 23:424b3149003b | 7 | #include "Adafruit_TCS34725.h" |
Germaint | 23:424b3149003b | 8 | #include "ssd1306.h" |
Germaint | 30:0a25c02e25d9 | 9 | #include "standard_font.h" |
Germaint | 30:0a25c02e25d9 | 10 | #include "bold_font.h" |
Germaint | 23:424b3149003b | 11 | |
Germaint | 31:45f4bfde0b9a | 12 | #define DUREE_OFF 5 // Durée en seconde entre deux mesures |
Germaint | 31:45f4bfde0b9a | 13 | #define DUREE_ECRAN_ON 10 // Durée en seconde d'éveil de l'écran |
Germaint | 23:424b3149003b | 14 | |
Germaint | 23:424b3149003b | 15 | Ticker timeScreen; |
Germaint | 23:424b3149003b | 16 | |
Germaint | 23:424b3149003b | 17 | #ifdef DEBUG |
Germaint | 23:424b3149003b | 18 | Serial pc(SERIAL_TX, SERIAL_RX); |
Germaint | 23:424b3149003b | 19 | #endif |
Germaint | 23:424b3149003b | 20 | |
Germaint | 23:424b3149003b | 21 | #ifdef SIGFOX |
Germaint | 23:424b3149003b | 22 | Serial wisol(D1,D0); |
Germaint | 23:424b3149003b | 23 | #endif |
Germaint | 23:424b3149003b | 24 | |
Germaint | 31:45f4bfde0b9a | 25 | I2C i2c_1(D4, D5); |
Germaint | 30:0a25c02e25d9 | 26 | I2C i2c_2(D12,A6); |
Germaint | 23:424b3149003b | 27 | |
Germaint | 23:424b3149003b | 28 | #ifdef OLED |
Germaint | 30:0a25c02e25d9 | 29 | // D6 D9 D10 A4 D2 |
Germaint | 30:0a25c02e25d9 | 30 | SSD1306 oled(PB_1, PA_8, PA_11, PA_5, PA_12); |
Germaint | 23:424b3149003b | 31 | #endif |
Germaint | 23:424b3149003b | 32 | |
Germaint | 30:0a25c02e25d9 | 33 | InterruptIn bouton(A2); |
Germaint | 23:424b3149003b | 34 | |
Germaint | 23:424b3149003b | 35 | // Capteurs |
Germaint | 23:424b3149003b | 36 | #ifdef FLOOR_TEMPERATURE |
Germaint | 31:45f4bfde0b9a | 37 | DS1820 ds1820(A3); // temperature sol |
Germaint | 23:424b3149003b | 38 | #endif |
Germaint | 23:424b3149003b | 39 | |
Germaint | 23:424b3149003b | 40 | #ifdef FLOOR_HUMIDITY |
Germaint | 23:424b3149003b | 41 | AnalogIn capteur_humidity_sol(A0); // humidité sol |
Germaint | 23:424b3149003b | 42 | #endif |
Germaint | 23:424b3149003b | 43 | |
Germaint | 23:424b3149003b | 44 | #ifdef AIR_PARAMETERS |
Germaint | 30:0a25c02e25d9 | 45 | SHT21 sht(&i2c_1); // humidité + température air |
Germaint | 23:424b3149003b | 46 | #endif |
Germaint | 23:424b3149003b | 47 | |
Germaint | 23:424b3149003b | 48 | #ifdef RGB |
Germaint | 30:0a25c02e25d9 | 49 | Adafruit_TCS34725 RGBsens = Adafruit_TCS34725(&i2c_2, TCS34725_INTEGRATIONTIME_154MS, TCS34725_GAIN_1X); // RGB |
Germaint | 23:424b3149003b | 50 | #endif |
Germaint | 23:424b3149003b | 51 | |
Germaint | 23:424b3149003b | 52 | // Fonctions |
Germaint | 31:45f4bfde0b9a | 53 | void temp_sol(void); |
Germaint | 23:424b3149003b | 54 | int fct_humidity_sol(void); |
Germaint | 23:424b3149003b | 55 | void fct_RGB(void); |
Germaint | 23:424b3149003b | 56 | void sendDataSigfox(void); |
Germaint | 23:424b3149003b | 57 | void oledData(void); |
Germaint | 23:424b3149003b | 58 | void readData(void); |
Germaint | 23:424b3149003b | 59 | void interruption_bouton(void); |
Germaint | 23:424b3149003b | 60 | void turnOffScreen(void); |
Germaint | 23:424b3149003b | 61 | void initOLED(void); |
Germaint | 23:424b3149003b | 62 | |
Germaint | 23:424b3149003b | 63 | // Variables globales |
Germaint | 23:424b3149003b | 64 | bool oled_on = 0; // flag OLED |
Germaint | 23:424b3149003b | 65 | float temperature_sol; |
Germaint | 23:424b3149003b | 66 | unsigned char humidity_sol; |
Germaint | 23:424b3149003b | 67 | float temperature_air; |
Germaint | 23:424b3149003b | 68 | unsigned char humidity_air; |
Germaint | 23:424b3149003b | 69 | unsigned char pr, pg, pb; |
Germaint | 23:424b3149003b | 70 | unsigned short lum; |