Capteur d'empreinte digitale, pin UART PC6, PC7 Alimentation 3.3V Utilisation : Initialisation du capteur en fond Choix de l'utilisateur pour vérifier l'empreinte Retour à la page de menu avec le bouton annuler

Dependencies:   TS_DISCO_F746NG mbed LCD_DISCO_F746NG BSP_DISCO_F746NG

Committer:
arthurborg
Date:
Tue Jun 04 14:26:38 2019 +0000
Revision:
3:9b58c1b47789
Parent:
0:9933f7db9a9b
Version final

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bcostm 0:9933f7db9a9b 1 #include "mbed.h"
bcostm 0:9933f7db9a9b 2 #include "TS_DISCO_F746NG.h"
bcostm 0:9933f7db9a9b 3 #include "LCD_DISCO_F746NG.h"
bcostm 0:9933f7db9a9b 4
arthurborg 3:9b58c1b47789 5 Serial empreinte(PC_6,PC_7,9600);
arthurborg 3:9b58c1b47789 6 //Serial pc(USBTX,USBRX,115200);
arthurborg 3:9b58c1b47789 7
bcostm 0:9933f7db9a9b 8 LCD_DISCO_F746NG lcd;
bcostm 0:9933f7db9a9b 9 TS_DISCO_F746NG ts;
bcostm 0:9933f7db9a9b 10
arthurborg 3:9b58c1b47789 11
bcostm 0:9933f7db9a9b 12 int main()
bcostm 0:9933f7db9a9b 13 {
bcostm 0:9933f7db9a9b 14 TS_StateTypeDef TS_State;
bcostm 0:9933f7db9a9b 15 uint16_t x, y;
arthurborg 3:9b58c1b47789 16 char text[30];
arthurborg 3:9b58c1b47789 17 uint8_t idx=0;
arthurborg 3:9b58c1b47789 18 int save = 0;
arthurborg 3:9b58c1b47789 19 int etat = 0;
arthurborg 3:9b58c1b47789 20 char a = 0x55;
arthurborg 3:9b58c1b47789 21 char b = 0xAA;
arthurborg 3:9b58c1b47789 22 char O = 0x00;
arthurborg 3:9b58c1b47789 23 char para = 0x00;
arthurborg 3:9b58c1b47789 24 char cmd = 0x01;
bcostm 0:9933f7db9a9b 25
arthurborg 3:9b58c1b47789 26 short int sum = a+b+O+para+cmd;
arthurborg 3:9b58c1b47789 27 empreinte.putc(0x55); wait(0.1);
arthurborg 3:9b58c1b47789 28 empreinte.putc(0xAA); wait(0.1);
arthurborg 3:9b58c1b47789 29 empreinte.putc(0x01); wait(0.1);
arthurborg 3:9b58c1b47789 30 empreinte.putc(0); wait(0.1);
arthurborg 3:9b58c1b47789 31 empreinte.putc(0); wait(0.1);
arthurborg 3:9b58c1b47789 32 empreinte.putc(0); wait(0.1);
arthurborg 3:9b58c1b47789 33 empreinte.putc(0); wait(0.1);
arthurborg 3:9b58c1b47789 34 empreinte.putc(0); wait(0.1);
arthurborg 3:9b58c1b47789 35 empreinte.putc(0x01); wait(0.1);
arthurborg 3:9b58c1b47789 36 empreinte.putc(0); wait(0.1);
arthurborg 3:9b58c1b47789 37 empreinte.putc(0x01); wait(0.1);
arthurborg 3:9b58c1b47789 38 empreinte.putc(0x01); wait(0.1);
arthurborg 3:9b58c1b47789 39
arthurborg 3:9b58c1b47789 40 wait(0.005);
arthurborg 3:9b58c1b47789 41 while (empreinte.readable()) {
arthurborg 3:9b58c1b47789 42 empreinte.getc();
arthurborg 3:9b58c1b47789 43 wait(0.002);
arthurborg 3:9b58c1b47789 44 }
bcostm 0:9933f7db9a9b 45 wait(1);
bcostm 0:9933f7db9a9b 46
arthurborg 3:9b58c1b47789 47 empreinte.putc(0x55); wait(0.1);
arthurborg 3:9b58c1b47789 48 empreinte.putc(0xAA); wait(0.1);
arthurborg 3:9b58c1b47789 49 empreinte.putc(0x01); wait(0.1);
arthurborg 3:9b58c1b47789 50 empreinte.putc(0); wait(0.1);
arthurborg 3:9b58c1b47789 51 empreinte.putc(0x01); wait(0.1);
arthurborg 3:9b58c1b47789 52 empreinte.putc(0); wait(0.1);
arthurborg 3:9b58c1b47789 53 empreinte.putc(0); wait(0.1);
arthurborg 3:9b58c1b47789 54 empreinte.putc(0); wait(0.1);
arthurborg 3:9b58c1b47789 55 empreinte.putc(0x12); wait(0.1);
arthurborg 3:9b58c1b47789 56 empreinte.putc(0); wait(0.1);
arthurborg 3:9b58c1b47789 57 empreinte.putc(0x13); wait(0.1);
arthurborg 3:9b58c1b47789 58 empreinte.putc(0x01); wait(0.1);
arthurborg 3:9b58c1b47789 59
arthurborg 3:9b58c1b47789 60
arthurborg 3:9b58c1b47789 61
bcostm 0:9933f7db9a9b 62
arthurborg 3:9b58c1b47789 63 /*
arthurborg 3:9b58c1b47789 64 empreinte.putc(a);
arthurborg 3:9b58c1b47789 65 empreinte.putc(b);
arthurborg 3:9b58c1b47789 66 empreinte.putc(O);
arthurborg 3:9b58c1b47789 67 empreinte.putc(para);
arthurborg 3:9b58c1b47789 68 empreinte.putc(cmd);
arthurborg 3:9b58c1b47789 69 empreinte.putc(sum & 0xFF);
arthurborg 3:9b58c1b47789 70 empreinte.putc((sum & 0xFF00)>>8);
arthurborg 3:9b58c1b47789 71 */
arthurborg 3:9b58c1b47789 72 lcd.DisplayStringAt(0, LINE(8), (uint8_t *)"Bienvenue dans le programme", CENTER_MODE);
arthurborg 3:9b58c1b47789 73 wait(3);
arthurborg 3:9b58c1b47789 74 lcd.Clear(LCD_COLOR_WHITE);
arthurborg 3:9b58c1b47789 75 lcd.SetFont(&Font20);
arthurborg 3:9b58c1b47789 76 lcd.SetBackColor(LCD_COLOR_WHITE);
arthurborg 3:9b58c1b47789 77 lcd.SetTextColor(LCD_COLOR_BLACK); // initialisation de l'écran tactil
bcostm 0:9933f7db9a9b 78 while(1) {
arthurborg 3:9b58c1b47789 79
bcostm 0:9933f7db9a9b 80 ts.GetState(&TS_State);
arthurborg 3:9b58c1b47789 81 if (TS_State.touchDetected) { // récupération de la position de l'appui
arthurborg 3:9b58c1b47789 82 x = TS_State.touchX[idx];
arthurborg 3:9b58c1b47789 83 y = TS_State.touchY[idx];
arthurborg 3:9b58c1b47789 84 }
arthurborg 3:9b58c1b47789 85
arthurborg 3:9b58c1b47789 86 switch(etat){
arthurborg 3:9b58c1b47789 87 case 0: // écran d'acceuil
arthurborg 3:9b58c1b47789 88 lcd.SetFont(&Font20);
arthurborg 3:9b58c1b47789 89 lcd.SetBackColor(LCD_COLOR_WHITE);
arthurborg 3:9b58c1b47789 90 lcd.SetTextColor(LCD_COLOR_BLACK);
arthurborg 3:9b58c1b47789 91 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Annuler", LEFT_MODE); // 97p par 24p
arthurborg 3:9b58c1b47789 92 lcd.DisplayStringAt(0, LINE(3), (uint8_t *)"Mme Fiona LEBEL", LEFT_MODE); //206p par 24p
arthurborg 3:9b58c1b47789 93 lcd.DisplayStringAt(0, LINE(3), (uint8_t *)"M Matthieu BICHET", RIGHT_MODE);//206p par 24p
arthurborg 3:9b58c1b47789 94 lcd.DisplayStringAt(0, LINE(9), (uint8_t *)"M Ludovic CHERIAUX", LEFT_MODE); // 239p par 24p
arthurborg 3:9b58c1b47789 95 lcd.DisplayStringAt(0, LINE(9), (uint8_t *)"M Renaud GOMES", RIGHT_MODE); // 191p par 24p
arthurborg 3:9b58c1b47789 96 lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"M BAST22", CENTER_MODE); // 120p par 24p
arthurborg 3:9b58c1b47789 97 etat = 1;
arthurborg 3:9b58c1b47789 98 break;
arthurborg 3:9b58c1b47789 99
arthurborg 3:9b58c1b47789 100 case 1:
arthurborg 3:9b58c1b47789 101 if(((x >= 0) && (x <= 206)) && ((y >= 63) && (y <= 87))){ // case fiona
arthurborg 3:9b58c1b47789 102 save = 2;
arthurborg 3:9b58c1b47789 103 etat = 12;
arthurborg 3:9b58c1b47789 104 }
arthurborg 3:9b58c1b47789 105 if(((x >= 254) && (x <= 460)) && ((y >= 63) && (y <= 87))){ // case matthieu
arthurborg 3:9b58c1b47789 106 save = 3;
arthurborg 3:9b58c1b47789 107 etat = 12;
arthurborg 3:9b58c1b47789 108 }
arthurborg 3:9b58c1b47789 109 if(((x >= 0) && (x <= 239)) && ((y >= 163) && (y <= 187))){ // case Ludo
arthurborg 3:9b58c1b47789 110 save = 4;
arthurborg 3:9b58c1b47789 111 etat = 12;
arthurborg 3:9b58c1b47789 112 }
arthurborg 3:9b58c1b47789 113 if(((x >= 269) && (x <= 460)) && ((y >= 163) && (y <= 187))){ // case Renaud
arthurborg 3:9b58c1b47789 114 save = 5;
arthurborg 3:9b58c1b47789 115 etat = 12;
arthurborg 3:9b58c1b47789 116 }
arthurborg 3:9b58c1b47789 117 if(((x >= 169) && (x <= 289)) && ((y >= 111) && (y <= 135))){ // case Bast22
arthurborg 3:9b58c1b47789 118 save = 6;
arthurborg 3:9b58c1b47789 119 etat = 12;
arthurborg 3:9b58c1b47789 120 }
arthurborg 3:9b58c1b47789 121 break;
arthurborg 3:9b58c1b47789 122
arthurborg 3:9b58c1b47789 123 case 2: // Gestion de l'état correspondant à Fiona
arthurborg 3:9b58c1b47789 124 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Annuler", LEFT_MODE); // 97p par 24p
arthurborg 3:9b58c1b47789 125 lcd.DisplayStringAt(0,LINE(3),(uint8_t*)"Entrez votre empreinte Mme LEBEL",CENTER_MODE);
arthurborg 3:9b58c1b47789 126 O = 0x50;
arthurborg 3:9b58c1b47789 127 para = 0x00;
arthurborg 3:9b58c1b47789 128 sum = a+b+O+para+cmd;;
arthurborg 3:9b58c1b47789 129 empreinte.printf("%c%c%c%c%c%c%d",a,b,O,para,O,cmd,sum);
arthurborg 3:9b58c1b47789 130 if(((x >= 0) && (x <= 97)) && ((y >= 0) && (y <= 24))){ // Retour au menu
arthurborg 3:9b58c1b47789 131 save = 0;
arthurborg 3:9b58c1b47789 132 etat = 12;
arthurborg 3:9b58c1b47789 133 }
arthurborg 3:9b58c1b47789 134 break;
arthurborg 3:9b58c1b47789 135
arthurborg 3:9b58c1b47789 136 case 3: // Gestion de l'état correspondant à Matthieu
arthurborg 3:9b58c1b47789 137 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Annuler", LEFT_MODE); // 97p par 24p
arthurborg 3:9b58c1b47789 138 lcd.DisplayStringAt(0,LINE(3),(uint8_t*)"Entrez votre empreinte M BICHET",CENTER_MODE);
arthurborg 3:9b58c1b47789 139 O = 0x50;
arthurborg 3:9b58c1b47789 140 para = 0x01;
arthurborg 3:9b58c1b47789 141 sum = a+b+O+para+cmd;
arthurborg 3:9b58c1b47789 142 empreinte.printf("%c%c%c%c%c%c%d",a,b,O,para,O,cmd,sum);
arthurborg 3:9b58c1b47789 143 if(((x >= 0) && (x <= 97)) && ((y >= 0) && (y <= 24))){ // Retour au menu
arthurborg 3:9b58c1b47789 144 save = 0;
arthurborg 3:9b58c1b47789 145 etat = 12;
arthurborg 3:9b58c1b47789 146 }
arthurborg 3:9b58c1b47789 147 break;
arthurborg 3:9b58c1b47789 148
arthurborg 3:9b58c1b47789 149 case 4: // Gestion de l'état correspondant à Ludovic
arthurborg 3:9b58c1b47789 150 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Annuler", LEFT_MODE); // 97p par 24p
arthurborg 3:9b58c1b47789 151 lcd.DisplayStringAt(0,LINE(3),(uint8_t*)"Entrez votre empreinte M CHERIAUX",CENTER_MODE);
arthurborg 3:9b58c1b47789 152 O = 0x50;
arthurborg 3:9b58c1b47789 153 para = 0x02;
arthurborg 3:9b58c1b47789 154 sum = a+b+O+para+cmd;
arthurborg 3:9b58c1b47789 155 empreinte.printf("%c%c%c%c%c%c%d",a,b,O,para,O,cmd,sum);
arthurborg 3:9b58c1b47789 156 if(((x >= 0) && (x <= 97)) && ((y >= 0) && (y <= 24))){ // Retour au menu
arthurborg 3:9b58c1b47789 157 save = 0;
arthurborg 3:9b58c1b47789 158 etat = 12;
arthurborg 3:9b58c1b47789 159 }
arthurborg 3:9b58c1b47789 160 break;
arthurborg 3:9b58c1b47789 161
arthurborg 3:9b58c1b47789 162 case 5: // Gestion de l'état correspondant à Renaud
arthurborg 3:9b58c1b47789 163 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Annuler", LEFT_MODE); // 97p par 24p
arthurborg 3:9b58c1b47789 164 lcd.DisplayStringAt(0,LINE(3),(uint8_t*)"Entrez votre empreinte M GOMES",CENTER_MODE);
arthurborg 3:9b58c1b47789 165 O = 0x50;
arthurborg 3:9b58c1b47789 166 para = 0x03;
arthurborg 3:9b58c1b47789 167 sum = a+b+O+para+cmd;
arthurborg 3:9b58c1b47789 168 empreinte.printf("%c%c%c%c%c%c%d",a,b,O,para,O,cmd,sum);
arthurborg 3:9b58c1b47789 169 if(((x >= 0) && (x <= 97)) && ((y >= 0) && (y <= 24))){ // Retour au menu
arthurborg 3:9b58c1b47789 170 save = 0;
arthurborg 3:9b58c1b47789 171 etat = 12;
arthurborg 3:9b58c1b47789 172 }
arthurborg 3:9b58c1b47789 173 break;
arthurborg 3:9b58c1b47789 174
arthurborg 3:9b58c1b47789 175 case 6: //
arthurborg 3:9b58c1b47789 176 lcd.DisplayStringAt(0, LINE(0), (uint8_t *)"Annuler", LEFT_MODE); // 97p par 24p
arthurborg 3:9b58c1b47789 177 lcd.DisplayStringAt(0,LINE(3),(uint8_t*)"Entrez votre empreinte BAST22",CENTER_MODE);
arthurborg 3:9b58c1b47789 178 O = 0x50;
arthurborg 3:9b58c1b47789 179 para = 0x04;
arthurborg 3:9b58c1b47789 180 sum = a+b+O+para+cmd;
arthurborg 3:9b58c1b47789 181 empreinte.printf("%c%c%c%c%c%c%d",a,b,O,para,O,cmd,sum);
arthurborg 3:9b58c1b47789 182 if(((x >= 0) && (x <= 97)) && ((y >= 0) && (y <= 24))){ // Retour au menu
arthurborg 3:9b58c1b47789 183 save = 0;
arthurborg 3:9b58c1b47789 184 etat = 12;
arthurborg 3:9b58c1b47789 185 }
arthurborg 3:9b58c1b47789 186 break;
arthurborg 3:9b58c1b47789 187
arthurborg 3:9b58c1b47789 188 case 12:
arthurborg 3:9b58c1b47789 189 lcd.Clear(LCD_COLOR_WHITE);
arthurborg 3:9b58c1b47789 190 etat = save;
arthurborg 3:9b58c1b47789 191 break;
bcostm 0:9933f7db9a9b 192 }
bcostm 0:9933f7db9a9b 193 }
bcostm 0:9933f7db9a9b 194 }
arthurborg 3:9b58c1b47789 195