Plant Monitoring project ei2i-4 Made by Jeanne Baumier, Anaïs Auberval and Thomas Broussard
Dependencies: mbed
Mapping.h@9:c1392dfc57b8, 2018-01-15 (annotated)
- Committer:
- Tbroussard
- Date:
- Mon Jan 15 15:57:21 2018 +0000
- Revision:
- 9:c1392dfc57b8
- Parent:
- 6:96556f982fb7
Add deepsleep mode
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Tbroussard | 4:63b7f6304f74 | 1 | /**************************************************************************************************************************************************** |
Tbroussard | 4:63b7f6304f74 | 2 | Titre : Mapping.h |
Tbroussard | 4:63b7f6304f74 | 3 | Auteur : Jeanne Baumier, Anaïs Auberval et Thomas Broussard |
Tbroussard | 4:63b7f6304f74 | 4 | Date : 29/11/17 |
Tbroussard | 4:63b7f6304f74 | 5 | Plateforme : STM32L432KC |
Tbroussard | 4:63b7f6304f74 | 6 | Projet : PlantSigfox - Monitoring de plante à distance |
Tbroussard | 4:63b7f6304f74 | 7 | -------------------------------- |
Tbroussard | 4:63b7f6304f74 | 8 | Description : |
Tbroussard | 4:63b7f6304f74 | 9 | Configuration du programme principal : |
Tbroussard | 4:63b7f6304f74 | 10 | - activation ou désactivation des composants |
Tbroussard | 4:63b7f6304f74 | 11 | - paramètres d'étalonnage et de mesure des capteurs |
Tbroussard | 4:63b7f6304f74 | 12 | - sélection des broches pour le microcontrôleur |
Tbroussard | 4:63b7f6304f74 | 13 | ****************************************************************************************************************************************************/ |
Tbroussard | 4:63b7f6304f74 | 14 | |
Tbroussard | 4:63b7f6304f74 | 15 | #ifndef __MAPPING_H__ |
Tbroussard | 4:63b7f6304f74 | 16 | #define __MAPPING_H__ |
Tbroussard | 4:63b7f6304f74 | 17 | |
Tbroussard | 4:63b7f6304f74 | 18 | // ############################################################################## |
Tbroussard | 4:63b7f6304f74 | 19 | // DEFINITION DES COMPOSANTS A UTILISER |
Tbroussard | 4:63b7f6304f74 | 20 | // ############################################################################## |
Tbroussard | 4:63b7f6304f74 | 21 | // Utilisation du composant (decommenter pour activer le composant) |
Tbroussard | 4:63b7f6304f74 | 22 | // Composants généraux (affichage, communication...) |
Tbroussard | 4:63b7f6304f74 | 23 | #define OLED_ACTIF |
Tbroussard | 4:63b7f6304f74 | 24 | #define SIGFOX_ACTIF |
Tbroussard | 4:63b7f6304f74 | 25 | #define I2C_ACTIF |
Tbroussard | 4:63b7f6304f74 | 26 | //#define DEBUG_UART_ACTIF |
Tbroussard | 4:63b7f6304f74 | 27 | |
Tbroussard | 4:63b7f6304f74 | 28 | // Capteurs / Monitoring |
Tbroussard | 4:63b7f6304f74 | 29 | #define DHT_ACTIF |
Tbroussard | 4:63b7f6304f74 | 30 | #define GROVE_MOIST_ACTIF |
Tbroussard | 4:63b7f6304f74 | 31 | #define ONEWIRE_TEMP_ACTIF |
Tbroussard | 4:63b7f6304f74 | 32 | #define LUX_ACTIF |
Tbroussard | 4:63b7f6304f74 | 33 | #define RGB_ACTIF |
Tbroussard | 4:63b7f6304f74 | 34 | #define BATTERIE_ACTIF |
Tbroussard | 4:63b7f6304f74 | 35 | |
Tbroussard | 4:63b7f6304f74 | 36 | // ############################################################################## |
Tbroussard | 4:63b7f6304f74 | 37 | // CONFIGURATION ET MAPPING DE LA CARTE STM32L432KC |
Tbroussard | 4:63b7f6304f74 | 38 | // ############################################################################## |
Tbroussard | 4:63b7f6304f74 | 39 | |
Tbroussard | 4:63b7f6304f74 | 40 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 41 | // Ecran OLED |
Tbroussard | 4:63b7f6304f74 | 42 | // Reference : OLED 0.96" (Adafruit) |
Tbroussard | 4:63b7f6304f74 | 43 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 44 | |
Tbroussard | 4:63b7f6304f74 | 45 | // Mise en veille de l'écran (commenter pour laisser l'ecran actif tout le temps) |
Tbroussard | 4:63b7f6304f74 | 46 | #define OLED_VEILLE |
Tbroussard | 4:63b7f6304f74 | 47 | |
Tbroussard | 4:63b7f6304f74 | 48 | // Dimensions de l'ecran (pixels) |
Tbroussard | 4:63b7f6304f74 | 49 | #define LARGEUR_OLED 128 |
Tbroussard | 4:63b7f6304f74 | 50 | #define HAUTEUR_OLED 64 |
Tbroussard | 4:63b7f6304f74 | 51 | |
Tbroussard | 4:63b7f6304f74 | 52 | // Mapping |
Tbroussard | 4:63b7f6304f74 | 53 | #define MISO NC |
Tbroussard | 4:63b7f6304f74 | 54 | #define MOSI D2 |
Tbroussard | 4:63b7f6304f74 | 55 | #define CLK A1 |
Tbroussard | 4:63b7f6304f74 | 56 | #define DC D9 |
Tbroussard | 4:63b7f6304f74 | 57 | #define RST_SPI D10 |
Tbroussard | 4:63b7f6304f74 | 58 | #define CS D11 |
Tbroussard | 4:63b7f6304f74 | 59 | |
Tbroussard | 4:63b7f6304f74 | 60 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 61 | // Nom : Capteur Luminosite et RGB |
Tbroussard | 4:63b7f6304f74 | 62 | // Reference : TSL2561 et TCS34725 (Adafruit) |
Tbroussard | 4:63b7f6304f74 | 63 | // Communication : i2c |
Tbroussard | 4:63b7f6304f74 | 64 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 65 | |
Tbroussard | 4:63b7f6304f74 | 66 | // Etalonnage du capteur de luminosite |
Tbroussard | 4:63b7f6304f74 | 67 | #define COEF_LUX 25 |
Tbroussard | 4:63b7f6304f74 | 68 | |
Tbroussard | 4:63b7f6304f74 | 69 | // Precision du capteur RGB en octets (decommenter celui a utiliser) |
Tbroussard | 4:63b7f6304f74 | 70 | // il faut oblitagoirement en definir un seul des deux pour utiliser le RGB |
Tbroussard | 4:63b7f6304f74 | 71 | #define RGB_1_OCTET |
Tbroussard | 4:63b7f6304f74 | 72 | //#define RGB_2_OCTET |
Tbroussard | 4:63b7f6304f74 | 73 | |
Tbroussard | 4:63b7f6304f74 | 74 | // Mapping i2c |
Tbroussard | 4:63b7f6304f74 | 75 | #define I2C_SDA D4 |
Tbroussard | 4:63b7f6304f74 | 76 | #define I2C_SCL D5 |
Tbroussard | 4:63b7f6304f74 | 77 | |
Tbroussard | 4:63b7f6304f74 | 78 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 79 | // Capteur d'Humidite/Temperature de l'air |
Tbroussard | 4:63b7f6304f74 | 80 | // Reference : DHT22 (Seeed) |
Tbroussard | 4:63b7f6304f74 | 81 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 82 | |
Tbroussard | 4:63b7f6304f74 | 83 | // Mapping |
Tbroussard | 4:63b7f6304f74 | 84 | #define DHT_PIN A0 |
Tbroussard | 4:63b7f6304f74 | 85 | |
Tbroussard | 4:63b7f6304f74 | 86 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 87 | // Capteur d'Humidite du Sol |
Tbroussard | 4:63b7f6304f74 | 88 | // Reference : Moisture Sensor (Grove) |
Tbroussard | 4:63b7f6304f74 | 89 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 90 | |
Tbroussard | 4:63b7f6304f74 | 91 | // Etalonnage du capteur |
Tbroussard | 4:63b7f6304f74 | 92 | #define GROVE_MOIST_MAX 0.55 |
Tbroussard | 4:63b7f6304f74 | 93 | #define GROVE_MOIST_MIN 0 |
Tbroussard | 4:63b7f6304f74 | 94 | |
Tbroussard | 4:63b7f6304f74 | 95 | // Mapping |
Tbroussard | 4:63b7f6304f74 | 96 | #define GROVE_MOIST_PIN A3 |
Tbroussard | 4:63b7f6304f74 | 97 | |
Tbroussard | 4:63b7f6304f74 | 98 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 99 | // Capteur de Temperature du Sol |
Tbroussard | 4:63b7f6304f74 | 100 | // Reference : One Wire CRC |
Tbroussard | 4:63b7f6304f74 | 101 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 102 | |
Tbroussard | 4:63b7f6304f74 | 103 | // Mapping |
Tbroussard | 4:63b7f6304f74 | 104 | #define ONEWIRE_TEMP_PIN A2 |
Tbroussard | 4:63b7f6304f74 | 105 | |
Tbroussard | 4:63b7f6304f74 | 106 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 107 | // Module Sigfox |
Tbroussard | 4:63b7f6304f74 | 108 | // Reference : TD1208 (SnootLab) |
Tbroussard | 4:63b7f6304f74 | 109 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 110 | |
Tbroussard | 4:63b7f6304f74 | 111 | // Mapping |
Tbroussard | 4:63b7f6304f74 | 112 | #define SIGFOX_RX D1 |
Tbroussard | 4:63b7f6304f74 | 113 | #define SIGFOX_TX D0 |
Tbroussard | 4:63b7f6304f74 | 114 | |
Tbroussard | 4:63b7f6304f74 | 115 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 116 | // Batterie |
Tbroussard | 4:63b7f6304f74 | 117 | // ------------------------------------------------------------------------------ |
Tbroussard | 6:96556f982fb7 | 118 | // Etalonnage : défini dans le programme principal |
Tbroussard | 6:96556f982fb7 | 119 | |
Tbroussard | 4:63b7f6304f74 | 120 | // Mapping |
Tbroussard | 4:63b7f6304f74 | 121 | #define BATTERIE_PIN A6 |
Tbroussard | 4:63b7f6304f74 | 122 | |
Tbroussard | 4:63b7f6304f74 | 123 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 124 | // Mesures realisees par les ADC |
Tbroussard | 4:63b7f6304f74 | 125 | // ------------------------------------------------------------------------------ |
Tbroussard | 4:63b7f6304f74 | 126 | // Nombre de point de mesure utilisees pour moyenner les resultats |
Tbroussard | 4:63b7f6304f74 | 127 | #define NB_MESURES 100 |
Tbroussard | 4:63b7f6304f74 | 128 | |
Tbroussard | 4:63b7f6304f74 | 129 | // Temps entre chaque point de mesure (Secondes) |
Tbroussard | 4:63b7f6304f74 | 130 | #define TEMPS_MESURE 0.1 |
Tbroussard | 4:63b7f6304f74 | 131 | |
Tbroussard | 4:63b7f6304f74 | 132 | // Temps entre chaque releve de mesure (Secondes) |
Tbroussard | 4:63b7f6304f74 | 133 | #define TEMPS_RELEVE 600 |
Tbroussard | 4:63b7f6304f74 | 134 | |
Tbroussard | 4:63b7f6304f74 | 135 | // Temps d'affichage a l'ecran (Secondes) |
Tbroussard | 4:63b7f6304f74 | 136 | // important : doit etre inferieur a TEMPS_RELEVE |
Tbroussard | 4:63b7f6304f74 | 137 | #define DUREE_AFFICHAGE 30 |
Tbroussard | 4:63b7f6304f74 | 138 | |
Tbroussard | 4:63b7f6304f74 | 139 | // ############################################################################## |
Tbroussard | 4:63b7f6304f74 | 140 | // Verification des paramètres lors de la compilation du programme |
Tbroussard | 4:63b7f6304f74 | 141 | // ############################################################################## |
Tbroussard | 4:63b7f6304f74 | 142 | |
Tbroussard | 4:63b7f6304f74 | 143 | // On s'assure que les timings soient coherents |
Tbroussard | 4:63b7f6304f74 | 144 | #if defined(OLED_VEILLE) && (TEMPS_RELEVE <= DUREE_AFFICHAGE) |
Tbroussard | 4:63b7f6304f74 | 145 | #error "TEMPS_RELEVE ne peut pas etre inferieur a DUREE_AFFICHAGE !" |
Tbroussard | 4:63b7f6304f74 | 146 | #endif |
Tbroussard | 4:63b7f6304f74 | 147 | |
Tbroussard | 4:63b7f6304f74 | 148 | // Verification des paramètres RGB |
Tbroussard | 4:63b7f6304f74 | 149 | #if defined(RGB_1_OCTET) && defined(RGB_2_OCTET) |
Tbroussard | 4:63b7f6304f74 | 150 | #error "RGB_1_OCTET et RGB_2_OCTET ne peuvent pas etre definis en meme temps !" |
Tbroussard | 4:63b7f6304f74 | 151 | #endif |
Tbroussard | 4:63b7f6304f74 | 152 | |
Tbroussard | 4:63b7f6304f74 | 153 | #if defined(RGB_ACTIF) && !defined(RGB_1_OCTET) && !defined(RGB_2_OCTET) |
Tbroussard | 4:63b7f6304f74 | 154 | #error "Le capteur RGB est actif mais aucun format de donnees n'a ete choisi !" |
Tbroussard | 5:209b3eb7c162 | 155 | #error "Pensez a decommenter une des lignes RGB_OCTET" |
Tbroussard | 4:63b7f6304f74 | 156 | #endif |
Tbroussard | 4:63b7f6304f74 | 157 | |
Tbroussard | 4:63b7f6304f74 | 158 | #endif |