#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 5
#define SS_PIN 53
#define BUZZER_PIN 3
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
pinMode(BUZZER_PIN, OUTPUT);
Serial.println("=== Тест пайки RC522 + Пищалка ===");
Serial.println("Жду метку...");
// Короткий писк при старте (проверка, что пищалка жива)
tone(BUZZER_PIN, 1000, 200);
delay(300);
}
void loop() {
// Проверяем, есть ли метка
if (!mfrc522.PICC_IsNewCardPresent()) return;
if (!mfrc522.PICC_ReadCardSerial()) return;
// Выводим UID в монитор порта
Serial.print("UID метки: ");
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
}
Serial.println();
// Пищим при обнаружении метки
tone(BUZZER_PIN, 2000, 150); // 2000 Гц, 150 мс
delay(200);
tone(BUZZER_PIN, 2500, 150); // Второй тон
delay(200);
mfrc522.PICC_HaltA(); // Останавливаем чтение
delay(1000); // Пауза, чтобы не пищало без остановки
}