#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// LCD beállítás (I2C címe általában 0x27 vagy 0x3F)
LiquidCrystal_I2C lcd(0x27, 20, 4);
// Gombok és LED pinjei
const int gomb1Pin = 2;
const int gomb2Pin = 3;
const int gomb3Pin = 4;
const int ledPin = 13;
// Virtuális azonosítók
String rfIDs[] = {"123456", "987654", "654321"};
void setup() {
// Gombok és LED beállítása
pinMode(gomb1Pin, INPUT_PULLUP);
pinMode(gomb2Pin, INPUT_PULLUP);
pinMode(gomb3Pin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
Serial.begin(9600); // A soros monitor inicializálása
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("RF Reader Ready");
}
void loop() {
// Gombnyomások kezelése
if (digitalRead(gomb1Pin) == LOW) {
//Serial.println("gomb 1 megnyova");
handleRFID(0); // Azonosító: 123456
delay(200);
}
if (digitalRead(gomb2Pin) == LOW) {
//Serial.println("gomb 2 megnyova");
handleRFID(1); // Azonosító: 987654
delay(200);
}
if (digitalRead(gomb3Pin) == LOW) {
//Serial.println("gomb 3 megnyova");
handleRFID(2); // Azonosító: 654321
delay(200);
}
}
void handleRFID(int idIndex) {
// Azonosító megjelenítése az LCD-n
lcd.setCursor(0, 0);
lcd.print("RF Megtalálva! ");
lcd.setCursor(0, 1);
lcd.print("ID: " + rfIDs[idIndex] + " ");
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}