SPI,I2C,RTC
Dependencies: MFRC522_Updated ssd1306_library
main.cpp
- Committer:
- 20172573073
- Date:
- 2020-05-21
- Revision:
- 11:c996c388d45b
- Parent:
- 10:7e62c3111814
File content as of revision 11:c996c388d45b:
#include "mbed.h" #include "MFRC522.h" #include "ssd1306.h" DigitalOut LedRed (LED2); DigitalOut LedGreen (LED1); SSD1306 lcd (D7,D6); Serial pc(USBTX, USBRX); MFRC522 RfChip (D11, D12, D13, PTE0, D10); Ticker tiempo1; static const char tar[]={0xD7,0x4F,0x88,0x19}; static const char llav[]={0x27,0x57,0xC1,0x7B}; int q,a,b,h; void conteo() { if(h!=0) { q=q+1; } } int main(void) { tiempo1.attach(&conteo,1); q=1590029272; q=q-((5*60)*60); lcd.init(); lcd.speed (SSD1306::Fast); lcd.cls(); lcd.locate (3,1); lcd.printf ("Escaner RF"); lcd.locate (4,1); lcd.printf ("Andres Arevalo"); lcd.locate (5,1); lcd.printf ("Andres castano"); lcd.redraw(); wait(3); lcd.cls(); RfChip.PCD_Init(); h=1; while (true) { set_time(q); lcd.locate (1,0); time_t seconds = time(NULL); lcd.printf("fecha %s",ctime(&seconds)); lcd.redraw(); LedRed = 1; LedGreen = 1; char buffer2[32]; strftime(buffer2, 32, "%m/%d/%y", localtime(&seconds)); pc.printf("%s", buffer2); char buffer1[32]; strftime(buffer1, 32, "%H:%M:%S", localtime(&seconds)); pc.printf(" , %s", buffer1); pc.printf(" , 0 \n\r"); if ( ! RfChip.PICC_IsNewCardPresent()) { wait_ms(500); continue; } LedRed = 0; if ( ! RfChip.PICC_ReadCardSerial()) { wait_ms(500); continue; } lcd.cls(); set_time(q); lcd.locate (1,0); lcd.printf("fecha %s",ctime(&seconds)); lcd.redraw(); LedRed = 1; LedGreen = 0; a=0; b=0; for (uint8_t i = 0; i < RfChip.uid.size; i++) { if(uint8_t (tar[i])==RfChip.uid.uidByte[i]){ a=a+1; }else{ a=0; } } for (uint8_t i = 0; i < RfChip.uid.size; i++) { if(uint8_t (llav[i])==RfChip.uid.uidByte[i]){ b=b+1; }else{ b=0; } } strftime(buffer2, 32, "%m/%d/%y", localtime(&seconds)); pc.printf("%s", buffer2); strftime(buffer1, 32, "%H:%M:%S", localtime(&seconds)); pc.printf(" , %s", buffer1); pc.printf(" , "); lcd.locate (5,1); if(a==4){ lcd.printf("Tarjeta "); pc.printf("1"); }else if(b==4){ lcd.printf("Lavero "); pc.printf("2"); }else{ lcd.printf("Sitp "); pc.printf("3"); } lcd.locate (6,1); for (uint8_t i = 0; i < RfChip.uid.size; i++) { lcd.printf(" %x ", RfChip.uid.uidByte[i]); } pc.printf("\n\r"); lcd.redraw(); wait(1); } }