Bank Account Security System

Dependencies:   FatFileSystemSD mbed

Committer:
Dhruv_Varun
Date:
Thu Oct 11 20:49:25 2012 +0000
Revision:
0:7e4786a3584b
Code For Bank Account Security System

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Dhruv_Varun 0:7e4786a3584b 1 # include <mbed.h>
Dhruv_Varun 0:7e4786a3584b 2 #include <mpr121.h>
Dhruv_Varun 0:7e4786a3584b 3 #include <string>
Dhruv_Varun 0:7e4786a3584b 4 #include <list>
Dhruv_Varun 0:7e4786a3584b 5 #include <mpr121.h>
Dhruv_Varun 0:7e4786a3584b 6 #include "TextLCD.h"
Dhruv_Varun 0:7e4786a3584b 7 #include <stdio.h>
Dhruv_Varun 0:7e4786a3584b 8 #include <stdlib.h>
Dhruv_Varun 0:7e4786a3584b 9 #include <sstream>
Dhruv_Varun 0:7e4786a3584b 10 #include <iostream>
Dhruv_Varun 0:7e4786a3584b 11 #include "ID12RFID.h"
Dhruv_Varun 0:7e4786a3584b 12 #include "Camera_LS_Y201.h"
Dhruv_Varun 0:7e4786a3584b 13 #include "SDFileSystem.h"
Dhruv_Varun 0:7e4786a3584b 14
Dhruv_Varun 0:7e4786a3584b 15
Dhruv_Varun 0:7e4786a3584b 16
Dhruv_Varun 0:7e4786a3584b 17 TextLCD lcd(p15, p16, p17, p18, p19, p20);
Dhruv_Varun 0:7e4786a3584b 18 //ID12RFID rfid(p14);
Dhruv_Varun 0:7e4786a3584b 19 DigitalOut led1(LED1);
Dhruv_Varun 0:7e4786a3584b 20 DigitalOut led2(LED2);
Dhruv_Varun 0:7e4786a3584b 21 DigitalOut led3(LED3);
Dhruv_Varun 0:7e4786a3584b 22 DigitalOut led4(LED4);
Dhruv_Varun 0:7e4786a3584b 23 bool test1 = false;
Dhruv_Varun 0:7e4786a3584b 24 bool test2 = false;
Dhruv_Varun 0:7e4786a3584b 25 //int a=0;
Dhruv_Varun 0:7e4786a3584b 26 int counter1=0;
Dhruv_Varun 0:7e4786a3584b 27 int Code[4]= {0,0,0,0};
Dhruv_Varun 0:7e4786a3584b 28 int Code2[4];
Dhruv_Varun 0:7e4786a3584b 29 int flag=0;
Dhruv_Varun 0:7e4786a3584b 30 int a=0;
Dhruv_Varun 0:7e4786a3584b 31 int b=0;
Dhruv_Varun 0:7e4786a3584b 32 int enter=0;
Dhruv_Varun 0:7e4786a3584b 33 int end=0;
Dhruv_Varun 0:7e4786a3584b 34 int c=0;
Dhruv_Varun 0:7e4786a3584b 35 int chk1=0;
Dhruv_Varun 0:7e4786a3584b 36 int a1=0;
Dhruv_Varun 0:7e4786a3584b 37 int r=0;
Dhruv_Varun 0:7e4786a3584b 38 InterruptIn interrupt(p26);
Dhruv_Varun 0:7e4786a3584b 39 // Setup the i2c bus on pins 9 and 10
Dhruv_Varun 0:7e4786a3584b 40 I2C i2c(p9, p10);
Dhruv_Varun 0:7e4786a3584b 41 // Setup the Mpr121:
Dhruv_Varun 0:7e4786a3584b 42 // constructor(i2c object, i2c address of the mpr121)
Dhruv_Varun 0:7e4786a3584b 43 Mpr121 mpr121(&i2c, Mpr121::ADD_VSS);
Dhruv_Varun 0:7e4786a3584b 44 ID12RFID rfid(p14); // uart rx
Dhruv_Varun 0:7e4786a3584b 45
Dhruv_Varun 0:7e4786a3584b 46
Dhruv_Varun 0:7e4786a3584b 47
Dhruv_Varun 0:7e4786a3584b 48
Dhruv_Varun 0:7e4786a3584b 49 #define USE_SDCARD 1
Dhruv_Varun 0:7e4786a3584b 50
Dhruv_Varun 0:7e4786a3584b 51 #if USE_SDCARD
Dhruv_Varun 0:7e4786a3584b 52 #define FILENAME "/sd/IMG_%04d.jpg"
Dhruv_Varun 0:7e4786a3584b 53 SDFileSystem fs(p5, p6, p7, p8, "sd");
Dhruv_Varun 0:7e4786a3584b 54 #else
Dhruv_Varun 0:7e4786a3584b 55 #define FILENAME "/local/IMG_%04d.jpg"
Dhruv_Varun 0:7e4786a3584b 56 LocalFileSystem fs("local");
Dhruv_Varun 0:7e4786a3584b 57 #endif
Dhruv_Varun 0:7e4786a3584b 58 Camera_LS_Y201 cam1(p28, p27);
Dhruv_Varun 0:7e4786a3584b 59 typedef struct work {
Dhruv_Varun 0:7e4786a3584b 60 FILE *fp;
Dhruv_Varun 0:7e4786a3584b 61 } work_t;
Dhruv_Varun 0:7e4786a3584b 62
Dhruv_Varun 0:7e4786a3584b 63 work_t work;
Dhruv_Varun 0:7e4786a3584b 64
Dhruv_Varun 0:7e4786a3584b 65 /**
Dhruv_Varun 0:7e4786a3584b 66 * Callback function for readJpegFileContent.
Dhruv_Varun 0:7e4786a3584b 67 *
Dhruv_Varun 0:7e4786a3584b 68 * @param buf A pointer to a buffer.
Dhruv_Varun 0:7e4786a3584b 69 * @param siz A size of the buffer.
Dhruv_Varun 0:7e4786a3584b 70 */
Dhruv_Varun 0:7e4786a3584b 71 void callback_func(int done, int total, uint8_t *buf, size_t siz) {
Dhruv_Varun 0:7e4786a3584b 72 fwrite(buf, siz, 1, work.fp);
Dhruv_Varun 0:7e4786a3584b 73
Dhruv_Varun 0:7e4786a3584b 74 static int n = 0;
Dhruv_Varun 0:7e4786a3584b 75 int tmp = done * 100 / total;
Dhruv_Varun 0:7e4786a3584b 76 if (n != tmp) {
Dhruv_Varun 0:7e4786a3584b 77 n = tmp;
Dhruv_Varun 0:7e4786a3584b 78 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 79 lcd.printf("Writing...: %3d%%", n);
Dhruv_Varun 0:7e4786a3584b 80 //wait(3);
Dhruv_Varun 0:7e4786a3584b 81 // ////newline();
Dhruv_Varun 0:7e4786a3584b 82 }
Dhruv_Varun 0:7e4786a3584b 83 }
Dhruv_Varun 0:7e4786a3584b 84
Dhruv_Varun 0:7e4786a3584b 85 /**
Dhruv_Varun 0:7e4786a3584b 86 * Capture.
Dhruv_Varun 0:7e4786a3584b 87 *
Dhruv_Varun 0:7e4786a3584b 88 * @param cam A pointer to a camera object.
Dhruv_Varun 0:7e4786a3584b 89 * @param filename The file name.
Dhruv_Varun 0:7e4786a3584b 90 *
Dhruv_Varun 0:7e4786a3584b 91 * @return Return 0 if it succeed.
Dhruv_Varun 0:7e4786a3584b 92 */
Dhruv_Varun 0:7e4786a3584b 93 int capture(Camera_LS_Y201 *cam, char *filename) {
Dhruv_Varun 0:7e4786a3584b 94 /*
Dhruv_Varun 0:7e4786a3584b 95 * Take a picture.
Dhruv_Varun 0:7e4786a3584b 96 */
Dhruv_Varun 0:7e4786a3584b 97 if (cam->takePicture() != 0) {
Dhruv_Varun 0:7e4786a3584b 98 return -1;
Dhruv_Varun 0:7e4786a3584b 99 }
Dhruv_Varun 0:7e4786a3584b 100 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 101 lcd.printf("Captured.");
Dhruv_Varun 0:7e4786a3584b 102 wait(3);
Dhruv_Varun 0:7e4786a3584b 103 // //newline();
Dhruv_Varun 0:7e4786a3584b 104
Dhruv_Varun 0:7e4786a3584b 105 /*
Dhruv_Varun 0:7e4786a3584b 106 * Open file.
Dhruv_Varun 0:7e4786a3584b 107 */
Dhruv_Varun 0:7e4786a3584b 108
Dhruv_Varun 0:7e4786a3584b 109 work.fp = fopen(filename, "wb");
Dhruv_Varun 0:7e4786a3584b 110 if (work.fp == NULL) {
Dhruv_Varun 0:7e4786a3584b 111 return -2;
Dhruv_Varun 0:7e4786a3584b 112 }
Dhruv_Varun 0:7e4786a3584b 113
Dhruv_Varun 0:7e4786a3584b 114 /*
Dhruv_Varun 0:7e4786a3584b 115 * Read the content.
Dhruv_Varun 0:7e4786a3584b 116 */
Dhruv_Varun 0:7e4786a3584b 117 lcd.printf("%s", filename);
Dhruv_Varun 0:7e4786a3584b 118 wait(3);
Dhruv_Varun 0:7e4786a3584b 119 ////newline();
Dhruv_Varun 0:7e4786a3584b 120 if (cam->readJpegFileContent(callback_func) != 0) {
Dhruv_Varun 0:7e4786a3584b 121 fclose(work.fp);
Dhruv_Varun 0:7e4786a3584b 122 return -3;
Dhruv_Varun 0:7e4786a3584b 123 }
Dhruv_Varun 0:7e4786a3584b 124 fclose(work.fp);
Dhruv_Varun 0:7e4786a3584b 125
Dhruv_Varun 0:7e4786a3584b 126 /*
Dhruv_Varun 0:7e4786a3584b 127 * Stop taking pictures.
Dhruv_Varun 0:7e4786a3584b 128 */
Dhruv_Varun 0:7e4786a3584b 129 cam->stopTakingPictures();
Dhruv_Varun 0:7e4786a3584b 130
Dhruv_Varun 0:7e4786a3584b 131 return 0;
Dhruv_Varun 0:7e4786a3584b 132 }
Dhruv_Varun 0:7e4786a3584b 133 //DigitalOut led1(LED1);
Dhruv_Varun 0:7e4786a3584b 134
Dhruv_Varun 0:7e4786a3584b 135 //TextLCD lcd(p15, p16, p17, p18, p19, p20); // rs, e, d4-d7
Dhruv_Varun 0:7e4786a3584b 136 // Key hit/release interrupt routine
Dhruv_Varun 0:7e4786a3584b 137 void fallInterrupt() {
Dhruv_Varun 0:7e4786a3584b 138 int key_code=0;
Dhruv_Varun 0:7e4786a3584b 139 int i=0;
Dhruv_Varun 0:7e4786a3584b 140 int value=mpr121.read(0x00);
Dhruv_Varun 0:7e4786a3584b 141 value +=mpr121.read(0x01)<<8;
Dhruv_Varun 0:7e4786a3584b 142 // LED demo mod
Dhruv_Varun 0:7e4786a3584b 143 i=0;
Dhruv_Varun 0:7e4786a3584b 144 // puts key number out to LEDs for demo
Dhruv_Varun 0:7e4786a3584b 145 for (i=0; i<12; i++) {
Dhruv_Varun 0:7e4786a3584b 146 if (((value>>i)&0x01)==1)
Dhruv_Varun 0:7e4786a3584b 147 {
Dhruv_Varun 0:7e4786a3584b 148 // led4=0;
Dhruv_Varun 0:7e4786a3584b 149 b=1;
Dhruv_Varun 0:7e4786a3584b 150
Dhruv_Varun 0:7e4786a3584b 151 key_code=i+1;
Dhruv_Varun 0:7e4786a3584b 152 if(key_code==12)
Dhruv_Varun 0:7e4786a3584b 153 {
Dhruv_Varun 0:7e4786a3584b 154 end=1;
Dhruv_Varun 0:7e4786a3584b 155 c=0;
Dhruv_Varun 0:7e4786a3584b 156 }
Dhruv_Varun 0:7e4786a3584b 157 else if(key_code==11)
Dhruv_Varun 0:7e4786a3584b 158 {
Dhruv_Varun 0:7e4786a3584b 159 enter=1;
Dhruv_Varun 0:7e4786a3584b 160 c=0;
Dhruv_Varun 0:7e4786a3584b 161 }
Dhruv_Varun 0:7e4786a3584b 162 else
Dhruv_Varun 0:7e4786a3584b 163 {
Dhruv_Varun 0:7e4786a3584b 164 //a=i;
Dhruv_Varun 0:7e4786a3584b 165 if(counter1 < 4)
Dhruv_Varun 0:7e4786a3584b 166 {
Dhruv_Varun 0:7e4786a3584b 167 Code[counter1] = i;
Dhruv_Varun 0:7e4786a3584b 168 counter1++;
Dhruv_Varun 0:7e4786a3584b 169 }
Dhruv_Varun 0:7e4786a3584b 170 if(counter1==4)
Dhruv_Varun 0:7e4786a3584b 171 {
Dhruv_Varun 0:7e4786a3584b 172 Code2[0]=Code[0];
Dhruv_Varun 0:7e4786a3584b 173 Code2[1]=Code[1];
Dhruv_Varun 0:7e4786a3584b 174 Code2[2]=Code[2];
Dhruv_Varun 0:7e4786a3584b 175 Code2[3]=Code[3];
Dhruv_Varun 0:7e4786a3584b 176 Code[0]=0;
Dhruv_Varun 0:7e4786a3584b 177 Code[1]=0;
Dhruv_Varun 0:7e4786a3584b 178 Code[2]=0;
Dhruv_Varun 0:7e4786a3584b 179 Code[3]=0;
Dhruv_Varun 0:7e4786a3584b 180 counter1=0; }
Dhruv_Varun 0:7e4786a3584b 181 c++;
Dhruv_Varun 0:7e4786a3584b 182 }
Dhruv_Varun 0:7e4786a3584b 183
Dhruv_Varun 0:7e4786a3584b 184 /* led4=key_code & 0x01;
Dhruv_Varun 0:7e4786a3584b 185 led3=(key_code>>1) & 0x01;
Dhruv_Varun 0:7e4786a3584b 186 led2=(key_code>>2) & 0x01;
Dhruv_Varun 0:7e4786a3584b 187 led1=(key_code>>3) & 0x01;*/
Dhruv_Varun 0:7e4786a3584b 188 led4=1;
Dhruv_Varun 0:7e4786a3584b 189
Dhruv_Varun 0:7e4786a3584b 190 }
Dhruv_Varun 0:7e4786a3584b 191 //if(led4)
Dhruv_Varun 0:7e4786a3584b 192 //led4=0;
Dhruv_Varun 0:7e4786a3584b 193 }
Dhruv_Varun 0:7e4786a3584b 194 }
Dhruv_Varun 0:7e4786a3584b 195 int main()
Dhruv_Varun 0:7e4786a3584b 196 {
Dhruv_Varun 0:7e4786a3584b 197 interrupt.fall(&fallInterrupt);
Dhruv_Varun 0:7e4786a3584b 198 interrupt.mode(PullUp);
Dhruv_Varun 0:7e4786a3584b 199
Dhruv_Varun 0:7e4786a3584b 200 while(1) {
Dhruv_Varun 0:7e4786a3584b 201 //Code[4]={0,0,0,0};
Dhruv_Varun 0:7e4786a3584b 202 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 203 lcd.printf("Welcome to Chase Bank");
Dhruv_Varun 0:7e4786a3584b 204 wait(4);
Dhruv_Varun 0:7e4786a3584b 205 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 206 lcd.printf("Please tap your card");
Dhruv_Varun 0:7e4786a3584b 207 wait(3);
Dhruv_Varun 0:7e4786a3584b 208 if(rfid.readable()) {
Dhruv_Varun 0:7e4786a3584b 209 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 210 a=rfid.read();
Dhruv_Varun 0:7e4786a3584b 211 a1=a;
Dhruv_Varun 0:7e4786a3584b 212 lcd.printf("RFID Tag number : %d\n", a);
Dhruv_Varun 0:7e4786a3584b 213 wait(3);
Dhruv_Varun 0:7e4786a3584b 214 led1=1;
Dhruv_Varun 0:7e4786a3584b 215 } else {
Dhruv_Varun 0:7e4786a3584b 216 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 217 lcd.printf("card not read properly");
Dhruv_Varun 0:7e4786a3584b 218 wait(3);
Dhruv_Varun 0:7e4786a3584b 219 a=0;
Dhruv_Varun 0:7e4786a3584b 220 }
Dhruv_Varun 0:7e4786a3584b 221 if(a==36905538 || a==36910393) {
Dhruv_Varun 0:7e4786a3584b 222 test1=true;
Dhruv_Varun 0:7e4786a3584b 223 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 224 lcd.printf("Valid Card detected\n");
Dhruv_Varun 0:7e4786a3584b 225 wait(3);
Dhruv_Varun 0:7e4786a3584b 226 lcd.printf("Card ID:- %d",a);
Dhruv_Varun 0:7e4786a3584b 227 wait(3);
Dhruv_Varun 0:7e4786a3584b 228 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 229 lcd.printf("Level 1 cleared");
Dhruv_Varun 0:7e4786a3584b 230 wait(2);
Dhruv_Varun 0:7e4786a3584b 231 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 232 lcd.printf("test1--%d",test1);
Dhruv_Varun 0:7e4786a3584b 233 wait(2);
Dhruv_Varun 0:7e4786a3584b 234 }
Dhruv_Varun 0:7e4786a3584b 235 if(test1 && a!=0) {
Dhruv_Varun 0:7e4786a3584b 236 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 237 lcd.printf("Enter 4 digit pin code");
Dhruv_Varun 0:7e4786a3584b 238 wait(10);
Dhruv_Varun 0:7e4786a3584b 239 if(b==1) {
Dhruv_Varun 0:7e4786a3584b 240 //lcd.cls();
Dhruv_Varun 0:7e4786a3584b 241 if(c==1)
Dhruv_Varun 0:7e4786a3584b 242 {
Dhruv_Varun 0:7e4786a3584b 243 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 244 lcd.printf("one key pressed");
Dhruv_Varun 0:7e4786a3584b 245 wait(2);
Dhruv_Varun 0:7e4786a3584b 246 }
Dhruv_Varun 0:7e4786a3584b 247 else if(c==2)
Dhruv_Varun 0:7e4786a3584b 248 {
Dhruv_Varun 0:7e4786a3584b 249 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 250 lcd.printf("second key pressed");
Dhruv_Varun 0:7e4786a3584b 251 wait(2);
Dhruv_Varun 0:7e4786a3584b 252 }
Dhruv_Varun 0:7e4786a3584b 253 else if(c==3)
Dhruv_Varun 0:7e4786a3584b 254 {
Dhruv_Varun 0:7e4786a3584b 255 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 256 lcd.printf("third key pressed");
Dhruv_Varun 0:7e4786a3584b 257 wait(2);
Dhruv_Varun 0:7e4786a3584b 258 }
Dhruv_Varun 0:7e4786a3584b 259 else if(c==4)
Dhruv_Varun 0:7e4786a3584b 260 {
Dhruv_Varun 0:7e4786a3584b 261 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 262 lcd.printf("fourth key pressed");
Dhruv_Varun 0:7e4786a3584b 263 wait(2);
Dhruv_Varun 0:7e4786a3584b 264 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 265 lcd.printf("press enter to submit");
Dhruv_Varun 0:7e4786a3584b 266 wait(3);
Dhruv_Varun 0:7e4786a3584b 267 }
Dhruv_Varun 0:7e4786a3584b 268 if(enter)
Dhruv_Varun 0:7e4786a3584b 269 {
Dhruv_Varun 0:7e4786a3584b 270 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 271 lcd.printf("checking");
Dhruv_Varun 0:7e4786a3584b 272 wait(2);
Dhruv_Varun 0:7e4786a3584b 273 /*lcd.printf("%d",Code2[3]);
Dhruv_Varun 0:7e4786a3584b 274 wait(3);
Dhruv_Varun 0:7e4786a3584b 275 lcd.printf("a=",a1);
Dhruv_Varun 0:7e4786a3584b 276 wait(2);*/
Dhruv_Varun 0:7e4786a3584b 277 if(a1==36905538)
Dhruv_Varun 0:7e4786a3584b 278 chk1=40;
Dhruv_Varun 0:7e4786a3584b 279 else if (a1==36910393)
Dhruv_Varun 0:7e4786a3584b 280 chk1=41;
Dhruv_Varun 0:7e4786a3584b 281
Dhruv_Varun 0:7e4786a3584b 282 if(chk1==40)
Dhruv_Varun 0:7e4786a3584b 283 {
Dhruv_Varun 0:7e4786a3584b 284
Dhruv_Varun 0:7e4786a3584b 285 if(Code2[0]==1 && Code2[1]==2 && Code2[2]==3 && Code2[3]==4) {
Dhruv_Varun 0:7e4786a3584b 286 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 287 lcd.printf("PINCODE ACCEPTED");
Dhruv_Varun 0:7e4786a3584b 288 wait(5);
Dhruv_Varun 0:7e4786a3584b 289 test2=true;
Dhruv_Varun 0:7e4786a3584b 290 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 291 lcd.printf("LEVEL 2 Cleared");
Dhruv_Varun 0:7e4786a3584b 292 wait(3);
Dhruv_Varun 0:7e4786a3584b 293 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 294 lcd.printf("Welcome MR. Db");
Dhruv_Varun 0:7e4786a3584b 295 wait(4);
Dhruv_Varun 0:7e4786a3584b 296 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 297 lcd.printf("your amount is 125$");
Dhruv_Varun 0:7e4786a3584b 298 wait(3);
Dhruv_Varun 0:7e4786a3584b 299 //break;
Dhruv_Varun 0:7e4786a3584b 300 } else {
Dhruv_Varun 0:7e4786a3584b 301 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 302 lcd.printf("Intruder Alert");
Dhruv_Varun 0:7e4786a3584b 303 wait(5);
Dhruv_Varun 0:7e4786a3584b 304 ////////////////////start of capture
Dhruv_Varun 0:7e4786a3584b 305 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 306 lcd.printf("Camera module");
Dhruv_Varun 0:7e4786a3584b 307 wait(1);
Dhruv_Varun 0:7e4786a3584b 308 //newline();
Dhruv_Varun 0:7e4786a3584b 309 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 310 lcd.printf("Resetting...");
Dhruv_Varun 0:7e4786a3584b 311 wait(1);
Dhruv_Varun 0:7e4786a3584b 312 //newline();
Dhruv_Varun 0:7e4786a3584b 313 wait(1);
Dhruv_Varun 0:7e4786a3584b 314
Dhruv_Varun 0:7e4786a3584b 315 if (cam1.reset() == 0) {
Dhruv_Varun 0:7e4786a3584b 316 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 317 lcd.printf("Reset OK.");
Dhruv_Varun 0:7e4786a3584b 318 wait(1);
Dhruv_Varun 0:7e4786a3584b 319 //////newline();
Dhruv_Varun 0:7e4786a3584b 320 } else {
Dhruv_Varun 0:7e4786a3584b 321 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 322 lcd.printf("Reset fail.");
Dhruv_Varun 0:7e4786a3584b 323 wait(2);
Dhruv_Varun 0:7e4786a3584b 324 ////////newline();
Dhruv_Varun 0:7e4786a3584b 325 error("Reset fail.");
Dhruv_Varun 0:7e4786a3584b 326 }
Dhruv_Varun 0:7e4786a3584b 327 wait(1);
Dhruv_Varun 0:7e4786a3584b 328
Dhruv_Varun 0:7e4786a3584b 329 int cnt = 0;
Dhruv_Varun 0:7e4786a3584b 330
Dhruv_Varun 0:7e4786a3584b 331 char fname[64];
Dhruv_Varun 0:7e4786a3584b 332 snprintf(fname, sizeof(fname) - 1, FILENAME, cnt);
Dhruv_Varun 0:7e4786a3584b 333 int r = capture(&cam1, fname);
Dhruv_Varun 0:7e4786a3584b 334 if (r == 0) {
Dhruv_Varun 0:7e4786a3584b 335 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 336 lcd.printf("[%04d]:OK.", cnt);
Dhruv_Varun 0:7e4786a3584b 337 ////newline();
Dhruv_Varun 0:7e4786a3584b 338 led1=1;
Dhruv_Varun 0:7e4786a3584b 339 } else {
Dhruv_Varun 0:7e4786a3584b 340 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 341 lcd.printf("[%04d]:NG. (code=%d)", cnt, r);
Dhruv_Varun 0:7e4786a3584b 342 ////newline();
Dhruv_Varun 0:7e4786a3584b 343 error("Failure.");
Dhruv_Varun 0:7e4786a3584b 344 led2=1;
Dhruv_Varun 0:7e4786a3584b 345 }
Dhruv_Varun 0:7e4786a3584b 346 cnt++;
Dhruv_Varun 0:7e4786a3584b 347 ////////////////end of capture
Dhruv_Varun 0:7e4786a3584b 348 while(r!=10)
Dhruv_Varun 0:7e4786a3584b 349 {
Dhruv_Varun 0:7e4786a3584b 350 if(r%2!=0)
Dhruv_Varun 0:7e4786a3584b 351 {
Dhruv_Varun 0:7e4786a3584b 352 led1=1;
Dhruv_Varun 0:7e4786a3584b 353 led2=0;
Dhruv_Varun 0:7e4786a3584b 354 led3=1;
Dhruv_Varun 0:7e4786a3584b 355 led4=0;
Dhruv_Varun 0:7e4786a3584b 356 }
Dhruv_Varun 0:7e4786a3584b 357 if(r%2==0)
Dhruv_Varun 0:7e4786a3584b 358 {
Dhruv_Varun 0:7e4786a3584b 359 led1=0;
Dhruv_Varun 0:7e4786a3584b 360 led2=1;
Dhruv_Varun 0:7e4786a3584b 361 led3=0;
Dhruv_Varun 0:7e4786a3584b 362 led4=1;
Dhruv_Varun 0:7e4786a3584b 363 }
Dhruv_Varun 0:7e4786a3584b 364
Dhruv_Varun 0:7e4786a3584b 365 r++;
Dhruv_Varun 0:7e4786a3584b 366 wait(1);
Dhruv_Varun 0:7e4786a3584b 367 }
Dhruv_Varun 0:7e4786a3584b 368 if(r==10)
Dhruv_Varun 0:7e4786a3584b 369 r=0;
Dhruv_Varun 0:7e4786a3584b 370 // } break;
Dhruv_Varun 0:7e4786a3584b 371 }
Dhruv_Varun 0:7e4786a3584b 372 }
Dhruv_Varun 0:7e4786a3584b 373 else if(chk1==41)
Dhruv_Varun 0:7e4786a3584b 374 {
Dhruv_Varun 0:7e4786a3584b 375 if(Code2[0]==5 && Code2[1]==6 && Code2[2]==7 && Code2[3]==8) {
Dhruv_Varun 0:7e4786a3584b 376 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 377 lcd.printf("PINCODE ACCEPTED");
Dhruv_Varun 0:7e4786a3584b 378 wait(5);
Dhruv_Varun 0:7e4786a3584b 379 test2=true;
Dhruv_Varun 0:7e4786a3584b 380 lcd.printf("LEVEL 2 Cleared");
Dhruv_Varun 0:7e4786a3584b 381 wait(3);
Dhruv_Varun 0:7e4786a3584b 382 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 383 lcd.printf("Welcome MR. Db");
Dhruv_Varun 0:7e4786a3584b 384 wait(4);
Dhruv_Varun 0:7e4786a3584b 385 lcd.printf("your amount is 125$");
Dhruv_Varun 0:7e4786a3584b 386 wait(3);
Dhruv_Varun 0:7e4786a3584b 387 //break;
Dhruv_Varun 0:7e4786a3584b 388 } else {
Dhruv_Varun 0:7e4786a3584b 389 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 390 lcd.printf("Intruder Alert");
Dhruv_Varun 0:7e4786a3584b 391 wait(5);
Dhruv_Varun 0:7e4786a3584b 392 ////////start of capture
Dhruv_Varun 0:7e4786a3584b 393 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 394 lcd.printf("Camera module");
Dhruv_Varun 0:7e4786a3584b 395 //newline();
Dhruv_Varun 0:7e4786a3584b 396 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 397 lcd.printf("Resetting...");
Dhruv_Varun 0:7e4786a3584b 398 //newline();
Dhruv_Varun 0:7e4786a3584b 399 wait(1);
Dhruv_Varun 0:7e4786a3584b 400
Dhruv_Varun 0:7e4786a3584b 401 if (cam1.reset() == 0) {
Dhruv_Varun 0:7e4786a3584b 402
Dhruv_Varun 0:7e4786a3584b 403 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 404 lcd.printf("Reset OK.");
Dhruv_Varun 0:7e4786a3584b 405 wait(2);////newline();
Dhruv_Varun 0:7e4786a3584b 406 } else {
Dhruv_Varun 0:7e4786a3584b 407 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 408 lcd.printf("Reset fail.");
Dhruv_Varun 0:7e4786a3584b 409 wait(2);////newline();
Dhruv_Varun 0:7e4786a3584b 410 error("Reset fail.");
Dhruv_Varun 0:7e4786a3584b 411 }
Dhruv_Varun 0:7e4786a3584b 412 wait(1);
Dhruv_Varun 0:7e4786a3584b 413
Dhruv_Varun 0:7e4786a3584b 414 int cnt = 0;
Dhruv_Varun 0:7e4786a3584b 415 char fname[64];
Dhruv_Varun 0:7e4786a3584b 416 snprintf(fname, sizeof(fname) - 1, FILENAME, cnt);
Dhruv_Varun 0:7e4786a3584b 417 int r = capture(&cam1, fname);
Dhruv_Varun 0:7e4786a3584b 418 if (r == 0) {
Dhruv_Varun 0:7e4786a3584b 419 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 420 lcd.printf("[%04d]:OK.", cnt);
Dhruv_Varun 0:7e4786a3584b 421 wait(2);////newline();
Dhruv_Varun 0:7e4786a3584b 422 led1=1;
Dhruv_Varun 0:7e4786a3584b 423 } else {
Dhruv_Varun 0:7e4786a3584b 424 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 425 lcd.printf("[%04d]:NG. (code=%d)", cnt, r);
Dhruv_Varun 0:7e4786a3584b 426 wait(2);////newline();
Dhruv_Varun 0:7e4786a3584b 427 error("Failure.");
Dhruv_Varun 0:7e4786a3584b 428 led2=1;
Dhruv_Varun 0:7e4786a3584b 429 }
Dhruv_Varun 0:7e4786a3584b 430 cnt++;
Dhruv_Varun 0:7e4786a3584b 431 /////////////end of capture
Dhruv_Varun 0:7e4786a3584b 432
Dhruv_Varun 0:7e4786a3584b 433 while(r!=10)
Dhruv_Varun 0:7e4786a3584b 434 {
Dhruv_Varun 0:7e4786a3584b 435 if(r%2!=0)
Dhruv_Varun 0:7e4786a3584b 436 {
Dhruv_Varun 0:7e4786a3584b 437 led1=1;
Dhruv_Varun 0:7e4786a3584b 438 led2=0;
Dhruv_Varun 0:7e4786a3584b 439 led3=1;
Dhruv_Varun 0:7e4786a3584b 440 led4=0;
Dhruv_Varun 0:7e4786a3584b 441 }
Dhruv_Varun 0:7e4786a3584b 442 if(r%2==0)
Dhruv_Varun 0:7e4786a3584b 443 {
Dhruv_Varun 0:7e4786a3584b 444 led1=0;
Dhruv_Varun 0:7e4786a3584b 445 led2=1;
Dhruv_Varun 0:7e4786a3584b 446 led3=0;
Dhruv_Varun 0:7e4786a3584b 447 led4=1;
Dhruv_Varun 0:7e4786a3584b 448 }
Dhruv_Varun 0:7e4786a3584b 449
Dhruv_Varun 0:7e4786a3584b 450 r++;
Dhruv_Varun 0:7e4786a3584b 451 wait(1);
Dhruv_Varun 0:7e4786a3584b 452 }
Dhruv_Varun 0:7e4786a3584b 453 if(r==10)
Dhruv_Varun 0:7e4786a3584b 454 r=0;
Dhruv_Varun 0:7e4786a3584b 455 //break;
Dhruv_Varun 0:7e4786a3584b 456 }
Dhruv_Varun 0:7e4786a3584b 457 }
Dhruv_Varun 0:7e4786a3584b 458
Dhruv_Varun 0:7e4786a3584b 459 enter=0;
Dhruv_Varun 0:7e4786a3584b 460 } //end of enter
Dhruv_Varun 0:7e4786a3584b 461 else if(end)
Dhruv_Varun 0:7e4786a3584b 462 {
Dhruv_Varun 0:7e4786a3584b 463 lcd.cls();
Dhruv_Varun 0:7e4786a3584b 464 lcd.printf("ending");
Dhruv_Varun 0:7e4786a3584b 465 wait(3);
Dhruv_Varun 0:7e4786a3584b 466 end=0;
Dhruv_Varun 0:7e4786a3584b 467 } //end of end
Dhruv_Varun 0:7e4786a3584b 468 }//end of b==1
Dhruv_Varun 0:7e4786a3584b 469
Dhruv_Varun 0:7e4786a3584b 470
Dhruv_Varun 0:7e4786a3584b 471 }
Dhruv_Varun 0:7e4786a3584b 472 }
Dhruv_Varun 0:7e4786a3584b 473
Dhruv_Varun 0:7e4786a3584b 474 }