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
    70,2 KB · Görüntüleme: 27
Hocam kodu tam şekilde atabilir misiniz çözünürlük yüzünden göremiyorumda.
 

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.
 

Neeeeeeeee bir de kodu mu yazdın.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…