Arduino RFID koduna hata veriyor

Enlightened

Centipat
Katılım
3 Aralık 2023
Mesajlar
554
Çözümler
7
Daha fazla  
Cinsiyet
Erkek
Arduino projesi yapıyorum fakat RFID kart doğrulamak için kullandığım kodda ID kelimesine hata veriyor. Hata kodu:
C:\Users\ealta\Documents\Arduino\sketch_dec30a\sketch_dec30a.ino: In function 'void loop()':
C:\Users\ealta\Documents\Arduino\sketch_dec30a\sketch_dec30a.ino:26:31: error: 'ID' was not declared in this scope
if(rfid.uid.uidByte[0] == ID[0] &&
^~
C:\Users\ealta\Documents\Arduino\sketch_dec30a\sketch_dec30a.ino:32:4: error: expected '}' before 'else'
else
^~~~
Multiple libraries were found for "LiquidCrystal_I2C.h"
Used: C:\Users\ealta\Documents\Arduino\libraries\LiquidCrystal_I2C
Not used: C:\Users\ealta\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master
exit status 1

Compilation error: 'ID' was not declared in this scope
 

Dosya Ekleri

  • Ekran görüntüsü 2024-12-30 211212.png
    Ekran görüntüsü 2024-12-30 211212.png
    70,2 KB · Görüntüleme: 27

Arduino RFID kart doğrulama kodu


C++:
#include <SPI.h>
#include <MFRC522.h>

// RFID bağlantı pinleri.
#define RST_PIN 9
#define SS_PIN 10.

MFRC522 rfid(SS_PIN, RST_PIN);

// Doğru RFID kart UID'si.
byte ID[] = {0xDE, 0xAD, 0xBE, 0xEF}; // Kartın UID'si buraya girilmeli.

void setup() {
 Serial.begin(9600);
 SPI.begin();
 rfid.PCD_Init();
 Serial.println("RFID Okuyucu Başlatıldı!");
}

void loop() {
 // Kart algılanmazsa döngüyü bitir.
 if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
 return;
 }

 // Kart UID doğrulama.
 if (rfid.uid.uidByte[0] == ID[0] &&
 rfid.uid.uidByte[1] == ID[1] &&
 rfid.uid.uidByte[2] == ID[2] &&
 rfid.uid.uidByte[3] == ID[3]) {
 // Kart doğrulandı.
 Serial.println("Kart doğrulandı!");
 } else {
 // Hatalı kart.
 Serial.println("Hatalı kart!");
 }

 rfid.PICC_HaltA(); // Kart okuma işlemini durdur.
}

notlar

  • 'ID' dizisine doğru kart uıd'sini girin.
  • Eğer hata devam ederse, kartın uıd'sini okumak için kodu geçici olarak değiştirerek uıd'yi konsola yazdırabilirsiniz.
  • Kütüphanelerin düzgün yüklendiğinden emin olun.
 
Kod:
#include <SPI.h>
#include <MFRC522.h>

// RFID bağlantı pinleri.
#define RST_PIN 9
#define SS_PIN 10.

MFRC522 rfid(SS_PIN, RST_PIN);

// Doğru RFID kart UID'si.
byte ID[] = {0xDE, 0xAD, 0xBE, 0xEF}; // Kartın UID'si buraya girilmeli.
const byte UID_LENGTH = sizeof(ID); // UID uzunluğu otomatik belirlenir.

void setup() {
 Serial.begin(9600);
 SPI.begin();
 rfid.PCD_Init();
 Serial.println("RFID Okuyucu Başlatıldı!");
}

void loop() {
 // Kart algılanmazsa döngüyü bitir.
 if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
 return;
 }

 // Kart UID uzunluğunu kontrol et.
 if (rfid.uid.size != UID_LENGTH) {
 Serial.println("Kart UID uzunluğu eşleşmiyor!");
 rfid.PICC_HaltA(); // Kart okuma işlemini durdur.
 return;
 }

 // Kart UID doğrulama.
 bool isMatch = true;
 for (byte i = 0; i < UID_LENGTH; i++) {
 if (rfid.uid.uidByte[i] != ID[i]) {
 isMatch = false;
 break;
 }
 }

 if (isMatch) {
 // Kart doğrulandı.
 Serial.println("Kart doğrulandı!");
 } else {
 // Hatalı kart.
 Serial.println("Hatalı kart!");
 }

 rfid.PICC_HaltA(); // Kart okuma işlemini durdur.
}

Bu kodu dener misiniz hata verirse yüksek ihtimal kütüphanelerden kaynaklı bir hata vardır.
 
Kod:
#include <SPI.h>
#include <MFRC522.h>

// RFID bağlantı pinleri.
#define RST_PIN 9
#define SS_PIN 10.

MFRC522 rfid(SS_PIN, RST_PIN);

// Doğru RFID kart UID'si.
byte ID[] = {0xDE, 0xAD, 0xBE, 0xEF}; // Kartın UID'si buraya girilmeli.
const byte UID_LENGTH = sizeof(ID); // UID uzunluğu otomatik belirlenir.

void setup() {
 Serial.begin(9600);
 SPI.begin();
 rfid.PCD_Init();
 Serial.println("RFID Okuyucu Başlatıldı!");
}

void loop() {
 // Kart algılanmazsa döngüyü bitir.
 if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
 return;
 }

 // Kart UID uzunluğunu kontrol et.
 if (rfid.uid.size != UID_LENGTH) {
 Serial.println("Kart UID uzunluğu eşleşmiyor!");
 rfid.PICC_HaltA(); // Kart okuma işlemini durdur.
 return;
 }

 // Kart UID doğrulama.
 bool isMatch = true;
 for (byte i = 0; i < UID_LENGTH; i++) {
 if (rfid.uid.uidByte[i] != ID[i]) {
 isMatch = false;
 break;
 }
 }

 if (isMatch) {
 // Kart doğrulandı.
 Serial.println("Kart doğrulandı!");
 } else {
 // Hatalı kart.
 Serial.println("Hatalı kart!");
 }

 rfid.PICC_HaltA(); // Kart okuma işlemini durdur.
}

Bu kodu dener misiniz hata verirse yüksek ihtimal kütüphanelerden kaynaklı bir hata vardır.

Neeeeeeeee bir de kodu mu yazdın.
 

Technopat Haberler

Yeni konular

Geri
Yukarı