Plant Monitoring Project

Dependencies:   mbed SHT21_ncleee WakeUp SSD1306 DHT Adafruit_TCS34725 DS1820

Committer:
Germaint
Date:
Mon Dec 09 08:52:09 2019 +0000
Revision:
29:29df6820812c
Parent:
26:5d38b3abb89a
fork

Who changed what in which revision?

UserRevisionLine numberNew 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 23:424b3149003b 9
Germaint 23:424b3149003b 10 #define DUREE_OFF 10 // Durée en seconde entre deux mesures
Germaint 23:424b3149003b 11 #define DUREE_ECRAN_ON 5 // Durée en seconde d'éveil de l'écran
Germaint 23:424b3149003b 12
Germaint 23:424b3149003b 13 #define I2C_SDA D4
Germaint 23:424b3149003b 14 #define I2C_SCL D5
Germaint 23:424b3149003b 15
Germaint 23:424b3149003b 16 Ticker timeScreen;
Germaint 23:424b3149003b 17
Germaint 23:424b3149003b 18 #ifdef DEBUG
Germaint 23:424b3149003b 19 Serial pc(SERIAL_TX, SERIAL_RX);
Germaint 23:424b3149003b 20 #endif
Germaint 23:424b3149003b 21
Germaint 23:424b3149003b 22 #ifdef SIGFOX
Germaint 23:424b3149003b 23 Serial wisol(D1,D0);
Germaint 23:424b3149003b 24 #endif
Germaint 23:424b3149003b 25
Germaint 23:424b3149003b 26 I2C i2c(I2C_SDA, I2C_SCL);
Germaint 23:424b3149003b 27
Germaint 23:424b3149003b 28 #ifdef OLED
Germaint 23:424b3149003b 29 SSD1306 oled(D12, A6);
Germaint 23:424b3149003b 30 #endif
Germaint 23:424b3149003b 31
Germaint 23:424b3149003b 32 InterruptIn bouton(D10);
Germaint 23:424b3149003b 33
Germaint 23:424b3149003b 34 // Capteurs
Germaint 29:29df6820812c 35 DigitalOut sensorsOFF(D9);
Germaint 29:29df6820812c 36
Germaint 23:424b3149003b 37 #ifdef FLOOR_TEMPERATURE
Germaint 23:424b3149003b 38 DS1820 DS(D2); // temperature sol
Germaint 23:424b3149003b 39 #endif
Germaint 23:424b3149003b 40
Germaint 23:424b3149003b 41 #ifdef FLOOR_HUMIDITY
Germaint 23:424b3149003b 42 AnalogIn capteur_humidity_sol(A0); // humidité sol
Germaint 23:424b3149003b 43 #endif
Germaint 23:424b3149003b 44
Germaint 23:424b3149003b 45 #ifdef AIR_PARAMETERS
Germaint 23:424b3149003b 46 SHT21 sht(&i2c); // humidité + température air
Germaint 23:424b3149003b 47 #endif
Germaint 23:424b3149003b 48
Germaint 23:424b3149003b 49 #ifdef RGB
Germaint 23:424b3149003b 50 Adafruit_TCS34725 RGBsens = Adafruit_TCS34725(&i2c, TCS34725_INTEGRATIONTIME_154MS, TCS34725_GAIN_1X); // RGB
Germaint 23:424b3149003b 51 #endif
Germaint 23:424b3149003b 52
Germaint 23:424b3149003b 53 // Fonctions
Germaint 23:424b3149003b 54 float temp_sol(void);
Germaint 23:424b3149003b 55 int fct_humidity_sol(void);
Germaint 23:424b3149003b 56 void fct_RGB(void);
Germaint 23:424b3149003b 57 void sendDataSigfox(void);
Germaint 23:424b3149003b 58 void oledData(void);
Germaint 23:424b3149003b 59 void readData(void);
Germaint 23:424b3149003b 60 void interruption_bouton(void);
Germaint 23:424b3149003b 61 void turnOffScreen(void);
Germaint 23:424b3149003b 62 void initOLED(void);
Germaint 23:424b3149003b 63
Germaint 23:424b3149003b 64 // Variables globales
Germaint 23:424b3149003b 65 bool oled_on = 0; // flag OLED
Germaint 23:424b3149003b 66 float temperature_sol;
Germaint 23:424b3149003b 67 unsigned char humidity_sol;
Germaint 23:424b3149003b 68 float temperature_air;
Germaint 23:424b3149003b 69 unsigned char humidity_air;
Germaint 23:424b3149003b 70 unsigned char pr, pg, pb;
Germaint 23:424b3149003b 71 unsigned short lum;