// 1S/1 RFID
// 1S/5 SERVO
// 1S/12 RGB
// 2S/1 5V
// 2S/2 3.3V
#include
<Deneyap_Servo.h>
//ServoESP32 kütüphanesini tanımlıyoruz.
#include
<MFRC522.h> //MFRC522
kütüphanesini tanımlıyoruz.
#include
<SPI.h> //SPI kütüphanesini
tanımlıyoruz.
#define RED
D14 //Kırmızı LED D14 pinine bağlı
#define BLUE
D13 //Mavi LED D13 pinine bağlı
#define GREEN
D15 //Yeşil LED D15 pinine bağlı
#define RST_PIN
A4 //RC522 modülü reset pini A4'e
bağlı
#define SDA_PIN
A5 //RC522 modülü chip select pini
A5'e bağlı
Servo
servo1; //Servoyu servo1
olarak tanımlıyoruz
int derece; //derece adında değişken
tanımlıyotuz
int deger; //deger adında değişken
tanımlıyotuz
MFRC522 rfid(SDA_PIN,
RST_PIN); //RC522 modülü ayarlarını
yapılır.
byte ID[4] =
{144, 110, 3, 32}; //Yetkili kartın
ID'si
void setup() {
Serial.begin(115200); //Seri haberleşme başlatılır.
servo1.attach(D9);
SPI.begin(); //SPI iletişimi başlatılır.
rfid.PCD_Init(); //RC522 modülü başlatılır.
pinMode(RED,OUTPUT); //LED'ler çıkış olarak ayarlanır
pinMode(BLUE,OUTPUT);
pinMode(GREEN,OUTPUT);
Serial.println("çalışii");
}
void loop() {;
if (!rfid.PICC_IsNewCardPresent()) //Yeni
kartın okunması beklenir
{
BEKLE();
//Kart okutulmazsa Mavi LED yanar
Serial.println("maviled");
delay(500);
return;
}
if (!rfid.PICC_ReadCardSerial()) //Kart okunmadığı zaman beklenilir
{
BEKLE();
//Kart okutulmazsa Mavi LED yanar
Serial.println("maviled2");
delay(500);
return;
}
if (rfid.uid.uidByte[0] == ID[0]
&& //Okunan kart ID'si ile ID
rfid.uid.uidByte[1] == ID[1]
&& //değişkeni karşılaştırılır
rfid.uid.uidByte[2] == ID[2] &&
rfid.uid.uidByte[3] == ID[3]) {
Serial.println("DOGRU");
DOGRU(); //Okutulan kart doğruysa Yesil LED yanar
delay(500);
}
else {
//Okutulan kart yanlışsa bu blok çalışır
Serial.println("YANLIS");
YANLIS(); //Okutulan kart yanlışsa Kırmızı LED yanar
ID_OGREN(); //Seri port ekranında kartın ID'si yazılır.
delay(500);
}
rfid.PICC_HaltA();
}
void BEKLE() {
digitalWrite(BLUE,HIGH);
digitalWrite(RED,LOW);
digitalWrite(GREEN,LOW);}
void DOGRU() {
digitalWrite(BLUE,LOW);
digitalWrite(RED,LOW);
digitalWrite(GREEN,HIGH);
servo1.write(180);
Serial.println("Kapı Açık");
delay(500);
servo1.write(0);
Serial.println("Kapı Kapalı");}
void YANLIS() {
digitalWrite(BLUE,LOW);
digitalWrite(RED,HIGH);
digitalWrite(GREEN,LOW);}
void ID_OGREN() {
Serial.print("ID Numarasi: ");
for (int sayac = 0; sayac < 4;
sayac++) {
Serial.print(rfid.uid.uidByte[sayac]);
Serial.print(" ");}
Serial.println("");}