guvenlik sistemi

Dependencies:   mbed wave_player mbed-rtos MFRC522 SDFileSystem TextLCD keypad DHT11

Revision:
0:d20cd68db570
Child:
1:f01aa6d55b26
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue May 21 11:50:19 2019 +0000
@@ -0,0 +1,169 @@
+#include "mbed.h"
+#include "MFRC522.h"
+#include "TextLCD.h"
+#include "Keypad.h"
+#include "rtos.h"
+#include <string.h>
+#include <iostream>
+#include "SDFileSystem.h"
+SDFileSystem sd(PC_12, PC_11, PC_10, PD_2, "sd"); // mosi, miso, sclk, cs(scl)
+DigitalOut lamba(PA_13);//sinyal pini pa_13
+DigitalOut klima(PA_14);
+AnalogIn ldr(A5);
+float ldroku;
+unsigned char c;    
+
+Thread btt;
+Serial pc(USBTX,USBRX);
+Serial bt(A0,A1);
+char gelen[10]={0}; ;//10 adet kapasiteli değişken tanımlandı
+char metinbt[10];
+string veri;
+uint8_t  sayacbt=0;
+uint8_t abt,pckontrol=0;
+TextLCD lcd(D7, D6, D5, D4, D3, D2); // rs, e, d4-d7
+DigitalOut led(LED1);
+void girismetot();
+
+
+char x,sifre[4];
+uint8_t sayac=0;
+char key_table[] = { '1', '2', '3', 'A',
+                     '4', '5', '6', 'B',
+                     '7', '8', '9', 'C',
+                     '*', '0', '#', 'D'
+                   };
+
+//KL25Z Pins for MFRC522 SPI interface
+#define SPI_MOSI    D11
+#define SPI_MISO    D12
+#define SPI_SCLK    D13
+#define SPI_CS      D10//sda
+// KL25Z Pin for MFRC522 reset
+#define MF_RESET    A0//rsT
+// KL25Z Pins for Debug UART port
+
+DigitalOut bzr(PC_8);
+MFRC522    RfChip   (SPI_MOSI, SPI_MISO, SPI_SCLK, SPI_CS, MF_RESET);
+
+void girismetot()
+{
+       time_t seconds = time(NULL);
+    lamba=0;
+    lcd.cls();
+    printf("\n Giris basarili");
+    lcd.printf("Giris basarili");
+    for (int i = 0; i < 1000; i++ ) { //frekans oluşturuldu
+        // 1 / 2000 = 500uS, 250us + 250us - olacak. 50% duty cycle
+        bzr=1;
+        wait_us(200);
+        bzr=0;
+        wait_us(200);
+    }
+    sayac=0;
+    for(uint8_t x=0; x<4; x++) {
+        sifre[x]=0;
+    }
+    wait(2);
+    lcd.cls();
+        ldroku=ldr.read();
+  if(ldroku<0.50)
+  lamba=1;
+  else
+  lamba=0;
+  
+  //sd karta yazma
+  FILE *fp = fopen("/sd/ornek.txt", "w");
+    if(fp == NULL) {
+        error("Yazma icin dosya acilamadi \n");
+    }
+     else
+    {
+    
+             fprintf(fp, "%s,%x",ctime(&seconds),RfChip.uid.uidByte[0]);
+        
+  
+    fclose(fp); //Dosya kapat
+ 
+    pc.printf("Yazma islemi bitti! \n");
+    
+           pc.printf("Okuma islemi basladi! \n");          
+      FILE *fpr = fopen("/sd/ornek.txt", "r");
+      //Okunacak dosya seçildi  
+ 
+ //file end of. Okuma işlemi bitene kadar devam et. 
+ //Dosya sonuna kadar okumaya devam et.
+      while (!feof(fpr)){                    
+           c=fgetc(fpr);                        
+           printf("%c",c);
+      }
+      fclose(fpr);   
+      }  
+}
+int main(void)
+{ //set_time(1558438679); 
+    
+      pc.baud(38400);
+ 
+    bt.baud(38400);
+ mkdir("/sd", 0777);
+    Keypad key(PC_4, PB_13, PB_14, PB_15, PB_1, PB_2, PB_12, PA_11);
+    uint32_t key_num;
+    // Init. RC522 Chip
+    RfChip.PCD_Init();
+
+    while (true) {
+       
+        while ((key_num = key.read()) != 0) {
+            sifre[sayac]=*(key_table + key_num-1);
+            sayac++;
+            lcd.printf("*");
+            if(sifre[0]=='1' && sifre[1]=='2' && sifre[2]=='3' && sifre[3]=='A') {
+                girismetot();
+
+            } else if(sifre[0]!='1' && sifre[1]!='2' && sifre[2]!='3' && sifre[3]!='A')
+                lcd.printf("Giris basarisiz");
+
+            printf("%c\n", *(key_table + key_num-1));
+            // sayi[0]=*(key_table + key_num-1); printf("%f",sayi[0]);
+        }
+        // Look for new cards
+        if ( ! RfChip.PICC_IsNewCardPresent()) {
+                  time_t seconds = time(NULL);
+               while(pc.readable()>0 ){//seri portta veri varmı?
+  veri=pc.getc();
+    pc.printf("%s",veri); 
+            /*pc.scanf("%s",gelen);
+           pc.printf("%s \n",gelen);*/
+
+        }
+    
+            continue;
+        }
+
+        // Select one of the cards
+        if ( ! RfChip.PICC_ReadCardSerial()) {
+            wait_ms(500);
+            continue;
+        }
+
+
+        // Print Card UID
+        printf("Card UID: ");
+        for (uint8_t i = 0; i < RfChip.uid.size; i++) {
+            printf(" %X", RfChip.uid.uidByte[i]);
+        }
+        if(RfChip.uid.uidByte[0]==0x93 && RfChip.uid.uidByte[1]==0x84 && RfChip.uid.uidByte[2]==0xB7 && RfChip.uid.uidByte[3]==0x2E)
+
+        {
+            girismetot();
+        } else
+            printf("\n Giris basarisiz!!!");
+        printf("\n\r");
+
+        // Print Card type
+        uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak);
+        printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType));
+        wait_ms(500);
+    }
+}
\ No newline at end of file