Plant Monitoring project ei2i-4 Made by Jeanne Baumier, Anaïs Auberval and Thomas Broussard

Dependencies:   mbed

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?

UserRevisionLine numberNew 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