
Projet Interfaçage
Dependencies: BSP_DISCO_F746NG
main.cpp@5:8ffa1e1d4895, 2021-06-22 (annotated)
- 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?
User | Revision | Line number | New 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 | } |