Projet Interfaçage

Dependencies:   BSP_DISCO_F746NG

Committer:
liroy_theilor
Date:
Tue Jun 22 18:46:49 2021 +0000
Revision:
5:8ffa1e1d4895
Parent:
4:bb9c545c6d7f
Child:
6:c8fa01cd3dba
Projet

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bcostm 0:9933f7db9a9b 1 #include "mbed.h"
Jerome Coutant 3:9f66aabe7b3b 2 #include "stm32746g_discovery_lcd.h"
Jerome Coutant 3:9f66aabe7b3b 3 #include "stm32746g_discovery_ts.h"
bcostm 0:9933f7db9a9b 4
liroy_theilor 5:8ffa1e1d4895 5
liroy_theilor 5:8ffa1e1d4895 6 #include "mbed.h"// propre à mbed
liroy_theilor 5:8ffa1e1d4895 7 #include "stm32746g_discovery_lcd.h"// bibliothèque pour les fonctions de l’écran lcd
liroy_theilor 5:8ffa1e1d4895 8 #include "stm32746g_discovery_ts.h"// bibliothèque pour les fonctions de l’écran tactile
liroy_theilor 5:8ffa1e1d4895 9
liroy_theilor 4:bb9c545c6d7f 10 char affiche[30];
liroy_theilor 4:bb9c545c6d7f 11 int lecture;
liroy_theilor 4:bb9c545c6d7f 12 int compteur=0;
liroy_theilor 4:bb9c545c6d7f 13 bool obstak=false;
liroy_theilor 4:bb9c545c6d7f 14 int colis=0;
liroy_theilor 4:bb9c545c6d7f 15
liroy_theilor 4:bb9c545c6d7f 16 void capteurTOR ();
liroy_theilor 4:bb9c545c6d7f 17
liroy_theilor 4:bb9c545c6d7f 18
liroy_theilor 4:bb9c545c6d7f 19 PwmOut servo(D1); // Servomoteur
liroy_theilor 4:bb9c545c6d7f 20 DigitalIn capteur(A0); // Capteur de lettre
liroy_theilor 4:bb9c545c6d7f 21
liroy_theilor 4:bb9c545c6d7f 22
bcostm 0:9933f7db9a9b 23 int main()
bcostm 0:9933f7db9a9b 24 {
bcostm 0:9933f7db9a9b 25 TS_StateTypeDef TS_State;
bcostm 0:9933f7db9a9b 26 uint16_t x, y;
liroy_theilor 4:bb9c545c6d7f 27 uint8_t text[30];
liroy_theilor 4:bb9c545c6d7f 28 int i;
liroy_theilor 4:bb9c545c6d7f 29 char PSWD[4];
bcostm 0:9933f7db9a9b 30 uint8_t status;
bcostm 0:9933f7db9a9b 31 uint8_t idx;
bcostm 0:9933f7db9a9b 32 uint8_t cleared = 0;
bcostm 0:9933f7db9a9b 33 uint8_t prev_nb_touches = 0;
bcostm 0:9933f7db9a9b 34
Jerome Coutant 3:9f66aabe7b3b 35 BSP_LCD_Init();
Jerome Coutant 3:9f66aabe7b3b 36 BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS);
Jerome Coutant 3:9f66aabe7b3b 37 BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER);
bcostm 0:9933f7db9a9b 38
Jerome Coutant 3:9f66aabe7b3b 39 BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN DEMO", CENTER_MODE);
Jerome Coutant 3:9f66aabe7b3b 40 HAL_Delay(1000);
Jerome Coutant 3:9f66aabe7b3b 41
Jerome Coutant 3:9f66aabe7b3b 42 status = BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize());
liroy_theilor 4:bb9c545c6d7f 43 if (status != TS_OK)
liroy_theilor 4:bb9c545c6d7f 44 {
Jerome Coutant 3:9f66aabe7b3b 45 BSP_LCD_Clear(LCD_COLOR_RED);
Jerome Coutant 3:9f66aabe7b3b 46 BSP_LCD_SetBackColor(LCD_COLOR_RED);
Jerome Coutant 3:9f66aabe7b3b 47 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
Jerome Coutant 3:9f66aabe7b3b 48 BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT FAIL", CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 49 }
liroy_theilor 4:bb9c545c6d7f 50 else
liroy_theilor 4:bb9c545c6d7f 51 {
Jerome Coutant 3:9f66aabe7b3b 52 BSP_LCD_Clear(LCD_COLOR_GREEN);
Jerome Coutant 3:9f66aabe7b3b 53 BSP_LCD_SetBackColor(LCD_COLOR_GREEN);
Jerome Coutant 3:9f66aabe7b3b 54 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
Jerome Coutant 3:9f66aabe7b3b 55 BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT OK", CENTER_MODE);
bcostm 0:9933f7db9a9b 56 }
bcostm 0:9933f7db9a9b 57
Jerome Coutant 3:9f66aabe7b3b 58 HAL_Delay(1000);
Jerome Coutant 3:9f66aabe7b3b 59 BSP_LCD_SetFont(&Font12);
liroy_theilor 4:bb9c545c6d7f 60
liroy_theilor 4:bb9c545c6d7f 61
liroy_theilor 4:bb9c545c6d7f 62 //COULEUR DU FOND D'écran
liroy_theilor 4:bb9c545c6d7f 63 BSP_LCD_SetBackColor(LCD_COLOR_DARKCYAN);
liroy_theilor 4:bb9c545c6d7f 64 // COULEUR ECRITURE
Jerome Coutant 3:9f66aabe7b3b 65 BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
liroy_theilor 4:bb9c545c6d7f 66 BSP_LCD_Clear(LCD_COLOR_DARKCYAN );
liroy_theilor 4:bb9c545c6d7f 67
liroy_theilor 4:bb9c545c6d7f 68 sprintf((char*)text, "BOITES AUX LETTRES ");
liroy_theilor 4:bb9c545c6d7f 69 BSP_LCD_DisplayStringAt(20, LINE(1), (uint8_t *)&text, CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 70
liroy_theilor 4:bb9c545c6d7f 71 sprintf((char*)text, "THEILOR LIROY ");
liroy_theilor 4:bb9c545c6d7f 72 BSP_LCD_DisplayStringAt(0, LINE(1), (uint8_t *)&text, RIGHT_MODE);
liroy_theilor 4:bb9c545c6d7f 73
liroy_theilor 4:bb9c545c6d7f 74
liroy_theilor 4:bb9c545c6d7f 75
liroy_theilor 4:bb9c545c6d7f 76
liroy_theilor 4:bb9c545c6d7f 77
liroy_theilor 4:bb9c545c6d7f 78 BSP_LCD_SetFont(&Font16);
liroy_theilor 4:bb9c545c6d7f 79 sprintf((char*)text, "1");
liroy_theilor 4:bb9c545c6d7f 80 BSP_LCD_DisplayStringAt(211, LINE(8), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 81
liroy_theilor 4:bb9c545c6d7f 82 BSP_LCD_SetFont(&Font16);
liroy_theilor 4:bb9c545c6d7f 83 sprintf((char*)text, "2");
liroy_theilor 4:bb9c545c6d7f 84 BSP_LCD_DisplayStringAt(25, LINE(8), (uint8_t *)&text, CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 85
liroy_theilor 4:bb9c545c6d7f 86 BSP_LCD_SetFont(&Font16);
liroy_theilor 4:bb9c545c6d7f 87 sprintf((char*)text, "3");
liroy_theilor 4:bb9c545c6d7f 88 BSP_LCD_DisplayStringAt(70, LINE(8), (uint8_t *)&text, CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 89
liroy_theilor 4:bb9c545c6d7f 90
liroy_theilor 4:bb9c545c6d7f 91 BSP_LCD_SetFont(&Font16);
liroy_theilor 4:bb9c545c6d7f 92 sprintf((char*)text, "4");
liroy_theilor 4:bb9c545c6d7f 93 BSP_LCD_DisplayStringAt(211, LINE(11), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 94
liroy_theilor 4:bb9c545c6d7f 95 BSP_LCD_SetFont(&Font16);
liroy_theilor 4:bb9c545c6d7f 96 sprintf((char*)text, "5");
liroy_theilor 4:bb9c545c6d7f 97 BSP_LCD_DisplayStringAt(25, LINE(11), (uint8_t *)&text, CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 98
liroy_theilor 4:bb9c545c6d7f 99 BSP_LCD_SetFont(&Font16);
liroy_theilor 4:bb9c545c6d7f 100 sprintf((char*)text, "6");
liroy_theilor 4:bb9c545c6d7f 101 BSP_LCD_DisplayStringAt(70, LINE(11), (uint8_t *)&text, CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 102
liroy_theilor 4:bb9c545c6d7f 103 BSP_LCD_SetFont(&Font16);
liroy_theilor 4:bb9c545c6d7f 104 sprintf((char*)text, "7");
liroy_theilor 4:bb9c545c6d7f 105 BSP_LCD_DisplayStringAt(211, LINE(14), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 106
liroy_theilor 4:bb9c545c6d7f 107 BSP_LCD_SetFont(&Font16);
liroy_theilor 4:bb9c545c6d7f 108 sprintf((char*)text, "8");
liroy_theilor 4:bb9c545c6d7f 109 BSP_LCD_DisplayStringAt(25, LINE(14), (uint8_t *)&text, CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 110
liroy_theilor 4:bb9c545c6d7f 111 BSP_LCD_SetFont(&Font16);
liroy_theilor 4:bb9c545c6d7f 112 sprintf((char*)text, "9");
liroy_theilor 4:bb9c545c6d7f 113 BSP_LCD_DisplayStringAt(70, LINE(14), (uint8_t *)&text, CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 114
liroy_theilor 4:bb9c545c6d7f 115 BSP_LCD_SetFont(&Font16);
liroy_theilor 4:bb9c545c6d7f 116 sprintf((char*)text, "0");
liroy_theilor 4:bb9c545c6d7f 117 BSP_LCD_DisplayStringAt(18, LINE(16), (uint8_t *)&text, CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 118
liroy_theilor 4:bb9c545c6d7f 119 BSP_LCD_SetTextColor(LCD_COLOR_ORANGE);
liroy_theilor 4:bb9c545c6d7f 120 //Position du cadre
liroy_theilor 4:bb9c545c6d7f 121 BSP_LCD_DrawRect(200, 60, 100 ,40);
liroy_theilor 4:bb9c545c6d7f 122
liroy_theilor 4:bb9c545c6d7f 123 // CLAVIER
liroy_theilor 4:bb9c545c6d7f 124
liroy_theilor 4:bb9c545c6d7f 125 // BSP_LCD_DrawRect(150, 150, 230,120);
liroy_theilor 4:bb9c545c6d7f 126
liroy_theilor 4:bb9c545c6d7f 127 //LIGNE 1
liroy_theilor 4:bb9c545c6d7f 128 BSP_LCD_DrawCircle(215, 140,20);
liroy_theilor 4:bb9c545c6d7f 129 BSP_LCD_DrawCircle(260, 140,20);
liroy_theilor 4:bb9c545c6d7f 130 BSP_LCD_DrawCircle(305, 140,20);
liroy_theilor 4:bb9c545c6d7f 131
liroy_theilor 4:bb9c545c6d7f 132 // LIGNE 2
liroy_theilor 4:bb9c545c6d7f 133
liroy_theilor 4:bb9c545c6d7f 134 BSP_LCD_DrawCircle(215, 182,20);
liroy_theilor 4:bb9c545c6d7f 135 BSP_LCD_DrawCircle(260,182,20);
liroy_theilor 4:bb9c545c6d7f 136 BSP_LCD_DrawCircle(305, 182,20);
liroy_theilor 4:bb9c545c6d7f 137
liroy_theilor 4:bb9c545c6d7f 138 // LIGNE 3
liroy_theilor 4:bb9c545c6d7f 139 BSP_LCD_DrawCircle(215, 224,20);
liroy_theilor 4:bb9c545c6d7f 140 BSP_LCD_DrawCircle(260, 224,20);
liroy_theilor 4:bb9c545c6d7f 141 BSP_LCD_DrawCircle(305, 224,20);
liroy_theilor 4:bb9c545c6d7f 142 BSP_LCD_DrawRect(220, 249, 60,30);
liroy_theilor 4:bb9c545c6d7f 143
liroy_theilor 4:bb9c545c6d7f 144 servo.pulsewidth_us (2000);
bcostm 0:9933f7db9a9b 145
bcostm 0:9933f7db9a9b 146 while(1) {
liroy_theilor 4:bb9c545c6d7f 147 BSP_LCD_SetFont(&Font12);
liroy_theilor 4:bb9c545c6d7f 148
liroy_theilor 4:bb9c545c6d7f 149
liroy_theilor 4:bb9c545c6d7f 150 capteurTOR();
liroy_theilor 4:bb9c545c6d7f 151
liroy_theilor 4:bb9c545c6d7f 152
liroy_theilor 4:bb9c545c6d7f 153
bcostm 0:9933f7db9a9b 154
Jerome Coutant 3:9f66aabe7b3b 155 BSP_TS_GetState(&TS_State);
bcostm 0:9933f7db9a9b 156 if (TS_State.touchDetected) {
bcostm 0:9933f7db9a9b 157 // Clear lines corresponding to old touches coordinates
bcostm 0:9933f7db9a9b 158 if (TS_State.touchDetected < prev_nb_touches) {
bcostm 0:9933f7db9a9b 159 for (idx = (TS_State.touchDetected + 1); idx <= 5; idx++) {
Jerome Coutant 3:9f66aabe7b3b 160 BSP_LCD_ClearStringLine(idx);
bcostm 0:9933f7db9a9b 161 }
bcostm 0:9933f7db9a9b 162 }
bcostm 0:9933f7db9a9b 163 prev_nb_touches = TS_State.touchDetected;
bcostm 0:9933f7db9a9b 164
bcostm 0:9933f7db9a9b 165 cleared = 0;
bcostm 0:9933f7db9a9b 166
liroy_theilor 4:bb9c545c6d7f 167 // sprintf((char*)text, "Touches: %d", TS_State.touchDetected);
liroy_theilor 4:bb9c545c6d7f 168 // BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
bcostm 0:9933f7db9a9b 169
bcostm 0:9933f7db9a9b 170 for (idx = 0; idx < TS_State.touchDetected; idx++) {
bcostm 0:9933f7db9a9b 171 x = TS_State.touchX[idx];
bcostm 0:9933f7db9a9b 172 y = TS_State.touchY[idx];
liroy_theilor 4:bb9c545c6d7f 173 // sprintf((char*)text, "Touch %d: x=%d y=%d ", idx+1, x, y);
liroy_theilor 4:bb9c545c6d7f 174 // BSP_LCD_DisplayStringAt(0, LINE(idx+1), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 175
liroy_theilor 4:bb9c545c6d7f 176
liroy_theilor 4:bb9c545c6d7f 177
liroy_theilor 4:bb9c545c6d7f 178
bcostm 0:9933f7db9a9b 179 }
bcostm 0:9933f7db9a9b 180
liroy_theilor 4:bb9c545c6d7f 181
bcostm 0:9933f7db9a9b 182 } else {
bcostm 0:9933f7db9a9b 183 if (!cleared) {
liroy_theilor 4:bb9c545c6d7f 184 // BSP_LCD_Clear(LCD_COLOR_BLUE);
liroy_theilor 4:bb9c545c6d7f 185 // sprintf((char*)text, "Touches: 0");
liroy_theilor 4:bb9c545c6d7f 186 //BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 187 cleared = 1;
liroy_theilor 4:bb9c545c6d7f 188
liroy_theilor 4:bb9c545c6d7f 189
liroy_theilor 4:bb9c545c6d7f 190
liroy_theilor 4:bb9c545c6d7f 191
liroy_theilor 4:bb9c545c6d7f 192
liroy_theilor 4:bb9c545c6d7f 193
liroy_theilor 4:bb9c545c6d7f 194
liroy_theilor 4:bb9c545c6d7f 195 // TOUCHES 1
liroy_theilor 4:bb9c545c6d7f 196 if ((x>= 195&& x<= 235) && (y>= 120 && y<= 160))
liroy_theilor 4:bb9c545c6d7f 197 {
liroy_theilor 4:bb9c545c6d7f 198 sprintf((char*)text, "Touches: 1");
liroy_theilor 4:bb9c545c6d7f 199 BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 200 PSWD[i]='1';
liroy_theilor 4:bb9c545c6d7f 201 i++;
liroy_theilor 4:bb9c545c6d7f 202
liroy_theilor 4:bb9c545c6d7f 203 }
liroy_theilor 4:bb9c545c6d7f 204
liroy_theilor 4:bb9c545c6d7f 205 // TOUCHES 2
liroy_theilor 4:bb9c545c6d7f 206 if ((x>= 240&& x<= 280) && (y>= 120 && y<= 160))
liroy_theilor 4:bb9c545c6d7f 207 {
liroy_theilor 4:bb9c545c6d7f 208 sprintf((char*)text, "Touches: 2");
liroy_theilor 4:bb9c545c6d7f 209 BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 210
liroy_theilor 4:bb9c545c6d7f 211 PSWD[i]='2';
liroy_theilor 4:bb9c545c6d7f 212 i++;
liroy_theilor 4:bb9c545c6d7f 213 }
liroy_theilor 4:bb9c545c6d7f 214 // TOUCHES 3
liroy_theilor 4:bb9c545c6d7f 215 if ((x>= 285&& x<= 325) && (y>= 120 && y<= 160))
liroy_theilor 4:bb9c545c6d7f 216 {
liroy_theilor 4:bb9c545c6d7f 217 sprintf((char*)text, "Touches: 3");
liroy_theilor 4:bb9c545c6d7f 218 BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 219
liroy_theilor 4:bb9c545c6d7f 220 PSWD[i]='3';
liroy_theilor 4:bb9c545c6d7f 221 i++;
liroy_theilor 4:bb9c545c6d7f 222 }
liroy_theilor 4:bb9c545c6d7f 223
liroy_theilor 4:bb9c545c6d7f 224 // TOUCHES 4
liroy_theilor 4:bb9c545c6d7f 225 if ((x>= 195&& x<= 235) && (y>= 162 && y<= 202))
liroy_theilor 4:bb9c545c6d7f 226 {
liroy_theilor 4:bb9c545c6d7f 227 sprintf((char*)text, "Touches: 4");
liroy_theilor 4:bb9c545c6d7f 228 BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 229 PSWD[i]='4';
liroy_theilor 4:bb9c545c6d7f 230 i++;
liroy_theilor 4:bb9c545c6d7f 231
liroy_theilor 4:bb9c545c6d7f 232 }
liroy_theilor 4:bb9c545c6d7f 233 // TOUCHES 5
liroy_theilor 4:bb9c545c6d7f 234 if ((x>= 240&& x<= 280) && (y>= 162 && y<= 202))
liroy_theilor 4:bb9c545c6d7f 235 {
liroy_theilor 4:bb9c545c6d7f 236 sprintf((char*)text, "Touches: 5");
liroy_theilor 4:bb9c545c6d7f 237 BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 238
liroy_theilor 4:bb9c545c6d7f 239 PSWD[i]='5';
liroy_theilor 4:bb9c545c6d7f 240 i++;
liroy_theilor 4:bb9c545c6d7f 241 }
liroy_theilor 4:bb9c545c6d7f 242 // TOUCHES 6
liroy_theilor 4:bb9c545c6d7f 243 if ((x>= 289&& x<= 318) && (y>= 162&& y<= 202))
liroy_theilor 4:bb9c545c6d7f 244 {
liroy_theilor 4:bb9c545c6d7f 245 sprintf((char*)text, "Touches: 6");
liroy_theilor 4:bb9c545c6d7f 246 BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 247 PSWD[i]='6';
liroy_theilor 4:bb9c545c6d7f 248 i++;
liroy_theilor 4:bb9c545c6d7f 249
liroy_theilor 4:bb9c545c6d7f 250 }
liroy_theilor 4:bb9c545c6d7f 251
liroy_theilor 4:bb9c545c6d7f 252 // TOUCHES 7
liroy_theilor 4:bb9c545c6d7f 253 if ((x>= 195&& x<= 235) && (y>= 204 && y<= 244))
liroy_theilor 4:bb9c545c6d7f 254 {
liroy_theilor 4:bb9c545c6d7f 255 sprintf((char*)text, "Touches: 7");
liroy_theilor 4:bb9c545c6d7f 256 BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 257 PSWD[i]='7';
liroy_theilor 4:bb9c545c6d7f 258 i++;
liroy_theilor 4:bb9c545c6d7f 259 colis++;
liroy_theilor 4:bb9c545c6d7f 260
liroy_theilor 4:bb9c545c6d7f 261
liroy_theilor 4:bb9c545c6d7f 262 }
liroy_theilor 4:bb9c545c6d7f 263 // TOUCHES 8
liroy_theilor 4:bb9c545c6d7f 264 if ((x>= 240&& x<= 280) && (y>= 204 && y<= 244))
liroy_theilor 4:bb9c545c6d7f 265 {
liroy_theilor 4:bb9c545c6d7f 266 sprintf((char*)text, "Touches: 8");
liroy_theilor 4:bb9c545c6d7f 267 BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 268
liroy_theilor 4:bb9c545c6d7f 269 PSWD[i]='8';
liroy_theilor 4:bb9c545c6d7f 270 i++;
liroy_theilor 4:bb9c545c6d7f 271 }
liroy_theilor 4:bb9c545c6d7f 272 // TOUCHES 9
liroy_theilor 4:bb9c545c6d7f 273 if ((x>= 285&& x<= 325) && (y>= 204&& y<= 244))
liroy_theilor 4:bb9c545c6d7f 274 {
liroy_theilor 4:bb9c545c6d7f 275 sprintf((char*)text, "Touches: 9");
liroy_theilor 4:bb9c545c6d7f 276 BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 277 PSWD[i]='9';
liroy_theilor 4:bb9c545c6d7f 278 i++;
liroy_theilor 4:bb9c545c6d7f 279
liroy_theilor 4:bb9c545c6d7f 280 }
liroy_theilor 4:bb9c545c6d7f 281 if ((x>= 220&& x<= 280) && (y>= 250&& y<= 270))
liroy_theilor 4:bb9c545c6d7f 282 {
bcostm 0:9933f7db9a9b 283 sprintf((char*)text, "Touches: 0");
Jerome Coutant 3:9f66aabe7b3b 284 BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 285
liroy_theilor 4:bb9c545c6d7f 286 PSWD[i]='0';
liroy_theilor 4:bb9c545c6d7f 287 i++;
liroy_theilor 4:bb9c545c6d7f 288 }
liroy_theilor 4:bb9c545c6d7f 289
liroy_theilor 4:bb9c545c6d7f 290
liroy_theilor 4:bb9c545c6d7f 291
liroy_theilor 4:bb9c545c6d7f 292
liroy_theilor 4:bb9c545c6d7f 293
liroy_theilor 4:bb9c545c6d7f 294
liroy_theilor 4:bb9c545c6d7f 295 // CODE LETTRE
liroy_theilor 4:bb9c545c6d7f 296
liroy_theilor 4:bb9c545c6d7f 297 if ((PSWD[0]=='2')&& (PSWD[1]=='6')&& (PSWD[2]=='0')&& (PSWD[3]=='5'))
liroy_theilor 4:bb9c545c6d7f 298 {
liroy_theilor 4:bb9c545c6d7f 299 sprintf((char*)text, "CODE BON");
liroy_theilor 4:bb9c545c6d7f 300 BSP_LCD_DisplayStringAt(15, LINE(6), (uint8_t *)&text, CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 301
liroy_theilor 4:bb9c545c6d7f 302 HAL_Delay(1000);
liroy_theilor 4:bb9c545c6d7f 303
liroy_theilor 4:bb9c545c6d7f 304 servo.pulsewidth_us (1000);
liroy_theilor 4:bb9c545c6d7f 305 // ThisThread::sleep_for(1s);
liroy_theilor 4:bb9c545c6d7f 306 HAL_Delay(1000);
liroy_theilor 4:bb9c545c6d7f 307 i=0;
liroy_theilor 4:bb9c545c6d7f 308
liroy_theilor 4:bb9c545c6d7f 309 }
liroy_theilor 4:bb9c545c6d7f 310
liroy_theilor 4:bb9c545c6d7f 311
liroy_theilor 4:bb9c545c6d7f 312 //code colis
liroy_theilor 4:bb9c545c6d7f 313
liroy_theilor 4:bb9c545c6d7f 314 else if ((PSWD[0]=='4')&& (PSWD[1]=='3')&& (PSWD[2]=='2')&& (PSWD[3]=='1'))
liroy_theilor 4:bb9c545c6d7f 315 {
liroy_theilor 4:bb9c545c6d7f 316 colis++;
liroy_theilor 4:bb9c545c6d7f 317 sprintf((char*)text, "CODE BON");
liroy_theilor 4:bb9c545c6d7f 318 BSP_LCD_DisplayStringAt(15, LINE(6), (uint8_t *)&text, CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 319
liroy_theilor 4:bb9c545c6d7f 320
liroy_theilor 4:bb9c545c6d7f 321
liroy_theilor 4:bb9c545c6d7f 322 HAL_Delay(1000);
liroy_theilor 4:bb9c545c6d7f 323
liroy_theilor 4:bb9c545c6d7f 324 servo.pulsewidth_us (1000);
liroy_theilor 4:bb9c545c6d7f 325 // ThisThread::sleep_for(1s);
liroy_theilor 4:bb9c545c6d7f 326 HAL_Delay(1000);
liroy_theilor 4:bb9c545c6d7f 327 i=0;
liroy_theilor 4:bb9c545c6d7f 328 }
liroy_theilor 4:bb9c545c6d7f 329
liroy_theilor 4:bb9c545c6d7f 330
liroy_theilor 4:bb9c545c6d7f 331
liroy_theilor 4:bb9c545c6d7f 332
liroy_theilor 4:bb9c545c6d7f 333
liroy_theilor 4:bb9c545c6d7f 334
liroy_theilor 4:bb9c545c6d7f 335 else if (i>=3)
liroy_theilor 4:bb9c545c6d7f 336 {
liroy_theilor 4:bb9c545c6d7f 337
liroy_theilor 4:bb9c545c6d7f 338
liroy_theilor 4:bb9c545c6d7f 339 BSP_LCD_DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 340
liroy_theilor 4:bb9c545c6d7f 341
liroy_theilor 4:bb9c545c6d7f 342 }
liroy_theilor 4:bb9c545c6d7f 343 sprintf((char*)text, "Nombre de colis: %d", colis);
liroy_theilor 4:bb9c545c6d7f 344 BSP_LCD_DisplayStringAt(0, LINE(10 ), (uint8_t *)&text, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 345
liroy_theilor 4:bb9c545c6d7f 346
liroy_theilor 4:bb9c545c6d7f 347 compteur=0;
liroy_theilor 4:bb9c545c6d7f 348
liroy_theilor 4:bb9c545c6d7f 349
liroy_theilor 4:bb9c545c6d7f 350 if ((PSWD[0]=='1')&& (PSWD[1]=='2')&& (PSWD[2]=='3')&& (PSWD[3]=='4'))
liroy_theilor 4:bb9c545c6d7f 351 {
liroy_theilor 4:bb9c545c6d7f 352 sprintf((char*)text, "FERMETURE");
liroy_theilor 4:bb9c545c6d7f 353 BSP_LCD_DisplayStringAt(15, LINE(6), (uint8_t *)&text, CENTER_MODE);
liroy_theilor 4:bb9c545c6d7f 354 HAL_Delay(1000);
liroy_theilor 4:bb9c545c6d7f 355
liroy_theilor 4:bb9c545c6d7f 356 servo.pulsewidth_us (2000);
liroy_theilor 4:bb9c545c6d7f 357 //ThisThread::sleep_for(1s);
liroy_theilor 4:bb9c545c6d7f 358 HAL_Delay(1000);
liroy_theilor 4:bb9c545c6d7f 359 i=0;
liroy_theilor 4:bb9c545c6d7f 360 }
liroy_theilor 4:bb9c545c6d7f 361
liroy_theilor 4:bb9c545c6d7f 362
liroy_theilor 4:bb9c545c6d7f 363
liroy_theilor 4:bb9c545c6d7f 364
liroy_theilor 4:bb9c545c6d7f 365 }
liroy_theilor 4:bb9c545c6d7f 366
liroy_theilor 4:bb9c545c6d7f 367
liroy_theilor 4:bb9c545c6d7f 368
bcostm 0:9933f7db9a9b 369 }
bcostm 0:9933f7db9a9b 370 }
bcostm 0:9933f7db9a9b 371 }
liroy_theilor 4:bb9c545c6d7f 372
liroy_theilor 4:bb9c545c6d7f 373 void capteurTOR (void)
liroy_theilor 4:bb9c545c6d7f 374 {
liroy_theilor 4:bb9c545c6d7f 375 lecture =capteur.read();
liroy_theilor 4:bb9c545c6d7f 376
liroy_theilor 4:bb9c545c6d7f 377
liroy_theilor 4:bb9c545c6d7f 378 switch(lecture)
liroy_theilor 4:bb9c545c6d7f 379 {
liroy_theilor 4:bb9c545c6d7f 380 case 0: // detection lettres
liroy_theilor 4:bb9c545c6d7f 381 obstak=true;
liroy_theilor 4:bb9c545c6d7f 382 break;
liroy_theilor 4:bb9c545c6d7f 383
liroy_theilor 4:bb9c545c6d7f 384 case 1:
liroy_theilor 4:bb9c545c6d7f 385 if (obstak==true)
liroy_theilor 4:bb9c545c6d7f 386 {
liroy_theilor 4:bb9c545c6d7f 387 obstak=false;
liroy_theilor 4:bb9c545c6d7f 388 compteur++;
liroy_theilor 4:bb9c545c6d7f 389 }
liroy_theilor 4:bb9c545c6d7f 390 break;
liroy_theilor 4:bb9c545c6d7f 391 }
liroy_theilor 4:bb9c545c6d7f 392 sprintf((char*)affiche, "Nombre de lettre : %d",compteur);
liroy_theilor 4:bb9c545c6d7f 393 BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)&affiche, LEFT_MODE);
liroy_theilor 4:bb9c545c6d7f 394 }