Merhaba arkadaşlar bir projem hakkında bilgi alacaktım yardımcı olursanız sevinirim yapmak istediğim olay şu rfid okuyucuya kartı okkuttuğum zaman 1. role açılıp bekleyecek 1 saniye sonra 2. role açılıp o da 3 saniye bekleyip kapanacak tabi 1. rolemiz halen aktif durumda olacak aynı kartı tekrar okuttuğum da ise 1. 3. 4. roleleri kapatıp tekrar kart okuyana kadar bekleyecek kartı okkuttuğum zaman bu döngü devam edecek ek olarak ta kartı okuttuğum zaman ldr sensör aktif hale gelecek gece ise 3. roleyi açacak ardından 1 saniye bekleyip 4. roleyi açacak ben bu şekilde bir kod yazdım ama ne ldr çalışıyor ne de diğer fonksiyonlar kartı okutuyorum 1. role açılıyor güzel 2 saniye bekliyor 2. roleyi açıyor ama kartı roleleri kapatmak için tekrar okuttuğum da 2. role yine açılıp kapanıyor include < SPI.h> include < RFID.h> define SS_PIN 10 define RST_PIN 9 define r1 4 //define switching pin define r2 5 define r3 6 define r4 7 RFID rfid(SS_PIN, RST_PIN); unsigned char cardRead[4]; // cardRead where x is number of card uid segments. int sensorPin = A0; // select the input pin for ldr int sensorValue = 0; unsigned char master[4] = {32,172,221,25}; // master where x is number of card uid segments. And the brackets: {card uid in dec}. This is where you define your unique card id. //unsigned char gaga[4] = {245, 269, 77, 263}; unsigned char i; void allowed(); void denied(); void sensor(); boolean pinState; void setup() { Serial.begin(9600); SPI.begin(); rfid.init(); pinMode(r1, OUTPUT); pinMode(r2, OUTPUT); pinMode(r3, OUTPUT); pinMode(r4, OUTPUT); digitalWrite(r1, HIGH); digitalWrite(r2, HIGH); digitalWrite(r3, HIGH); digitalWrite(r4, HIGH); pinState = digitalRead(r1); pinState = digitalRead(r2); } void loop() { if (rfid.isCard()) { if (rfid.readCardSerial()) { /* Reading card */ Serial.println(" “); Serial.println(“Card found”); Serial.println(“Card UID:”); for (i = 0; i < 4; i++) /// change the “4” with the number of your uid segments. It is suggested that you check your uid before doing this { Serial.print(rfid.serNum[i]); Serial.print(” "); cardRead[i] = rfid.serNum[i]; } Serial.println(); //verification of a card. Checking if card presented matches with the card described above. for (i = 0; i < 4; i++) /// change the “4” with the number of your uid segments { if (cardRead[i] != master[i]) { break; } } if (i == 4) { /// change the “4” with the number of your uid segments allowed(); } else { denied(); } } } rfid.halt(); } void sensor() { sensorValue = analogRead(sensorPin); if (r1, !digitalRead(r1)) { if (sensorValue < 700) { digitalWrite(r2, HIGH); delay(1000); digitalWrite(r3, HIGH); } else { digitalWrite(r3, LOW); delay(1000); digitalWrite(r2, LOW); } if (r1, !digitalRead(r1)) { digitalWrite(r3, HIGH); delay(1000); digitalWrite(r4, HIGH); } } } void allowed() //// do something in this loop that you want to do if allowed. In my case - I switch things. { Serial.println(“All good”); digitalWrite(r1,!digitalRead(r1)); // invert the pin status from previous pin status delay(2000); digitalWrite(r2, !digitalRead(r2)); delay(3000); digitalWrite(r2, !digitalRead(r2)); //pinState = !digitalRead(r1); //pinState = !digitalRead(r2); delay(1000); // always a good idea to make a delay } void denied() //// do something in this loop that you want to do if denied { Serial.println(“Wrong card”); delay(1000); } yardımlarınız için şimdiden teşekkür ediyorum.