![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
RFID-RC522 LCD 16x2 A1602
Dependencies: mbed MFRC522 TextLCD
Diff: main.cpp
- Revision:
- 7:1e3fedf9f001
- Parent:
- 6:edbad35965d6
--- a/main.cpp Sun May 10 09:53:34 2020 +0000 +++ b/main.cpp Mon May 18 12:49:22 2020 +0000 @@ -80,53 +80,100 @@ time_t seconds = time(NULL); -bool usuario1= true; +bool entradaUsuarioLlavero=false; +bool entradaUsuarioTarjeta=false; + void DumpToSerial(MFRC522::Uid *uid) { MFRC522::MIFARE_Key key; - //4602 1C02 9C02 7302 - //7002 1902 D802 2B02 + + //4602 1C02 9C02 7302 LLAVERO + //7002 1902 D802 2B02 TARJETA //Cristian Vega - 1426805 //Jordi Alejandre Camps - 1494147 //Pablo Muñoz Coronas - 1358297 - // UID - printf("Tarjeta Detectada! Card UID\n\r"); - + + bool llaveroDetectado=false; + bool tarjetaDetectado=false; - lcd.printf("Card UID:"); - - //SIZE 4-4-4-4 16 BITS (HEXADECIMAL) + char llavero[18] = {'4', '6', '0', '2','1', 'C', '0', '2', '9', 'C', '0','2','7','3','0','2'}; + char tarjeta[18] = {'7', '0', '0', '2','1', '9', '0', '2', 'D', '8', '0','2','2','B','0','2'}; + + //SIZE 4-4-4-4 16 BITS (HEXADECIMAL) + char str[18]=""; + char str2[18]=""; + + //PRINTAMOS EL CARD UID: + lcd.printf("Card UID:"); for (uint8_t i = 0; i < uid->size; i++) { - - printf(" %X02", uid->uidByte[i]); + + sprintf(str, "%X02", uid->uidByte[i]); + strcat(str2, str); lcd.printf(" %X02", uid->uidByte[i]); } - + + int result = strcmp(llavero, str2); + //IDENTIFICAMOS SI SE HA INTRODUCIDO UNA TARJETA O UN LLAVERO Y SI A ENTRADO O SALIDO + if(result==0){ + llaveroDetectado = true; + if(entradaUsuarioLlavero) + { + entradaUsuarioLlavero=false; + }else if (!entradaUsuarioLlavero){ + entradaUsuarioLlavero=true; + } + }else{ + tarjetaDetectado= true; + if(entradaUsuarioTarjeta) + { + entradaUsuarioTarjeta=false; + }else if (!entradaUsuarioTarjeta){ + entradaUsuarioTarjeta=true; + } + } + + //CAMBIO DE PANTALLA LCD printf("\n\r"); - wait_ms(1000);// 200 + wait_ms(2000);// DELAY ENTRE PANTALLAS + lcd.cls(); //LIMPIAR PANTALLA + lcd.locate(0,0); + + lcd.printf("Time is: %s %s\n",__TIME__,__DATE__); //PRINTAMOS LA HORA ACTUAL - TIEMPO DE COMPILACION + + //CAMBIO DE PANTALLA LCD + wait_ms(2000);// DELAY ENTRE PANTALLAS + lcd.cls(); //LIMPIAR PANTALLA + lcd.locate(0,0); - lcd.cls(); - - lcd.locate(0,0); - lcd.printf("Time is: %s %s\n",__TIME__,__DATE__); //TIEMPO DE COMPILACION + //PRINTAMOS SI EL USUARIO ENTRA O SALE DEPENDIENDO DEL USUARIO + if(llaveroDetectado && entradaUsuarioLlavero ){ + printf("Entrada usuario: Cristian Llavero"); + lcd.printf("Entrada usuario: Cristian Llavero"); - wait_ms(1000);// 200 - lcd.cls(); - lcd.locate(0,0); + } + else if(llaveroDetectado && !entradaUsuarioLlavero) + { + printf("Salida usuario: Cristian Llavero"); + lcd.printf("Salida usuario: Cristian Llavero"); + } - if(usuario1){ - lcd.printf("Entrada usuario: Cristian Vega"); - usuario1=false; - }else{ - lcd.printf("Salida usuario: Cristian Vega"); - usuario1=true; - + + if(tarjetaDetectado && entradaUsuarioTarjeta ){ + printf("Entrada usuario: Jose Tarjeta"); + lcd.printf("Entrada usuario: Jose Tarjeta"); + } + else if(tarjetaDetectado && !entradaUsuarioTarjeta) + { + printf("Salida usuario: Jose Tarjeta"); + lcd.printf("Salida usuario: Jose Tarjeta"); + } + char buffer[32];