Bank Account Security System
Dependencies: FatFileSystemSD mbed
main.cpp@0:7e4786a3584b, 2012-10-11 (annotated)
- 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?
User | Revision | Line number | New 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 | } |