Nextion TFT LCD Card Display
Dependencies: MFRC522 NextionLCD
Fork of ProjectCardDisplay by
main.cpp
00001 #include "mbed.h" 00002 #include "NextionLCD.h" 00003 #include "Time.h" 00004 #define PASSWORD 11111 00005 00006 #include "MFRC522.h" 00007 #include "Card.h" 00008 00009 RawSerial pc(USBTX,USBRX); 00010 NextionLCD lcd(D1, D0); //Tx, Rx 00011 Thread Menu; 00012 Thread DispTime; 00013 Thread DispName; 00014 00015 DigitalOut led1(LED1); 00016 DigitalOut led2(LED2); 00017 DigitalOut led3(LED3); 00018 DigitalOut relay(D8); 00019 00020 00021 volatile char c; 00022 uint8_t Present_State=0; 00023 uint8_t Previous_State=0; 00024 uint8_t Back=0; 00025 void Page1(void); 00026 void Page2(void); 00027 void Page3(void); 00028 void Page4(void); 00029 void Main_Menu(void); 00030 void flip(void); 00031 00032 00033 char prevPage='\0'; 00034 //bool flag=true; 00035 char Cand_Name[25]={'\0'}; 00036 char Time_Disp[30]={'\0'}; 00037 00038 void Display_Details(void); 00039 00040 void pc_recv() 00041 { 00042 while(pc.readable()) 00043 { 00044 c=pc.getc(); 00045 } 00046 } 00047 00048 00049 void Menu_Selection() 00050 { 00051 00052 while(1) 00053 { 00054 pc_recv(); 00055 switch (c) 00056 { 00057 case '1': 00058 Main_Menu(); 00059 c='\0'; 00060 wait(1); 00061 break; 00062 00063 case '2': 00064 Page1(); 00065 c='\0'; 00066 wait(1); 00067 break; 00068 00069 case '3': 00070 Page2(); 00071 c='\0'; 00072 wait(1); 00073 break; 00074 case '4': 00075 Page3(); 00076 c='\0'; 00077 wait(1); 00078 break; 00079 00080 case '5': 00081 Page4(); 00082 c='\0'; 00083 wait(1); 00084 break; 00085 default: 00086 //lcd.DrawString(0,0,480,40,2,WHITE,BLACK,0,2, "Flash Master Card to Edit"); 00087 // Display_Details(); 00088 wait(1); 00089 break; 00090 } 00091 } 00092 } 00093 00094 void Display_Time(void) 00095 { 00096 while(true) 00097 { 00098 Get_Date_Time_Display(Time_Disp); 00099 lcd.DrawString(0,0,480,40,2,BLACK,WHITE,0,0,Time_Disp); 00100 lcd.DrawString(0,295,480,25,1,BLACK,WHITE,0,0,"Powered by Exultsoft Technolies Pvt. Ltd."); 00101 wait(60); 00102 memset(Time_Disp,'\0',30); 00103 } 00104 00105 } 00106 int main() 00107 { 00108 char CARDNO[30]={'\0'}; 00109 lcd.ClrScr(BLACK); 00110 lcd.DrawString(0,100,480,40,2,WHITE,BLACK,0,2, "##############################"); 00111 lcd.DrawString(0,150,480,40,2,YELLOW,BLACK,0,0, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); 00112 lcd.DrawString(0,200,480,40,2,BLUE,BLACK,0,0, "------------------------------"); 00113 lcd.ClrScr(BLACK); 00114 wait(10); 00115 iSetTerminalTime("27072018111213"); 00116 Menu.start(callback(Menu_Selection)); 00117 DispTime.start(callback(Display_Time)); 00118 DispName.start(callback(Display_Details)); 00119 00120 int success=-1; 00121 while(true) 00122 { 00123 MIFARE_Init(); 00124 Read_Card_Details(CARDNO); 00125 00126 success= strcmp(CARDNO,"17D6C66B"); 00127 if(success==0) 00128 { 00129 flip(); 00130 wait(1); 00131 } 00132 } 00133 } 00134 00135 00136 00137 00138 void Main_Menu(void) 00139 { 00140 lcd.DrawString(0,40,480,40,2,WHITE,BLACK,0,0, "1. MAIN MENU "); 00141 lcd.DrawString(0,80,480,40,2,YELLOW,RED,0,0,"2. OPTION ONE "); 00142 lcd.DrawString(0,120,480,40,2,BLUE,GREEN,0,0, "3. OPTION TWO "); 00143 lcd.DrawString(0,160,480,40,2,BROWN,WHITE,0,0,"4. OPTION THREE "); 00144 lcd.DrawString(0,200,480,40,2,RED,YELLOW,0,0, "5. OPTION FOUR "); 00145 lcd.DrawString(0,240,480,40,2,GREEN,BLUE,0,0,"6. OPTION FIVE"); 00146 wait(1); 00147 Present_State=1; Previous_State=0; 00148 } 00149 00150 void Page1(void) 00151 { 00152 lcd.DrawString(0,40,480,40,2,WHITE,BLACK,0,2, "1. MAIN MENU "); 00153 lcd.DrawString(0,80,480,40,2,YELLOW,RED,0,0, "2. PAGE 1 OPTION ONE "); 00154 lcd.DrawString(0,120,480,40,2,BLUE,GREEN,0,0, "3. PAGE 1 OPTION TWO "); 00155 lcd.DrawString(0,160,480,40,2,WHITE,GRAY,0,0, "4. PAGE 1 OPTION THREE "); 00156 lcd.DrawString(0,200,480,40,2,RED,YELLOW,0,0, "5. PAGE 1 OPTION FOUR "); 00157 lcd.DrawString(0,240,480,40,2,GREEN,BLUE,0,0, "6. PAGE 1 OPTION FIVE"); 00158 wait(1); 00159 Present_State=2; Previous_State=0; 00160 } 00161 00162 void Page2(void) 00163 { 00164 lcd.DrawString(0,40,480,40,2,WHITE,BLACK,0,2, "1. MAIN MENU "); 00165 lcd.DrawString(0,80,480,40,2,YELLOW,RED,0,0, "2. PAGE 2 OPTION ONE "); 00166 lcd.DrawString(0,120,480,40,2,BLUE,GREEN,0,0, "3. PAGE 2 OPTION TWO "); 00167 lcd.DrawString(0,160,480,40,2,WHITE,GRAY,0,0, "4. PAGE 2 OPTION THREE "); 00168 lcd.DrawString(0,200,480,40,2,RED,YELLOW,0,0, "5. PAGE 2 OPTION FOUR "); 00169 lcd.DrawString(0,240,480,40,2,GREEN,BLUE,0,0, "6. PAGE 2 OPTION FIVE"); 00170 wait(1); 00171 Present_State=3; Previous_State=0; 00172 } 00173 00174 void Page3(void) 00175 { 00176 lcd.DrawString(0,40,480,40,2,WHITE,BLACK,0,2, "1. MAIN MENU "); 00177 lcd.DrawString(0,80,480,40,2,YELLOW,RED,0,0, "2. PAGE 3 OPTION ONE "); 00178 lcd.DrawString(0,120,480,40,2,BLUE,GREEN,0,0, "3. PAGE 3 OPTION TWO "); 00179 lcd.DrawString(0,160,480,40,2,WHITE,GRAY,0,0, "4. PAGE 3 OPTION THREE "); 00180 lcd.DrawString(0,200,480,40,2,RED,YELLOW,0,0, "5. PAGE 3 OPTION FOUR "); 00181 lcd.DrawString(0,240,480,40,2,GREEN,BLUE,0,0, "6. PAGE 3 OPTION FIVE"); 00182 wait(1); 00183 00184 Present_State=4; Previous_State=0; 00185 } 00186 00187 void Page4(void) 00188 { 00189 lcd.DrawString(0,40,480,40,2,WHITE,BLACK,0,2, "1. MAIN MENU "); 00190 lcd.DrawString(0,80,480,40,2,YELLOW,RED,0,0, "2. PAGE 4 OPTION ONE "); 00191 lcd.DrawString(0,120,480,40,2,BLUE,GREEN,0,0, "3. PAGE 4 OPTION TWO "); 00192 lcd.DrawString(0,160,480,40,2,WHITE,GRAY,0,0, "4. PAGE 4 OPTION THREE "); 00193 lcd.DrawString(0,200,480,40,2,RED,YELLOW,0,0, "5. PAGE 4 OPTION FOUR "); 00194 lcd.DrawString(0,240,480,40,2,GREEN,BLUE,0,0, "6. PAGE 4 OPTION FIVE"); 00195 wait(1); 00196 Present_State=0; Previous_State=0; 00197 } 00198 00199 void Display_Details(void) 00200 { 00201 while(1) 00202 { 00203 Thread::signal_wait(0x2); 00204 memcpy(Cand_Name," Good Morning",20); 00205 int hours=Get_Hours(); 00206 if(hours>=0 && hours <12) 00207 lcd.FillRectangle(0,40,480,255,BLUE); 00208 lcd.DrawString(0,40,480,40,2,WHITE,BLUE,0,2,Cand_Name); 00209 lcd.DrawString(0,80,480,40,2,WHITE,BLUE,0,2,"Name of CARD Holder"); 00210 lcd.DrawString(0,120,480,40,2,WHITE,BLUE,0,2," Have a Great Day "); 00211 memset(Cand_Name,'\0',25); 00212 relay=0; 00213 wait(1); 00214 relay=1; 00215 wait(2); 00216 lcd.FillRectangle(0,40,480,255,BLUE); 00217 00218 } 00219 } 00220 00221 void flip(void) 00222 { 00223 led1=!led1; 00224 led2=!led2; 00225 led3=!led3; 00226 DispName.signal_set(0x02); 00227 00228 } 00229
Generated on Wed Jul 13 2022 14:24:19 by 1.7.2