1. sayfa
#include <Servo.h>#include <avr/wdt.h>#include <MFRC522.h>#include <SPI.h>int rst=9;int ss=10;MFRC522 rfid(ss,rst);Servo motor;String stringArray[6] ;void setup() {motor.attach(8);stringArray[0] = "8913211972"; // kart şifreleristringArray[1] = "54153241249";stringArray[2] = "10223252249";stringArray[3] = "2287116248";stringArray[4] = "61247249";stringArray[5] = "1372534986"; Serial.begin(9600); SPI.begin(); rfid.PCD_Init();}bool a=false;void loop() { ; if (millis() > 15000) { //wdt wdt_enable( WDTO_60MS); while(1) {} } if(! rfid.PICC_IsNewCardPresent())return;if(! rfid.PICC_ReadCardSerial())return; String birlesim = (String)rfid.uid.uidByte[0]+(String)rfid.uid.uidByte[1]+(String)rfid.uid.uidByte[2]+(String)rfid.uid.uidByte[3]; //kartta ki şifreyi stringe çevirme rfid.PICC_HaltA(); //bu zımbırtı kartı sürekli okumaması içinmiş. for(int say=0;say <7 ;say++) // 6 tane kart olduğu için aralarından birisi tutuyormu kontrol ediyor. { if( birlesim == stringArray[say]) { rfid.PICC_HaltA(); motor.write(130); //kapıyı aç delay(500); a=true; break; } } if(a) //kapı açıldıysa servoyu eski poza getir { rfid.PICC_HaltA(); motor.write(100); delay(500); a=false; } }
Fakat Her iki kartta 5 dakika sonra kart okumuyor hiç tepki vermiyor sadece yeniden başlatınca çalışıyor sonra yine 5 dakika sonra takılıyor.
WDT yi denedim çözüm sağlamadı donan kart fiziksel reset butonundan ya da elektriği kesip tekrar açana kadar kartı okumuyor.
Kodlarımda bir sıkıntı var mı bilmiyorum.
Apartmandan gelen 240v u eski bir şarj aletine bağladım usb ile arduino yu besliyorum.
Kütüphane sorunlu çıktı mrc522 yerine RFID kütüphanesini kullandım sorun çözüldü.
< Bu mesaj bu kişi tarafından değiştirildi Oczipka -- 16 Temmuz 2019; 11:38:17 >