Hello, I want to try something on Arduino but I couldn't upload the code. Can you help me? I connected the Arduino UNO CH340, relay card, rc522 RFID card. I wrote the code to the Arduino IDE program. It compiles but can't upload.
Code:
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
#define RELAY_PIN 7
MFRC522 rfid(SS_PIN, RST_PIN);
// Buraya kendi kart UID’ini yaz (Serial Monitor'dan öğrenebilirsin)
MFRC522::Uid authorizedUID = {4, {0xDE, 0xAD, 0xBE, 0xEF}, 0};
bool relayState = false; // Röle durumu (başlangıçta kapalı)
bool cardPreviouslyRead = false; // Aynı kartı tekrar tekrar okumamak için bayrak
void setup() {
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // Röle kapalı başlasın
Serial.println("Sistem hazır. Kart okutun...");
}
void loop() {
// Kart mevcut değilse veya okunamıyorsa çık
if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
cardPreviouslyRead = false;
return;
}
// Kart zaten okunduysa tekrar işlem yapma
if (cardPreviouslyRead) return;
// Eğer yetkili kartsa, röle durumunu değiştir
if (isAuthorized(rfid.uid)) {
relayState = !relayState; // Röle durumunu tersine çevir
digitalWrite(RELAY_PIN, relayState ? HIGH : LOW);
if (relayState)
Serial.println("Röle AÇILDI");
else
Serial.println("Röle KAPATILDI");
} else {
Serial.println("Yetkisiz kart!");
}
cardPreviouslyRead = true; // Aynı kart için tekrar işlem yapılmasını engelle
// Kart iletişimini sonlandır
rfid.PICC_HaltA();
rfid.PCD_StopCrypto1();
}
// Kart UID kontrol fonksiyonu
bool isAuthorized(MFRC522::Uid uid) {
if (uid.size != authorizedUID.size) return false;
for (byte i = 0; i < uid.size; i++) {
if (uid.uidByte[i] != authorizedUID.uidByte[i]) return false;
}
return true;
}
Error Message:
(waiting for a long time)
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude: stk500_recv(): programmer is not responding
Failed uploading: uploading error: exit status 1