get an input from RFID to control the LCD

Dependencies:   mbed

Fork of LCD4884 by Dan Ghiciulescu

Revision:
2:fb07a736e132
Parent:
1:baf91b6482eb
Child:
3:dbe254844345
--- a/main.cpp	Sun Dec 10 16:17:13 2017 +0000
+++ b/main.cpp	Mon Dec 11 07:39:34 2017 +0000
@@ -25,24 +25,189 @@
     p.LCD_init();
     p.LCD_write_string(28,2,"Hello",MENU_NORMAL);
     uint8_t state = 0;
-    double select, press, alarm;
+    double select, press, ss_analysis;
     int line, rfid_ID;
 
+    int row1 = 2;
+    int row2 = 72;
+    int row3 = 142;
+    int row4 = 212;
+    int row5 = 282;
+    int n = 0;
+
+    float sensor[6] = {40,20,10,16,27,33};
+
+    unsigned char img[] = {
+        128,255,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+        128,255,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+        128,255,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+        128,255,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+        128,255,128,128,128,128,128,128,128,128,128,192,128,128,
+        128,128,128,128,128,128,128,192,128,128,128,128,128,128,
+        128,128,128,192,128,128,128,128,128,128,128,128,128,192,
+        128,128,128,128,128,128,128,128,128,192,128,128,128,128,
+        128,128,128,128,128,192,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
+    };
+
     while(1) {
 
         select = analog_button_select.read();
         press = analog_button_press.read();
+        ss_analysis = analog_button_alarm.read();
 
         printf("x = %f\n",select);
 
+        n = 0;
+        while (n != 6) {
+            //Start Row5
+            if (sensor[n] == 1) {
+                img[row5+n] = 128;
+            } else if (sensor[n] == 2) {
+                img[row5+n] = 192;
+            } else if (sensor[n] == 3) {
+                img[row5+n] = 160;
+            } else if (sensor[n] == 4) {
+                img[row5+n] = 144;
+            } else if (sensor[n] == 5) {
+                img[row5+n] = 144;
+            } else if (sensor[n] == 6) {
+                img[row5+n] = 136;
+            } else if (sensor[n] == 7) {
+                img[row5+n] = 136;
+            } else if (sensor[n] == 8) {
+                img[row5+n] = 132;
+            } else if (sensor[n] == 9) {
+                img[row5+n] = 132;
+            } else if (sensor[n] == 10) {
+                img[row5+n] = 129;
+            }
+            //End Row5
+
+            //Start Row4
+            if (sensor[n] == 2) {
+                img[row4+n] = 128;
+            } else if (sensor[n] == 12) {
+                img[row4+n] = 64;
+            } else if (sensor[n] == 13) {
+                img[row4+n] = 32;
+            } else if (sensor[n] == 14) {
+                img[row4+n] = 16;
+            } else if (sensor[n] == 15) {
+                img[row4+n] = 16;
+            } else if (sensor[n] == 16) {
+                img[row4+n] = 8;
+            } else if (sensor[n] == 17) {
+                img[row4+n] = 8;
+            } else if (sensor[n] == 18) {
+                img[row4+n] = 4;
+            } else if (sensor[n] == 19) {
+                img[row4+n] = 2;
+            } else if (sensor[n] == 20) {
+                img[row4+n] = 1;
+            }
+            //End Row4
+
+            //Start Row3
+            if (sensor[n] == 3) {
+                img[row3+n] = 128;
+            } else if (sensor[n] == 22) {
+                img[row3+n] = 64;
+            } else if (sensor[n] == 23) {
+                img[row3+n] = 32;
+            } else if (sensor[n] == 24) {
+                img[row3+n] = 16;
+            } else if (sensor[n] == 25) {
+                img[row3+n] = 16;
+            } else if (sensor[n] == 26) {
+                img[row3+n] = 8;
+            } else if (sensor[n] == 27) {
+                img[row3+n] = 8;
+            } else if (sensor[n] == 28) {
+                img[row3+n] = 4;
+            } else if (sensor[n] == 29) {
+                img[row3+n] = 2;
+            } else if (sensor[n] == 30) {
+                img[row3+n] = 1;
+            }
+            //End Row3
+
+            //Start Row2
+            if (sensor[n] == 4) {
+                img[row2+n] = 128;
+            } else if (sensor[n] == 32) {
+                img[row2+n] = 64;
+            } else if (sensor[n] == 33) {
+                img[row2+n] = 32;
+            } else if (sensor[n] == 34) {
+                img[row2+n] = 16;
+            } else if (sensor[n] == 35) {
+                img[row2+n] = 16;
+            } else if (sensor[n] == 36) {
+                img[row2+n] = 8;
+            } else if (sensor[n] == 37) {
+                img[row2+n] = 8;
+            } else if (sensor[n] == 38) {
+                img[row2+n] = 4;
+            } else if (sensor[n] == 39) {
+                img[row2+n] = 2;
+            } else if (sensor[n] == 40) {
+                img[row2+n] = 1;
+            }
+            //End Row2
+
+            //Start Row1
+            if (sensor[n] == 5) {
+                img[row1+n] = 128;
+            } else if (sensor[n] == 42) {
+                img[row1+n] = 64;
+            } else if (sensor[n] == 43) {
+                img[row1+n] = 32;
+            } else if (sensor[n] == 44) {
+                img[row1+n] = 16;
+            } else if (sensor[n] == 45) {
+                img[row1+n] = 16;
+            } else if (sensor[n] == 46) {
+                img[row1+n] = 8;
+            } else if (sensor[n] == 47) {
+                img[row1+n] = 8;
+            } else if (sensor[n] == 48) {
+                img[row1+n] = 4;
+            } else if (sensor[n] == 49) {
+                img[row1+n] = 2;
+            } else if (sensor[n] == 50) {
+                img[row1+n] = 1;
+            }
+            //End Row1
+            n = n +1;
+        }
+
         if (state == 0) {                                                       // Home Page
             p.backlight(0);
             p.LCD_write_string(28,2,"Hello",MENU_NORMAL);
             printf("I am in home page\n");
-            alarm = analog_button_alarm.read();
             rfid_ID = ReadRFID();
 
-            if (alarm == 0) {                                                   // Alarm Page
+            if (ss_analysis == 0) {                                             // Alarm Page
                 printf("Alarm detected");
                 p.LCD_clear();
                 state = 2;
@@ -51,7 +216,7 @@
                     printf("Admin detected");
                     p.LCD_clear();
                     state = 1;
-                }
+                } else break;
             }
 
         }
