get an input from RFID to control the LCD

Dependencies:   mbed

Fork of LCD4884 by Dan Ghiciulescu

Committer:
Pinmanee
Date:
Mon Dec 11 12:49:26 2017 +0000
Revision:
3:dbe254844345
Parent:
2:fb07a736e132
Child:
4:5977fe753a55
graph completed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pinmanee 1:baf91b6482eb 1 #include "mbed.h"
Pinmanee 1:baf91b6482eb 2 #include "LCD4884.h"
Pinmanee 1:baf91b6482eb 3 #include "MFRC522.h"
Pinmanee 1:baf91b6482eb 4
Pinmanee 1:baf91b6482eb 5 #define MF_RESET D8
Pinmanee 1:baf91b6482eb 6 #define SPI_CS D10
Pinmanee 1:baf91b6482eb 7
Pinmanee 1:baf91b6482eb 8 int ReadRFID();
Pinmanee 1:baf91b6482eb 9
Pinmanee 1:baf91b6482eb 10 //LCD
Pinmanee 1:baf91b6482eb 11 AnalogIn analog_button_select(A0);
Pinmanee 1:baf91b6482eb 12 AnalogIn analog_button_press(A1);
Pinmanee 1:baf91b6482eb 13 AnalogIn analog_button_alarm(A2);
Pinmanee 1:baf91b6482eb 14 LCD4884 p;
Pinmanee 1:baf91b6482eb 15 //Serial pc(D1 , D0);
Pinmanee 1:baf91b6482eb 16
Pinmanee 1:baf91b6482eb 17 //RFID
Pinmanee 1:baf91b6482eb 18 DigitalOut LedGreen(LED1);
Pinmanee 1:baf91b6482eb 19 Serial pc(SERIAL_TX, SERIAL_RX);
Pinmanee 1:baf91b6482eb 20 MFRC522 RfChip (PC_12, PC_11, PC_10, SPI_CS, MF_RESET);
Pinmanee 1:baf91b6482eb 21
Pinmanee 1:baf91b6482eb 22 int main(void)
Pinmanee 1:baf91b6482eb 23 {
Pinmanee 1:baf91b6482eb 24 p.LCD_init();
Pinmanee 1:baf91b6482eb 25 p.LCD_write_string(28,2,"Hello",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 26 uint8_t state = 0;
Pinmanee 3:dbe254844345 27 double select, press;
Pinmanee 1:baf91b6482eb 28 int line, rfid_ID;
Pinmanee 1:baf91b6482eb 29
Pinmanee 2:fb07a736e132 30 int row1 = 2;
Pinmanee 2:fb07a736e132 31 int row2 = 72;
Pinmanee 2:fb07a736e132 32 int row3 = 142;
Pinmanee 2:fb07a736e132 33 int row4 = 212;
Pinmanee 2:fb07a736e132 34 int row5 = 282;
Pinmanee 2:fb07a736e132 35 int n = 0;
Pinmanee 2:fb07a736e132 36
Pinmanee 3:dbe254844345 37 float sensor[60] = {8,0,0,0,0,0,0,0,0,0, //sensor input for graph
Pinmanee 3:dbe254844345 38 16,0,0,0,0,0,0,0,0,0,
Pinmanee 3:dbe254844345 39 24,0,0,0,0,0,0,0,0,0,
Pinmanee 3:dbe254844345 40 32,0,0,0,0,0,0,0,0,0,
Pinmanee 3:dbe254844345 41 40,0,0,0,0,0,0,0,0,0,
Pinmanee 3:dbe254844345 42 48,0,0,0,0,0,0,0,0,0};
Pinmanee 2:fb07a736e132 43
Pinmanee 3:dbe254844345 44 unsigned char img[] = { //graph
Pinmanee 2:fb07a736e132 45 128,255,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 46 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 47 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 48 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 49 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 50
Pinmanee 2:fb07a736e132 51 128,255,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 52 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 53 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 54 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 55 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 56
Pinmanee 2:fb07a736e132 57 128,255,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 58 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 59 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 60 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 61 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 62
Pinmanee 2:fb07a736e132 63 128,255,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 64 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 65 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 66 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 67 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
Pinmanee 2:fb07a736e132 68
Pinmanee 2:fb07a736e132 69 128,255,128,128,128,128,128,128,128,128,128,192,128,128,
Pinmanee 2:fb07a736e132 70 128,128,128,128,128,128,128,192,128,128,128,128,128,128,
Pinmanee 2:fb07a736e132 71 128,128,128,192,128,128,128,128,128,128,128,128,128,192,
Pinmanee 2:fb07a736e132 72 128,128,128,128,128,128,128,128,128,192,128,128,128,128,
Pinmanee 2:fb07a736e132 73 128,128,128,128,128,192,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
Pinmanee 2:fb07a736e132 74 };
Pinmanee 2:fb07a736e132 75
Pinmanee 1:baf91b6482eb 76 while(1) {
Pinmanee 1:baf91b6482eb 77
Pinmanee 1:baf91b6482eb 78 select = analog_button_select.read();
Pinmanee 1:baf91b6482eb 79 press = analog_button_press.read();
Pinmanee 3:dbe254844345 80 printf("home page");
Pinmanee 1:baf91b6482eb 81
Pinmanee 2:fb07a736e132 82 n = 0;
Pinmanee 3:dbe254844345 83 while (n != 60) {
Pinmanee 2:fb07a736e132 84 //Start Row5
Pinmanee 2:fb07a736e132 85 if (sensor[n] == 1) {
Pinmanee 2:fb07a736e132 86 img[row5+n] = 128;
Pinmanee 2:fb07a736e132 87 } else if (sensor[n] == 2) {
Pinmanee 2:fb07a736e132 88 img[row5+n] = 192;
Pinmanee 2:fb07a736e132 89 } else if (sensor[n] == 3) {
Pinmanee 2:fb07a736e132 90 img[row5+n] = 160;
Pinmanee 2:fb07a736e132 91 } else if (sensor[n] == 4) {
Pinmanee 2:fb07a736e132 92 img[row5+n] = 144;
Pinmanee 2:fb07a736e132 93 } else if (sensor[n] == 5) {
Pinmanee 2:fb07a736e132 94 img[row5+n] = 144;
Pinmanee 2:fb07a736e132 95 } else if (sensor[n] == 6) {
Pinmanee 2:fb07a736e132 96 img[row5+n] = 136;
Pinmanee 2:fb07a736e132 97 } else if (sensor[n] == 7) {
Pinmanee 2:fb07a736e132 98 img[row5+n] = 136;
Pinmanee 2:fb07a736e132 99 } else if (sensor[n] == 8) {
Pinmanee 2:fb07a736e132 100 img[row5+n] = 132;
Pinmanee 2:fb07a736e132 101 } else if (sensor[n] == 9) {
Pinmanee 2:fb07a736e132 102 img[row5+n] = 132;
Pinmanee 2:fb07a736e132 103 } else if (sensor[n] == 10) {
Pinmanee 2:fb07a736e132 104 img[row5+n] = 129;
Pinmanee 2:fb07a736e132 105 }
Pinmanee 2:fb07a736e132 106 //End Row5
Pinmanee 2:fb07a736e132 107
Pinmanee 2:fb07a736e132 108 //Start Row4
Pinmanee 3:dbe254844345 109 if (sensor[n] == 11) {
Pinmanee 2:fb07a736e132 110 img[row4+n] = 128;
Pinmanee 2:fb07a736e132 111 } else if (sensor[n] == 12) {
Pinmanee 2:fb07a736e132 112 img[row4+n] = 64;
Pinmanee 2:fb07a736e132 113 } else if (sensor[n] == 13) {
Pinmanee 2:fb07a736e132 114 img[row4+n] = 32;
Pinmanee 2:fb07a736e132 115 } else if (sensor[n] == 14) {
Pinmanee 2:fb07a736e132 116 img[row4+n] = 16;
Pinmanee 2:fb07a736e132 117 } else if (sensor[n] == 15) {
Pinmanee 2:fb07a736e132 118 img[row4+n] = 16;
Pinmanee 2:fb07a736e132 119 } else if (sensor[n] == 16) {
Pinmanee 2:fb07a736e132 120 img[row4+n] = 8;
Pinmanee 2:fb07a736e132 121 } else if (sensor[n] == 17) {
Pinmanee 2:fb07a736e132 122 img[row4+n] = 8;
Pinmanee 2:fb07a736e132 123 } else if (sensor[n] == 18) {
Pinmanee 2:fb07a736e132 124 img[row4+n] = 4;
Pinmanee 2:fb07a736e132 125 } else if (sensor[n] == 19) {
Pinmanee 2:fb07a736e132 126 img[row4+n] = 2;
Pinmanee 2:fb07a736e132 127 } else if (sensor[n] == 20) {
Pinmanee 2:fb07a736e132 128 img[row4+n] = 1;
Pinmanee 2:fb07a736e132 129 }
Pinmanee 2:fb07a736e132 130 //End Row4
Pinmanee 2:fb07a736e132 131
Pinmanee 2:fb07a736e132 132 //Start Row3
Pinmanee 3:dbe254844345 133 if (sensor[n] == 21) {
Pinmanee 2:fb07a736e132 134 img[row3+n] = 128;
Pinmanee 2:fb07a736e132 135 } else if (sensor[n] == 22) {
Pinmanee 2:fb07a736e132 136 img[row3+n] = 64;
Pinmanee 2:fb07a736e132 137 } else if (sensor[n] == 23) {
Pinmanee 2:fb07a736e132 138 img[row3+n] = 32;
Pinmanee 2:fb07a736e132 139 } else if (sensor[n] == 24) {
Pinmanee 2:fb07a736e132 140 img[row3+n] = 16;
Pinmanee 2:fb07a736e132 141 } else if (sensor[n] == 25) {
Pinmanee 2:fb07a736e132 142 img[row3+n] = 16;
Pinmanee 2:fb07a736e132 143 } else if (sensor[n] == 26) {
Pinmanee 2:fb07a736e132 144 img[row3+n] = 8;
Pinmanee 2:fb07a736e132 145 } else if (sensor[n] == 27) {
Pinmanee 2:fb07a736e132 146 img[row3+n] = 8;
Pinmanee 2:fb07a736e132 147 } else if (sensor[n] == 28) {
Pinmanee 2:fb07a736e132 148 img[row3+n] = 4;
Pinmanee 2:fb07a736e132 149 } else if (sensor[n] == 29) {
Pinmanee 2:fb07a736e132 150 img[row3+n] = 2;
Pinmanee 2:fb07a736e132 151 } else if (sensor[n] == 30) {
Pinmanee 2:fb07a736e132 152 img[row3+n] = 1;
Pinmanee 2:fb07a736e132 153 }
Pinmanee 2:fb07a736e132 154 //End Row3
Pinmanee 2:fb07a736e132 155
Pinmanee 2:fb07a736e132 156 //Start Row2
Pinmanee 3:dbe254844345 157 if (sensor[n] == 31) {
Pinmanee 2:fb07a736e132 158 img[row2+n] = 128;
Pinmanee 2:fb07a736e132 159 } else if (sensor[n] == 32) {
Pinmanee 2:fb07a736e132 160 img[row2+n] = 64;
Pinmanee 2:fb07a736e132 161 } else if (sensor[n] == 33) {
Pinmanee 2:fb07a736e132 162 img[row2+n] = 32;
Pinmanee 2:fb07a736e132 163 } else if (sensor[n] == 34) {
Pinmanee 2:fb07a736e132 164 img[row2+n] = 16;
Pinmanee 2:fb07a736e132 165 } else if (sensor[n] == 35) {
Pinmanee 2:fb07a736e132 166 img[row2+n] = 16;
Pinmanee 2:fb07a736e132 167 } else if (sensor[n] == 36) {
Pinmanee 2:fb07a736e132 168 img[row2+n] = 8;
Pinmanee 2:fb07a736e132 169 } else if (sensor[n] == 37) {
Pinmanee 2:fb07a736e132 170 img[row2+n] = 8;
Pinmanee 2:fb07a736e132 171 } else if (sensor[n] == 38) {
Pinmanee 2:fb07a736e132 172 img[row2+n] = 4;
Pinmanee 2:fb07a736e132 173 } else if (sensor[n] == 39) {
Pinmanee 2:fb07a736e132 174 img[row2+n] = 2;
Pinmanee 2:fb07a736e132 175 } else if (sensor[n] == 40) {
Pinmanee 2:fb07a736e132 176 img[row2+n] = 1;
Pinmanee 2:fb07a736e132 177 }
Pinmanee 2:fb07a736e132 178 //End Row2
Pinmanee 2:fb07a736e132 179
Pinmanee 2:fb07a736e132 180 //Start Row1
Pinmanee 3:dbe254844345 181 if (sensor[n] == 41) {
Pinmanee 2:fb07a736e132 182 img[row1+n] = 128;
Pinmanee 2:fb07a736e132 183 } else if (sensor[n] == 42) {
Pinmanee 2:fb07a736e132 184 img[row1+n] = 64;
Pinmanee 2:fb07a736e132 185 } else if (sensor[n] == 43) {
Pinmanee 2:fb07a736e132 186 img[row1+n] = 32;
Pinmanee 2:fb07a736e132 187 } else if (sensor[n] == 44) {
Pinmanee 2:fb07a736e132 188 img[row1+n] = 16;
Pinmanee 2:fb07a736e132 189 } else if (sensor[n] == 45) {
Pinmanee 2:fb07a736e132 190 img[row1+n] = 16;
Pinmanee 2:fb07a736e132 191 } else if (sensor[n] == 46) {
Pinmanee 2:fb07a736e132 192 img[row1+n] = 8;
Pinmanee 2:fb07a736e132 193 } else if (sensor[n] == 47) {
Pinmanee 2:fb07a736e132 194 img[row1+n] = 8;
Pinmanee 2:fb07a736e132 195 } else if (sensor[n] == 48) {
Pinmanee 2:fb07a736e132 196 img[row1+n] = 4;
Pinmanee 2:fb07a736e132 197 } else if (sensor[n] == 49) {
Pinmanee 2:fb07a736e132 198 img[row1+n] = 2;
Pinmanee 2:fb07a736e132 199 } else if (sensor[n] == 50) {
Pinmanee 2:fb07a736e132 200 img[row1+n] = 1;
Pinmanee 2:fb07a736e132 201 }
Pinmanee 2:fb07a736e132 202 //End Row1
Pinmanee 2:fb07a736e132 203 n = n +1;
Pinmanee 2:fb07a736e132 204 }
Pinmanee 2:fb07a736e132 205
Pinmanee 1:baf91b6482eb 206 if (state == 0) { // Home Page
Pinmanee 1:baf91b6482eb 207 p.backlight(0);
Pinmanee 1:baf91b6482eb 208 p.LCD_write_string(28,2,"Hello",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 209 printf("I am in home page\n");
Pinmanee 3:dbe254844345 210
Pinmanee 1:baf91b6482eb 211 rfid_ID = ReadRFID();
Pinmanee 1:baf91b6482eb 212
Pinmanee 3:dbe254844345 213 if (rfid_ID == 0) {
Pinmanee 3:dbe254844345 214 printf("Admin detected\n");
Pinmanee 3:dbe254844345 215 p.LCD_clear();
Pinmanee 3:dbe254844345 216 state = 1;
Pinmanee 3:dbe254844345 217 }
Pinmanee 3:dbe254844345 218
Pinmanee 3:dbe254844345 219 if (rfid_ID == 1) {
Pinmanee 3:dbe254844345 220 printf("Alarm detected\n");
Pinmanee 1:baf91b6482eb 221 p.LCD_clear();
Pinmanee 1:baf91b6482eb 222 state = 2;
Pinmanee 1:baf91b6482eb 223 }
Pinmanee 3:dbe254844345 224 }
Pinmanee 1:baf91b6482eb 225
Pinmanee 3:dbe254844345 226 /* if (ss_analysis == 0) { // Alarm Page
Pinmanee 3:dbe254844345 227 printf("Alarm detected");
Pinmanee 3:dbe254844345 228 p.LCD_clear();
Pinmanee 3:dbe254844345 229 state = 2;
Pinmanee 3:dbe254844345 230 } else {
Pinmanee 3:dbe254844345 231 if (rfid_ID == 0) {
Pinmanee 3:dbe254844345 232 printf("Admin detected");
Pinmanee 3:dbe254844345 233 p.LCD_clear();
Pinmanee 3:dbe254844345 234 state = 1;
Pinmanee 3:dbe254844345 235 } else break;
Pinmanee 3:dbe254844345 236 }
Pinmanee 3:dbe254844345 237 */
Pinmanee 1:baf91b6482eb 238
Pinmanee 1:baf91b6482eb 239 else if (state == 1) { //Admin Page
Pinmanee 1:baf91b6482eb 240 p.backlight(1);
Pinmanee 1:baf91b6482eb 241 p.LCD_write_string(25,0,"Admin",MENU_HIGHLIGHT);
Pinmanee 1:baf91b6482eb 242 p.LCD_write_string(0,1,"- Motion Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 243 p.LCD_write_string(0,2,"- AC Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 244 p.LCD_write_string(0,3,"- LDR Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 245 p.LCD_write_string(0,4,"Back",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 246
Pinmanee 1:baf91b6482eb 247
Pinmanee 1:baf91b6482eb 248 while(1) {
Pinmanee 1:baf91b6482eb 249 select = analog_button_select.read();
Pinmanee 1:baf91b6482eb 250 press = analog_button_press.read();
Pinmanee 1:baf91b6482eb 251
Pinmanee 1:baf91b6482eb 252 if (select != 0 && press != 0) { // no press
Pinmanee 1:baf91b6482eb 253 if (line == 1) {
Pinmanee 1:baf91b6482eb 254 p.LCD_write_string(25,0,"Admin",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 255 p.LCD_write_string(0,1,"- Motion Graph",MENU_HIGHLIGHT); //line = 0
Pinmanee 1:baf91b6482eb 256 p.LCD_write_string(0,2,"- AC Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 257 p.LCD_write_string(0,3,"- LDR Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 258 p.LCD_write_string(0,4,"Back",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 259 }
Pinmanee 1:baf91b6482eb 260
Pinmanee 1:baf91b6482eb 261 else if (line == 2) {
Pinmanee 1:baf91b6482eb 262 p.LCD_write_string(25,0,"Admin",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 263 p.LCD_write_string(0,1,"- Motion Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 264 p.LCD_write_string(0,2,"- AC Graph",MENU_HIGHLIGHT); //line = 1
Pinmanee 1:baf91b6482eb 265 p.LCD_write_string(0,3,"- LDR Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 266 p.LCD_write_string(0,4,"Back",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 267 }
Pinmanee 1:baf91b6482eb 268
Pinmanee 1:baf91b6482eb 269 else if (line == 3) {
Pinmanee 1:baf91b6482eb 270 p.LCD_write_string(25,0,"Admin",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 271 p.LCD_write_string(0,1,"- Motion Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 272 p.LCD_write_string(0,2,"- AC Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 273 p.LCD_write_string(0,3,"- LDR Graph",MENU_HIGHLIGHT); //line = 2
Pinmanee 1:baf91b6482eb 274 p.LCD_write_string(0,4,"Back",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 275 }
Pinmanee 1:baf91b6482eb 276
Pinmanee 1:baf91b6482eb 277 else if (line == 4) {
Pinmanee 1:baf91b6482eb 278 p.LCD_write_string(25,0,"Admin",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 279 p.LCD_write_string(0,1,"- Motion Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 280 p.LCD_write_string(0,2,"- AC Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 281 p.LCD_write_string(0,3,"- LDR Graph",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 282 p.LCD_write_string(0,4,"Back",MENU_HIGHLIGHT); //line = 3
Pinmanee 1:baf91b6482eb 283 }
Pinmanee 1:baf91b6482eb 284 }
Pinmanee 1:baf91b6482eb 285
Pinmanee 1:baf91b6482eb 286 else if (select == 0) { // channel selecting button (down)
Pinmanee 1:baf91b6482eb 287 if (line < 4) {
Pinmanee 1:baf91b6482eb 288 //printf("line = %d\n",line);
Pinmanee 1:baf91b6482eb 289 line = line + 1;
Pinmanee 1:baf91b6482eb 290 wait_ms(250);
Pinmanee 1:baf91b6482eb 291 } else line = 0;
Pinmanee 1:baf91b6482eb 292 }
Pinmanee 1:baf91b6482eb 293
Pinmanee 1:baf91b6482eb 294 else if (press == 0) { // press button
Pinmanee 1:baf91b6482eb 295 //printf("i am in\n");
Pinmanee 1:baf91b6482eb 296 //printf("line = %d\n",line);
Pinmanee 1:baf91b6482eb 297
Pinmanee 1:baf91b6482eb 298 if(line == 0) {
Pinmanee 1:baf91b6482eb 299 state = 1;
Pinmanee 1:baf91b6482eb 300 line = 0;
Pinmanee 1:baf91b6482eb 301 break;
Pinmanee 1:baf91b6482eb 302 } else if(line == 1) {
Pinmanee 1:baf91b6482eb 303 state = 10;
Pinmanee 1:baf91b6482eb 304 break;
Pinmanee 1:baf91b6482eb 305 } else if(line == 2) {
Pinmanee 1:baf91b6482eb 306 state = 11;
Pinmanee 1:baf91b6482eb 307 break;
Pinmanee 1:baf91b6482eb 308 } else if(line == 3) {
Pinmanee 1:baf91b6482eb 309 state = 12;
Pinmanee 1:baf91b6482eb 310 break;
Pinmanee 1:baf91b6482eb 311 } else {
Pinmanee 1:baf91b6482eb 312 p.LCD_clear();
Pinmanee 1:baf91b6482eb 313 state = 0;
Pinmanee 1:baf91b6482eb 314 line = 0;
Pinmanee 1:baf91b6482eb 315 break;
Pinmanee 1:baf91b6482eb 316 }
Pinmanee 1:baf91b6482eb 317 }
Pinmanee 1:baf91b6482eb 318
Pinmanee 1:baf91b6482eb 319 }
Pinmanee 1:baf91b6482eb 320 }
Pinmanee 1:baf91b6482eb 321
Pinmanee 1:baf91b6482eb 322 else if (state == 10) { //Admin Page - Motion Graph
Pinmanee 1:baf91b6482eb 323 p.LCD_clear();
Pinmanee 1:baf91b6482eb 324 p.LCD_write_string(7,0,"Motion Graph",MENU_HIGHLIGHT);
Pinmanee 2:fb07a736e132 325 p.LCD_draw_bmp_pixel(14,1, img, 70,40);
Pinmanee 1:baf91b6482eb 326 wait_ms(250);
Pinmanee 1:baf91b6482eb 327
Pinmanee 1:baf91b6482eb 328 while(1) {
Pinmanee 1:baf91b6482eb 329 press = analog_button_press.read();
Pinmanee 1:baf91b6482eb 330
Pinmanee 1:baf91b6482eb 331 if (press == 0) {
Pinmanee 1:baf91b6482eb 332 printf("press\n");
Pinmanee 1:baf91b6482eb 333 p.LCD_clear();
Pinmanee 1:baf91b6482eb 334 state = 1;
Pinmanee 1:baf91b6482eb 335 line = 0;
Pinmanee 1:baf91b6482eb 336 break;
Pinmanee 1:baf91b6482eb 337 }
Pinmanee 1:baf91b6482eb 338 }
Pinmanee 1:baf91b6482eb 339 }
Pinmanee 1:baf91b6482eb 340
Pinmanee 1:baf91b6482eb 341 else if (state == 11) { //Admin Page - Air Conditioner Graph
Pinmanee 1:baf91b6482eb 342 p.LCD_clear();
Pinmanee 1:baf91b6482eb 343 p.LCD_write_string(20,0,"AC Graph",MENU_HIGHLIGHT);
Pinmanee 2:fb07a736e132 344 p.LCD_draw_bmp_pixel(14,1, img, 70,40);
Pinmanee 1:baf91b6482eb 345 wait_ms(250);
Pinmanee 1:baf91b6482eb 346
Pinmanee 1:baf91b6482eb 347 while(1) {
Pinmanee 1:baf91b6482eb 348 press = analog_button_press.read();
Pinmanee 1:baf91b6482eb 349
Pinmanee 1:baf91b6482eb 350 if (press == 0) {
Pinmanee 1:baf91b6482eb 351 printf("press\n");
Pinmanee 1:baf91b6482eb 352 p.LCD_clear();
Pinmanee 1:baf91b6482eb 353 state = 1;
Pinmanee 1:baf91b6482eb 354 line = 0;
Pinmanee 1:baf91b6482eb 355 break;
Pinmanee 1:baf91b6482eb 356 }
Pinmanee 1:baf91b6482eb 357 }
Pinmanee 1:baf91b6482eb 358 }
Pinmanee 1:baf91b6482eb 359
Pinmanee 1:baf91b6482eb 360 else if (state == 12) { //Admin Page - LDR Graph
Pinmanee 1:baf91b6482eb 361 p.LCD_clear();
Pinmanee 1:baf91b6482eb 362 p.LCD_write_string(17,0,"LDR Graph",MENU_HIGHLIGHT);
Pinmanee 2:fb07a736e132 363 p.LCD_draw_bmp_pixel(14,1, img, 70,40);
Pinmanee 1:baf91b6482eb 364 wait_ms(250);
Pinmanee 1:baf91b6482eb 365
Pinmanee 1:baf91b6482eb 366 while(1) {
Pinmanee 1:baf91b6482eb 367 press = analog_button_press.read();
Pinmanee 1:baf91b6482eb 368
Pinmanee 1:baf91b6482eb 369 if (press == 0) {
Pinmanee 1:baf91b6482eb 370 printf("press\n");
Pinmanee 1:baf91b6482eb 371 p.LCD_clear();
Pinmanee 1:baf91b6482eb 372 state = 1;
Pinmanee 1:baf91b6482eb 373 line = 0;
Pinmanee 1:baf91b6482eb 374 break;
Pinmanee 1:baf91b6482eb 375 }
Pinmanee 1:baf91b6482eb 376 }
Pinmanee 1:baf91b6482eb 377 }
Pinmanee 1:baf91b6482eb 378
Pinmanee 1:baf91b6482eb 379 else if (state == 2) {
Pinmanee 1:baf91b6482eb 380 p.LCD_clear();
Pinmanee 1:baf91b6482eb 381 while(1) {
Pinmanee 1:baf91b6482eb 382 p.backlight(0);
Pinmanee 1:baf91b6482eb 383 wait_ms(500);
Pinmanee 1:baf91b6482eb 384 p.backlight(1);
Pinmanee 1:baf91b6482eb 385 wait_ms(500);
Pinmanee 1:baf91b6482eb 386 p.LCD_write_string(25,1,"PEASE",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 387 p.LCD_write_string(10,3,"TAP ID CARD",MENU_NORMAL);
Pinmanee 1:baf91b6482eb 388 wait_ms(250);
Pinmanee 3:dbe254844345 389 /*
Pinmanee 3:dbe254844345 390 if (rfid_ID == 1) {
Pinmanee 3:dbe254844345 391 printf("User detected");
Pinmanee 3:dbe254844345 392 p.LCD_clear();
Pinmanee 3:dbe254844345 393 state = 0;
Pinmanee 3:dbe254844345 394 }
Pinmanee 3:dbe254844345 395 */
Pinmanee 1:baf91b6482eb 396 }
Pinmanee 1:baf91b6482eb 397 }
Pinmanee 1:baf91b6482eb 398
Pinmanee 1:baf91b6482eb 399 }
Pinmanee 1:baf91b6482eb 400 }
Pinmanee 1:baf91b6482eb 401
Pinmanee 1:baf91b6482eb 402 int ReadRFID()
Pinmanee 1:baf91b6482eb 403 {
Pinmanee 3:dbe254844345 404 int data[10], card ;
Pinmanee 3:dbe254844345 405 float ss;
Pinmanee 1:baf91b6482eb 406 pc.printf("starting...\n");
Pinmanee 3:dbe254844345 407 ss = analog_button_alarm.read();
Pinmanee 1:baf91b6482eb 408
Pinmanee 1:baf91b6482eb 409 // Init. RC522 Chip
Pinmanee 1:baf91b6482eb 410 RfChip.PCD_Init();
Pinmanee 1:baf91b6482eb 411
Pinmanee 3:dbe254844345 412 while (true) {
Pinmanee 2:fb07a736e132 413 LedGreen = 1;
Pinmanee 1:baf91b6482eb 414
Pinmanee 1:baf91b6482eb 415 // Look for new cards
Pinmanee 1:baf91b6482eb 416 if(data[0] == 199 && data[1] == 230 &&data[2] == 46 &&data[3] == 0 ) {
Pinmanee 1:baf91b6482eb 417 //pc.printf(" admin \n");
Pinmanee 1:baf91b6482eb 418 data[0] = 0;
Pinmanee 1:baf91b6482eb 419 data[1] = 0;
Pinmanee 1:baf91b6482eb 420 data[2] = 0;
Pinmanee 1:baf91b6482eb 421 data[3] = 0;
Pinmanee 1:baf91b6482eb 422 card = 0;
Pinmanee 1:baf91b6482eb 423 return card;
Pinmanee 1:baf91b6482eb 424 }
Pinmanee 1:baf91b6482eb 425 if ( ! RfChip.PICC_IsNewCardPresent()) {
Pinmanee 1:baf91b6482eb 426 wait_ms(500);
Pinmanee 1:baf91b6482eb 427 continue;
Pinmanee 1:baf91b6482eb 428 }
Pinmanee 1:baf91b6482eb 429
Pinmanee 1:baf91b6482eb 430 // Select one of the cards
Pinmanee 1:baf91b6482eb 431 if ( ! RfChip.PICC_ReadCardSerial()) {
Pinmanee 1:baf91b6482eb 432 wait_ms(500);
Pinmanee 1:baf91b6482eb 433 continue;
Pinmanee 1:baf91b6482eb 434 }
Pinmanee 3:dbe254844345 435
Pinmanee 3:dbe254844345 436
Pinmanee 1:baf91b6482eb 437 LedGreen = 0;
Pinmanee 1:baf91b6482eb 438
Pinmanee 1:baf91b6482eb 439 // Print Card UID
Pinmanee 1:baf91b6482eb 440 pc.printf("Card UID: ");
Pinmanee 1:baf91b6482eb 441 for (uint8_t i = 0; i < RfChip.uid.size; i++) {
Pinmanee 1:baf91b6482eb 442 data[i] = RfChip.uid.uidByte[i];
Pinmanee 1:baf91b6482eb 443 pc.printf("%d ", data[i]);
Pinmanee 1:baf91b6482eb 444
Pinmanee 1:baf91b6482eb 445 }
Pinmanee 1:baf91b6482eb 446
Pinmanee 1:baf91b6482eb 447 //pc.printf("\n\r");
Pinmanee 1:baf91b6482eb 448 //pc.printf("\n\r");
Pinmanee 1:baf91b6482eb 449 //char data[0];
Pinmanee 1:baf91b6482eb 450 //pc.printf(" %X02", data[0]);
Pinmanee 1:baf91b6482eb 451 //pc.printf(" %s\n", data[0]);
Pinmanee 1:baf91b6482eb 452
Pinmanee 1:baf91b6482eb 453 pc.printf("\n\r");
Pinmanee 1:baf91b6482eb 454 }
Pinmanee 3:dbe254844345 455 }