guvenlik sistemi
Dependencies: mbed wave_player mbed-rtos MFRC522 SDFileSystem TextLCD keypad DHT11
main.cpp
- Committer:
- marvas
- Date:
- 2019-05-22
- Revision:
- 1:f01aa6d55b26
- Parent:
- 0:d20cd68db570
File content as of revision 1:f01aa6d55b26:
#include "mbed.h" #include "MFRC522.h" #include "TextLCD.h" #include "Keypad.h" #include "rtos.h" #include <string.h> #include <iostream> #include "SDFileSystem.h" #include "DHT11.h" #include "wave_player.h" //Thread sicaklik; //https://audio.online-convert.com/convert-to-wav Timer isizaman; volatile char deger;//değişken bütün bloklarda kullanılabilecek şekle geldi. Public yapıldı DHT11 isi(D9); AnalogOut DACout(PA_4); wave_player waver(&DACout); 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; 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() { FILE *wave_file; wave_file=fopen("/sd/hosgeldiniz.wav","r"); waver.play(wave_file); fclose(wave_file); 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; if(deger>30) klima=1; else klima=0; //sd karta yazma FILE *fp = fopen("/sd/ornek.txt", "a"); if(fp == NULL) { error("Yazma icin dosya acilamadi \n"); } else { fprintf(fp, "%s,\n Giris yapan: %X,%X,%X,%X",ctime(&seconds),RfChip.uid.uidByte[0],RfChip.uid.uidByte[1],RfChip.uid.uidByte[2],RfChip.uid.uidByte[3]); 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); } } /* void sicaklikmetodu() { while(1) { deger = isi.readData(); pc.printf("T:%d, H:%d\r\n", isi.readTemperature(), isi.readHumidity()); wait(2); } }*/ int main(void) { //set_time(1558438679); isizaman.start(); pc.baud(38400); bt.baud(38400); wait(1); //sicaklik.start(sicaklikmetodu); 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); lcd.locate(sayac,1); lcd.printf("*"); sayac++; if(sayac==3) 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); if(pc.readable()>0 ){//seri portta veri varmı? veri=pc.getc(); pc.printf("%c",veri); /*pc.scanf("%s",gelen); pc.printf("%s \n",gelen);*/ } if(isizaman.read()>2) { lcd.locate(0,0); deger = isi.readData(); lcd.printf("ISI:%d, NEM:%d", isi.readTemperature(), isi.readHumidity()); lcd.printf(" "); isizaman.reset(); } 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)); } }