@@ -142,6 +307,7 @@
         else if (state == 10) {                                                //Admin Page - Motion Graph
             p.LCD_clear();
             p.LCD_write_string(7,0,"Motion Graph",MENU_HIGHLIGHT);
+            p.LCD_draw_bmp_pixel(14,1, img, 70,40);
             wait_ms(250);
 
             while(1) {
@@ -160,6 +326,7 @@
         else if (state == 11) {                                                 //Admin Page - Air Conditioner Graph
             p.LCD_clear();
             p.LCD_write_string(20,0,"AC Graph",MENU_HIGHLIGHT);
+            p.LCD_draw_bmp_pixel(14,1, img, 70,40);
             wait_ms(250);
 
             while(1) {
@@ -178,6 +345,7 @@
         else if (state == 12) {                                                 //Admin Page - LDR Graph
             p.LCD_clear();
             p.LCD_write_string(17,0,"LDR Graph",MENU_HIGHLIGHT);
+            p.LCD_draw_bmp_pixel(14,1, img, 70,40);
             wait_ms(250);
 
             while(1) {
@@ -219,7 +387,7 @@
     RfChip.PCD_Init();
 
     while(true) {
-        LedGreen != 0;
+        LedGreen = 1;
 
         // Look for new cards
         if(data[0] == 199 && data[1] == 230 &&data[2] == 46 &&data[3] == 0 ) {
@@ -241,7 +409,6 @@
             wait_ms(500);
             continue;
         }
-
         LedGreen = 0;
 
         // Print Card UID
@@ -260,4 +427,4 @@
 
         pc.printf("\n\r");
     }
-}
+}
\ No newline at end of file