
Programme du projet interfacage : Detecteur de couleur QUINQUIRY Guillaume LPRO MECSE
Dependencies: mbed APDS_9960 BSP_DISCO_F746NG
capteurcouleurmain.cpp@0:3d348423a518, 2021-06-24 (annotated)
- Committer:
- guillaumequinquiry
- Date:
- Thu Jun 24 12:00:03 2021 +0000
- Revision:
- 0:3d348423a518
Programme interfacage QUINQUIRY Guillaume
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
guillaumequinquiry | 0:3d348423a518 | 1 | #include "mbed.h" // Bibliothèque mbed intialement dans le programme |
guillaumequinquiry | 0:3d348423a518 | 2 | #include "stm32746g_discovery_lcd.h" // bibliothèque pour les fonctions de l’écran lcd (graphique) |
guillaumequinquiry | 0:3d348423a518 | 3 | #include "stm32746g_discovery_ts.h" // bibliothèque pour les fonctions de l’écran lcd (tactile) |
guillaumequinquiry | 0:3d348423a518 | 4 | #include "stm32746g_discovery.h" // bibliothèque pour les fonctions de la carte stm32746g |
guillaumequinquiry | 0:3d348423a518 | 5 | #include "glibr.h" // bibiliothèque pour les fonctions des capteurs de l'APDS9960 |
guillaumequinquiry | 0:3d348423a518 | 6 | |
guillaumequinquiry | 0:3d348423a518 | 7 | // Masques pour le capteur de couleur donc la valeur est codée sur 16 bits |
guillaumequinquiry | 0:3d348423a518 | 8 | #define HIGH 0xFF00 |
guillaumequinquiry | 0:3d348423a518 | 9 | #define LOW 0x00FF |
guillaumequinquiry | 0:3d348423a518 | 10 | |
guillaumequinquiry | 0:3d348423a518 | 11 | int main() |
guillaumequinquiry | 0:3d348423a518 | 12 | { |
guillaumequinquiry | 0:3d348423a518 | 13 | glibr ColorSensor(PB_9,PB_8); // bus I2C broches sda, scl |
guillaumequinquiry | 0:3d348423a518 | 14 | InterruptIn interrupt(PA_8); // broche d'interruption |
guillaumequinquiry | 0:3d348423a518 | 15 | Serial pc(USBTX, USBRX); // définition du port usb |
guillaumequinquiry | 0:3d348423a518 | 16 | uint16_t light, r, b, g; // Variable contenant les couleurs pour le rouge,vert,bleu |
guillaumequinquiry | 0:3d348423a518 | 17 | uint8_t text[30], text1[30],text2[30], text3[30], text4[30],p;// Variable pour pouvoir afficher les valeurs sur l'écran LCD |
guillaumequinquiry | 0:3d348423a518 | 18 | char rouge[500], vert[500], bleu[500]; |
guillaumequinquiry | 0:3d348423a518 | 19 | TS_StateTypeDef TS_State = {0}; // Variable comprenant l'état de l'écran tactile |
guillaumequinquiry | 0:3d348423a518 | 20 | int touchScreen=1; // |
guillaumequinquiry | 0:3d348423a518 | 21 | |
guillaumequinquiry | 0:3d348423a518 | 22 | BSP_LCD_Init(); // initialisation de l'écran LCD |
guillaumequinquiry | 0:3d348423a518 | 23 | BSP_LCD_LayerDefaultInit(0, LCD_FB_START_ADDRESS); |
guillaumequinquiry | 0:3d348423a518 | 24 | BSP_LCD_SelectLayer(0); |
guillaumequinquiry | 0:3d348423a518 | 25 | |
guillaumequinquiry | 0:3d348423a518 | 26 | /* Initialisation de l'écran tactile */ |
guillaumequinquiry | 0:3d348423a518 | 27 | if (BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize()) == TS_ERROR) { |
guillaumequinquiry | 0:3d348423a518 | 28 | printf("BSP_TS_Init error\n"); |
guillaumequinquiry | 0:3d348423a518 | 29 | } |
guillaumequinquiry | 0:3d348423a518 | 30 | |
guillaumequinquiry | 0:3d348423a518 | 31 | /* Mise à blanc de l'écran tactile */ |
guillaumequinquiry | 0:3d348423a518 | 32 | BSP_LCD_Clear(LCD_COLOR_WHITE); |
guillaumequinquiry | 0:3d348423a518 | 33 | |
guillaumequinquiry | 0:3d348423a518 | 34 | /* Affichage de l'interface d'entrée */ |
guillaumequinquiry | 0:3d348423a518 | 35 | BSP_LCD_SetTextColor(LCD_COLOR_BLUE); |
guillaumequinquiry | 0:3d348423a518 | 36 | BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 40); |
guillaumequinquiry | 0:3d348423a518 | 37 | BSP_LCD_SetTextColor(LCD_COLOR_DARKMAGENTA); |
guillaumequinquiry | 0:3d348423a518 | 38 | BSP_LCD_FillRect(0, 40, BSP_LCD_GetXSize(), 40); |
guillaumequinquiry | 0:3d348423a518 | 39 | BSP_LCD_SetTextColor(LCD_COLOR_DARKGREEN); |
guillaumequinquiry | 0:3d348423a518 | 40 | BSP_LCD_FillRect(0, 80, BSP_LCD_GetXSize(), 45); |
guillaumequinquiry | 0:3d348423a518 | 41 | BSP_LCD_SetTextColor(LCD_COLOR_BLACK); |
guillaumequinquiry | 0:3d348423a518 | 42 | BSP_LCD_SetBackColor(LCD_COLOR_GREEN); |
guillaumequinquiry | 0:3d348423a518 | 43 | BSP_LCD_SetFont(&Font24); |
guillaumequinquiry | 0:3d348423a518 | 44 | BSP_LCD_DisplayStringAt(0, 125, (uint8_t *)"Color Sensor, Touch to start", CENTER_MODE); // Affichage sur l'écran |
guillaumequinquiry | 0:3d348423a518 | 45 | BSP_LCD_SetTextColor(LCD_COLOR_YELLOW); |
guillaumequinquiry | 0:3d348423a518 | 46 | BSP_LCD_FillRect(0, 148, BSP_LCD_GetXSize(), 45); |
guillaumequinquiry | 0:3d348423a518 | 47 | BSP_LCD_SetTextColor(LCD_COLOR_ORANGE); |
guillaumequinquiry | 0:3d348423a518 | 48 | BSP_LCD_FillRect(0, 193, BSP_LCD_GetXSize(), 42); |
guillaumequinquiry | 0:3d348423a518 | 49 | BSP_LCD_SetTextColor(LCD_COLOR_RED); |
guillaumequinquiry | 0:3d348423a518 | 50 | BSP_LCD_FillRect(0, 235, BSP_LCD_GetXSize(), 40); |
guillaumequinquiry | 0:3d348423a518 | 51 | |
guillaumequinquiry | 0:3d348423a518 | 52 | while(touchScreen) |
guillaumequinquiry | 0:3d348423a518 | 53 | { |
guillaumequinquiry | 0:3d348423a518 | 54 | BSP_TS_GetState(&TS_State); |
guillaumequinquiry | 0:3d348423a518 | 55 | if (TS_State.touchDetected) |
guillaumequinquiry | 0:3d348423a518 | 56 | { |
guillaumequinquiry | 0:3d348423a518 | 57 | touchScreen=0; // Mise à 0 de la variable lors d'un appui sur l'écran |
guillaumequinquiry | 0:3d348423a518 | 58 | } |
guillaumequinquiry | 0:3d348423a518 | 59 | } |
guillaumequinquiry | 0:3d348423a518 | 60 | |
guillaumequinquiry | 0:3d348423a518 | 61 | /* Initialisation de l'APPDS et de l'ensemble de ses capteurs*/ |
guillaumequinquiry | 0:3d348423a518 | 62 | if ( ColorSensor.ginit() ) { |
guillaumequinquiry | 0:3d348423a518 | 63 | pc.printf("APDS-9960 initialization complete\n\r"); |
guillaumequinquiry | 0:3d348423a518 | 64 | } else { |
guillaumequinquiry | 0:3d348423a518 | 65 | pc.printf("Something went wrong during APDS-9960 init\n\r"); |
guillaumequinquiry | 0:3d348423a518 | 66 | } |
guillaumequinquiry | 0:3d348423a518 | 67 | while(1) |
guillaumequinquiry | 0:3d348423a518 | 68 | { |
guillaumequinquiry | 0:3d348423a518 | 69 | BSP_TS_GetState(&TS_State); // récupération de l'état de l'écran |
guillaumequinquiry | 0:3d348423a518 | 70 | if (TS_State.touchDetected) // si appui tactile sur l'écran |
guillaumequinquiry | 0:3d348423a518 | 71 | { |
guillaumequinquiry | 0:3d348423a518 | 72 | BSP_LCD_Clear(LCD_COLOR_WHITE); |
guillaumequinquiry | 0:3d348423a518 | 73 | BSP_LCD_SetTextColor(LCD_COLOR_BLACK); |
guillaumequinquiry | 0:3d348423a518 | 74 | BSP_LCD_SetFont(&Font24); |
guillaumequinquiry | 0:3d348423a518 | 75 | BSP_LCD_SetBackColor(LCD_COLOR_WHITE); |
guillaumequinquiry | 0:3d348423a518 | 76 | BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"Couleur detecte : ", CENTER_MODE); // affichage de l'application |
guillaumequinquiry | 0:3d348423a518 | 77 | } |
guillaumequinquiry | 0:3d348423a518 | 78 | |
guillaumequinquiry | 0:3d348423a518 | 79 | if ( ColorSensor.enableLightSensor(true) and ColorSensor.enableProximitySensor(true) and touchScreen == 0 ) // Utilisation des capteurs de couleur et de proximité |
guillaumequinquiry | 0:3d348423a518 | 80 | { |
guillaumequinquiry | 0:3d348423a518 | 81 | ColorSensor.readAmbientLight(light); // Fonction permettant de récupérer la valeur de la luminosité ambiante détecté par le capteur de lumiere |
guillaumequinquiry | 0:3d348423a518 | 82 | /* Fonctions permettant de récupérer les valeurs des couleurs RGB rouge,vert,bleu détecté par le capteur de couleur/lumiere */ |
guillaumequinquiry | 0:3d348423a518 | 83 | ColorSensor.readRedLight(r); |
guillaumequinquiry | 0:3d348423a518 | 84 | ColorSensor.readGreenLight(g); |
guillaumequinquiry | 0:3d348423a518 | 85 | ColorSensor.readBlueLight(b); |
guillaumequinquiry | 0:3d348423a518 | 86 | //Fonction permettant de récupérer la valeur de la proximité d'un objet avec le capteur de proximité |
guillaumequinquiry | 0:3d348423a518 | 87 | ColorSensor.readProximity(p); |
guillaumequinquiry | 0:3d348423a518 | 88 | |
guillaumequinquiry | 0:3d348423a518 | 89 | //Lecture des deux octets pour la couleur |
guillaumequinquiry | 0:3d348423a518 | 90 | /*rouge[0]= (char)((r & HIGH)>>8); // affiche 0 |
guillaumequinquiry | 0:3d348423a518 | 91 | rouge[1]= (char) (r & LOW); // affiche la même valeur que si on affiche directement r |
guillaumequinquiry | 0:3d348423a518 | 92 | i2c.read(0x39,data,2); |
guillaumequinquiry | 0:3d348423a518 | 93 | sprintf((char *) lumiere,data); |
guillaumequinquiry | 0:3d348423a518 | 94 | vert[0]= (char)((g & HIGH)>>8); |
guillaumequinquiry | 0:3d348423a518 | 95 | vert[1]= (char) (g & LOW); |
guillaumequinquiry | 0:3d348423a518 | 96 | bleu[0]= (char)((b & HIGH)>>8); |
guillaumequinquiry | 0:3d348423a518 | 97 | bleu[1]= (char) (g & LOW); |
guillaumequinquiry | 0:3d348423a518 | 98 | sprintf((char *)test, "%d ", rouge[0]); |
guillaumequinquiry | 0:3d348423a518 | 99 | pc.printf("\nRed = "); |
guillaumequinquiry | 0:3d348423a518 | 100 | pc.printf((char *)lumiere);*/ |
guillaumequinquiry | 0:3d348423a518 | 101 | |
guillaumequinquiry | 0:3d348423a518 | 102 | BSP_LCD_SetBackColor(LCD_COLOR_WHITE); |
guillaumequinquiry | 0:3d348423a518 | 103 | BSP_LCD_SetTextColor(LCD_COLOR_BLACK); |
guillaumequinquiry | 0:3d348423a518 | 104 | BSP_LCD_SetFont(&Font24); |
guillaumequinquiry | 0:3d348423a518 | 105 | |
guillaumequinquiry | 0:3d348423a518 | 106 | // conversion des valeurs uint 16 en char pour affichage sur l'écran LCD |
guillaumequinquiry | 0:3d348423a518 | 107 | sprintf((char *)text,"Lum = %d", light); |
guillaumequinquiry | 0:3d348423a518 | 108 | pc.printf((char *)text); |
guillaumequinquiry | 0:3d348423a518 | 109 | BSP_LCD_DisplayStringAt(70, 200, (uint8_t *)text, CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 110 | BSP_LCD_SetTextColor(LCD_COLOR_RED); |
guillaumequinquiry | 0:3d348423a518 | 111 | sprintf((char *)text1, "R = %d", r); |
guillaumequinquiry | 0:3d348423a518 | 112 | pc.printf((char *)text1); |
guillaumequinquiry | 0:3d348423a518 | 113 | BSP_LCD_DisplayStringAt(40, 175, (uint8_t *)text1, LEFT_MODE); |
guillaumequinquiry | 0:3d348423a518 | 114 | BSP_LCD_SetTextColor(LCD_COLOR_GREEN); |
guillaumequinquiry | 0:3d348423a518 | 115 | sprintf((char *)text2, "V = %d", g); |
guillaumequinquiry | 0:3d348423a518 | 116 | pc.printf((char *)text2); |
guillaumequinquiry | 0:3d348423a518 | 117 | BSP_LCD_DisplayStringAt(40, 200, (uint8_t *)text2, LEFT_MODE); |
guillaumequinquiry | 0:3d348423a518 | 118 | BSP_LCD_SetTextColor(LCD_COLOR_BLUE); |
guillaumequinquiry | 0:3d348423a518 | 119 | sprintf((char *)text3, "B = %d", b); |
guillaumequinquiry | 0:3d348423a518 | 120 | pc.printf((char *)text3); |
guillaumequinquiry | 0:3d348423a518 | 121 | BSP_LCD_DisplayStringAt(40, 225, (uint8_t *)text3, LEFT_MODE); |
guillaumequinquiry | 0:3d348423a518 | 122 | sprintf((char *)text4, "%d", p); |
guillaumequinquiry | 0:3d348423a518 | 123 | pc.printf("\nProximite = "); |
guillaumequinquiry | 0:3d348423a518 | 124 | pc.printf((char *)text4); |
guillaumequinquiry | 0:3d348423a518 | 125 | |
guillaumequinquiry | 0:3d348423a518 | 126 | /* Début des conditions pour afficher les différentes couleurs en fonction des valeurs rgb du capteur */ |
guillaumequinquiry | 0:3d348423a518 | 127 | |
guillaumequinquiry | 0:3d348423a518 | 128 | if(r == 0 and g ==0 and b == 0)// si aucune couleur détecté => Couleur Noir |
guillaumequinquiry | 0:3d348423a518 | 129 | { |
guillaumequinquiry | 0:3d348423a518 | 130 | BSP_LCD_SetTextColor(LCD_COLOR_BLACK); |
guillaumequinquiry | 0:3d348423a518 | 131 | BSP_LCD_FillRect(0, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 132 | BSP_LCD_FillRect(435, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 133 | BSP_LCD_SetFont(&Font24); |
guillaumequinquiry | 0:3d348423a518 | 134 | BSP_LCD_DisplayStringAt(0, 125, (uint8_t *)"Noir ", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 135 | } |
guillaumequinquiry | 0:3d348423a518 | 136 | |
guillaumequinquiry | 0:3d348423a518 | 137 | if(b > g and g > r)// si bleu > vert > rouge => Couleur Bleu |
guillaumequinquiry | 0:3d348423a518 | 138 | { |
guillaumequinquiry | 0:3d348423a518 | 139 | BSP_LCD_SetTextColor(LCD_COLOR_BLUE); |
guillaumequinquiry | 0:3d348423a518 | 140 | BSP_LCD_FillRect(0, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 141 | BSP_LCD_FillRect(435, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 142 | BSP_LCD_SetFont(&Font24); |
guillaumequinquiry | 0:3d348423a518 | 143 | BSP_LCD_DisplayStringAt(0, 125, (uint8_t *)"Bleu ", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 144 | } |
guillaumequinquiry | 0:3d348423a518 | 145 | |
guillaumequinquiry | 0:3d348423a518 | 146 | if (b > r and r > g) // si bleu > rouge > vert => Couleur Violet |
guillaumequinquiry | 0:3d348423a518 | 147 | { |
guillaumequinquiry | 0:3d348423a518 | 148 | BSP_LCD_SetTextColor(LCD_COLOR_MAGENTA); |
guillaumequinquiry | 0:3d348423a518 | 149 | BSP_LCD_FillRect(0, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 150 | BSP_LCD_FillRect(435, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 151 | BSP_LCD_SetFont(&Font24); |
guillaumequinquiry | 0:3d348423a518 | 152 | BSP_LCD_DisplayStringAt(0, 125, (uint8_t *)"Violet", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 153 | } |
guillaumequinquiry | 0:3d348423a518 | 154 | |
guillaumequinquiry | 0:3d348423a518 | 155 | if (r > g and g > b) // si rouge > vert > bleu => Couleur Jaune |
guillaumequinquiry | 0:3d348423a518 | 156 | { |
guillaumequinquiry | 0:3d348423a518 | 157 | BSP_LCD_SetTextColor(LCD_COLOR_YELLOW); |
guillaumequinquiry | 0:3d348423a518 | 158 | BSP_LCD_FillRect(0, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 159 | BSP_LCD_FillRect(435, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 160 | BSP_LCD_SetFont(&Font24); |
guillaumequinquiry | 0:3d348423a518 | 161 | BSP_LCD_DisplayStringAt(0, 125, (uint8_t *)"Jaune ", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 162 | |
guillaumequinquiry | 0:3d348423a518 | 163 | } |
guillaumequinquiry | 0:3d348423a518 | 164 | |
guillaumequinquiry | 0:3d348423a518 | 165 | if (r > g and g == b) // si rouge > vert=bleu => Couleur Orange |
guillaumequinquiry | 0:3d348423a518 | 166 | { |
guillaumequinquiry | 0:3d348423a518 | 167 | BSP_LCD_SetTextColor(LCD_COLOR_ORANGE); |
guillaumequinquiry | 0:3d348423a518 | 168 | BSP_LCD_FillRect(0, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 169 | BSP_LCD_FillRect(435, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 170 | BSP_LCD_SetFont(&Font24); |
guillaumequinquiry | 0:3d348423a518 | 171 | BSP_LCD_DisplayStringAt(0, 125, (uint8_t *)"Orange", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 172 | |
guillaumequinquiry | 0:3d348423a518 | 173 | } |
guillaumequinquiry | 0:3d348423a518 | 174 | |
guillaumequinquiry | 0:3d348423a518 | 175 | if (g > b and b > r) // si vert > bleu > rouge => Couleur Verte |
guillaumequinquiry | 0:3d348423a518 | 176 | { |
guillaumequinquiry | 0:3d348423a518 | 177 | BSP_LCD_SetTextColor(LCD_COLOR_GREEN); |
guillaumequinquiry | 0:3d348423a518 | 178 | BSP_LCD_FillRect(0, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 179 | BSP_LCD_FillRect(435, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 180 | BSP_LCD_SetFont(&Font24); |
guillaumequinquiry | 0:3d348423a518 | 181 | BSP_LCD_DisplayStringAt(0, 125, (uint8_t *)"Vert ", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 182 | } |
guillaumequinquiry | 0:3d348423a518 | 183 | |
guillaumequinquiry | 0:3d348423a518 | 184 | if (r > b and b > g) // si rouge > bleu > vert => Couleur Rouge |
guillaumequinquiry | 0:3d348423a518 | 185 | { |
guillaumequinquiry | 0:3d348423a518 | 186 | BSP_LCD_SetTextColor(LCD_COLOR_RED); |
guillaumequinquiry | 0:3d348423a518 | 187 | BSP_LCD_FillRect(0, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 188 | BSP_LCD_FillRect(435, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 189 | BSP_LCD_SetFont(&Font24); |
guillaumequinquiry | 0:3d348423a518 | 190 | BSP_LCD_DisplayStringAt(0, 125, (uint8_t *)"Rouge ", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 191 | } |
guillaumequinquiry | 0:3d348423a518 | 192 | if(b > g and g > r and b-g < 5 and g-r < 5 ) // si bleu > vert > rouge avec une très petite différence de valeur (inférieure à 5) => Couleur Blanc |
guillaumequinquiry | 0:3d348423a518 | 193 | { |
guillaumequinquiry | 0:3d348423a518 | 194 | BSP_LCD_SetTextColor(LCD_COLOR_WHITE); |
guillaumequinquiry | 0:3d348423a518 | 195 | BSP_LCD_FillRect(0, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 196 | BSP_LCD_FillRect(435, 0, 45, 45); |
guillaumequinquiry | 0:3d348423a518 | 197 | BSP_LCD_SetTextColor(LCD_COLOR_BLACK); |
guillaumequinquiry | 0:3d348423a518 | 198 | BSP_LCD_SetFont(&Font24); |
guillaumequinquiry | 0:3d348423a518 | 199 | BSP_LCD_DisplayStringAt(0, 125, (uint8_t *)"Blanc ", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 200 | } |
guillaumequinquiry | 0:3d348423a518 | 201 | |
guillaumequinquiry | 0:3d348423a518 | 202 | /* Conditions d'affichage pour le capteur de proximité*/ |
guillaumequinquiry | 0:3d348423a518 | 203 | |
guillaumequinquiry | 0:3d348423a518 | 204 | if (p == 255) // si p= valeur max : objet trop loin du capteur |
guillaumequinquiry | 0:3d348423a518 | 205 | { |
guillaumequinquiry | 0:3d348423a518 | 206 | BSP_LCD_SetTextColor(LCD_COLOR_RED); |
guillaumequinquiry | 0:3d348423a518 | 207 | BSP_LCD_DisplayStringAt(0, 10, (uint8_t *) "Objet trop pres", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 208 | } |
guillaumequinquiry | 0:3d348423a518 | 209 | else if (p == 0) // si p = valeur min : objet trop proche du capteur |
guillaumequinquiry | 0:3d348423a518 | 210 | { |
guillaumequinquiry | 0:3d348423a518 | 211 | BSP_LCD_SetTextColor(LCD_COLOR_RED); |
guillaumequinquiry | 0:3d348423a518 | 212 | BSP_LCD_DisplayStringAt(0, 10, (uint8_t *) "Objet trop loin", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 213 | } |
guillaumequinquiry | 0:3d348423a518 | 214 | else if (0 < p < 255) // entre les deux valeurs, mesures possibles |
guillaumequinquiry | 0:3d348423a518 | 215 | { |
guillaumequinquiry | 0:3d348423a518 | 216 | BSP_LCD_SetTextColor(LCD_COLOR_RED); |
guillaumequinquiry | 0:3d348423a518 | 217 | BSP_LCD_DisplayStringAt(0, 10, (uint8_t *) " ", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 218 | } |
guillaumequinquiry | 0:3d348423a518 | 219 | |
guillaumequinquiry | 0:3d348423a518 | 220 | /* Conditions d'affichage pour le capteur de lumière ambiante*/ |
guillaumequinquiry | 0:3d348423a518 | 221 | |
guillaumequinquiry | 0:3d348423a518 | 222 | if (light < 20 )// si la lumière est trop faible |
guillaumequinquiry | 0:3d348423a518 | 223 | { |
guillaumequinquiry | 0:3d348423a518 | 224 | BSP_LCD_SetTextColor(LCD_COLOR_BLACK); |
guillaumequinquiry | 0:3d348423a518 | 225 | BSP_LCD_DisplayStringAt(70, 240, (uint8_t *) "Trop Faible", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 226 | } |
guillaumequinquiry | 0:3d348423a518 | 227 | else if (light > 20 ) |
guillaumequinquiry | 0:3d348423a518 | 228 | { |
guillaumequinquiry | 0:3d348423a518 | 229 | BSP_LCD_SetTextColor(LCD_COLOR_BLACK); |
guillaumequinquiry | 0:3d348423a518 | 230 | BSP_LCD_DisplayStringAt(70, 240, (uint8_t *) " ", CENTER_MODE); |
guillaumequinquiry | 0:3d348423a518 | 231 | } |
guillaumequinquiry | 0:3d348423a518 | 232 | } |
guillaumequinquiry | 0:3d348423a518 | 233 | } |
guillaumequinquiry | 0:3d348423a518 | 234 | } |