Amateurfunk - HAM info » 2025 laufende Projekte
4/2018 RFID lesen und auf dem LCD anzeigen
Ich dachte man könne alle RFID's lesen.
Doch es geht anscheindend nur mit bestimmten Typen.
Dennoch es geht jedenfalls.
CODE:
-------------------------------------
// Version 05.04.2018 Erich Rieder HB9FIH
// Liest den RF ID
#include <Wire.h> //Wire Library
#include <LiquidCrystal_I2C.h> //I2C LCD Display Library
LiquidCrystal_I2C lcd(0x27, 16, 2); // Instanz lcd initialisieren, I2C Adresse sowie Type (16 Zch auf 2 Zln) bestimmen.
// A5 = SCL / A4 = SDA
#include <SPI.h> // SPI-Bibiothek hinzufügen
#include <MFRC522.h> // RFID-Bibiothek hinzufügen
#define SS_PIN 10 // SDA an Pin 10 (bei MEGA anders)
#define RST_PIN 9 // RST an Pin 9 (bei MEGA anders)
MFRC522 mfrc522(SS_PIN, RST_PIN); // RFID-Empfänger benennen
void setup() {
SPI.begin(); // SPI-Verbindung aufbauen
mfrc522.PCD_Init(); // Initialisierung des RFID-Empfängers
delay(1000);
lcd.begin(); // LCD starten und erste Anzeige
lcd.backlight();
lcd.clear();
}
void loop() {
if ( ! mfrc522.PICC_IsNewCardPresent()) // Wenn keine Karte in Reichweite ist...
{
return; // ...springt das Programm zurück vor die if-Schleife, womit sich die Abfrage wiederholt.
}
if ( ! mfrc522.PICC_ReadCardSerial()) // Wenn kein RFID-Sender ausgewählt wurde
{
return; // ...springt das Programm zurück vor die if-Schleife, womit sich die Abfrage wiederholt.
}
lcd.clear();
lcd.print("RFID Hex: ");
lcd.setCursor(0, 1);
for (byte i = 0; i < mfrc522.uid.size; i++)
{
lcd.print(mfrc522.uid.uidByte[i], HEX);
lcd.print(" ");
delay(500);
}
}
------------------------------------------------------------------------