RFID RC522 module met LCD 20×4

Arduino MEGA - RFID RC522
Arduino MEGA – RFID RC522

RFID wie wil daar nu niet mee aan de slag, ben benieuwd wat er allemaal van dit soort tags in je huis te vinden zijn. Mischien zelfs de hond en de kat wel! Een dag of 12 geleden besteld bij BangGood voor € 2 en ook nog gratis verzonden.
Ik gebruik in dit voorbeeld de de 20×4 LCD met de Arduino MEGA, maar dit is voor alle andere Arduino bordjes en klonen ook bruikbaar.

De RC522 RFID kaart lezer communiceert met de kaarten en tags door gebruik van een 13.56MHz elektromagnetisch veld. (ISO 14443A standaard tags) Het MIFARE systeem.

Wat hebben we nog meer nodig:

  1. De librarie SPI (zit standaard in Arduino) KLIK om te downloaden
  2. De librarie RFID KLIK om te downloaden
  3. De librarie LiquidCrystal_I2C KLIK om te downloaden

Op de RFID RC522 hebben we de volgende aansluitingen van links naar rechts:: SDA – SCK – MOSI – MISO – IRQ – GND – RST – VCC, om deze te gebruiken met de Arduino MEGA sluite we deze als volgt aan:

  1. SDA naar pin D9 van de Arduino MEGA
  2. SCK naar pin D52 van de Arduino MEGA
  3. MOSI naar pin D51 van de Arduino MEGA
  4. MISO naar pin D50 van de Arduino MEGA
  5. IRQ is ongebruikt
  6. GND naar GND van de Arduino MEGA
  7. Reset naar pin D8 van de Arduino MEGA
  8. VCC naar 3,3 Volt van de Arduino MEGA
20x4 LCD display
20×4 LCD display

De LCD 20×4 aansluiten gaat als volgt:

  1. GND gaat naar GND van de Arduino
  2. VCC gaat naar 5 Volt op de Arduino
  3. SDA gaat naar SDA op de Arduino
  4. En SCL gaat naar SCL op de Arduino

 


De pin aansluitingen voor de Arduino Uno en Nano zijn als volgt: (dit dan natuurlijk ook aanpassen in de sketch)

  1. SDA naar pin D10 van de Arduino Uno of Nano
  2. SCK naar pin D13 van de Arduino Uno of Nano
  3. MOSI naar pin D11 van de Arduino Uno of Nano
  4. MISO naar pin D12 van de Arduino Uno of Nano
  5. IRQ is ongebruikt
  6. GND naar GND van de Arduino Uno of Nano
  7. Reset naar pin D9 van de Arduino Uno of Nano
  8. VCC naar 3,3 Volt van de Arduino Uno of Nano

Nu nog de code voor de RFID-RC522 in combinatie met de Arduino Mega en 20×4 LCD display: KLIK om te downloaden.

*/

/* Include the standard Arduino SPI library */
#include

/* Include the RFID library */
#include

/* Include the LiquidCrystal_I2C library */
#include “LiquidCrystal_I2C.h”

/* Define the DIO used for the SDA (SS) and RST (reset) pins. */
#define SDA_DIO 9
#define RESET_DIO 8

/* Create an instance of the RFID library */
RFID RC522(SDA_DIO, RESET_DIO);

/* Initaliseren LCD display */
LiquidCrystal_I2C lcd(0x27,20,4); /* Verander 0x27,20,4 in 0x27,16,2 voor het 2 regel display */

/* Start */
void setup()
{
SPI.begin(); /* Enable de SPI interface */
RC522.init(); /* Initialiseer de RFID lezer */
lcd.init(); /* initialiseer de lcd */
lcd.begin (20,4); /* onze LCD is een 20×4, wijzig dit indien nodig */
lcd.backlight(); /* LCD Backlight aan */
lcd.home (); /* gaat naar de 1e plaats op de eerste regel op de LCD */
lcd.print(“RFID Reader RC522”); /* Schrijft naar eerste regel, uitschakelen indien maar 2 regels display */
}

void loop()
{

if (RC522.isCard()) /* Als er een kaart is gevonden, print naar LCD */
{
lcd.setCursor (0,1); /* Ga naar het begin van eerste regel (uitschakelen indien 2 regel display) */
lcd.print(“https://colandino.nl”); /* Print op regel 2 https://colandino.nl (uitschakelen indien 2 regel display) */
lcd.setCursor (0,3); /* Ga naar de 4e regel, (veranderen in regel 1 bij 2 regel display) */
lcd.print(“Nr:”); /* Print op regel 4 Nr: (veranderen in regel 1 bij 2 regel display) */
lcd.setCursor (4,3); /* ga naar de 4e, 4e plaats, achter Nr: (veranderen in regel 1 bij 2 regel display) */
RC522.readCardSerial(); /* Als er een kaart is gevonden, lees het serienummer */
for(int i=0;i<5;i++) /* Vang serienummer in interrupt i */
lcd.print(RC522.serNum[i],DEC); /* Print het kaarnummer (interrupt i) op regel 4 van de LCD display */
lcd.setCursor (0,2); /* ga naar de 3e regel, (veranderen in regel 0 bij 2 regel display) */
lcd.print(“Kaart gedetecteerd:”); /* Als er een kaart is gevonden, print “Kaart gedetecteerd” op regel 3 */
}
delay(5000); /* wacht 5 seconden en wist dan de kaartgegevens van de display */
lcd.setCursor (0,3); /* Ga naar de 4e regel, (veranderen in regel 1 bij 2 regel display) */
lcd.print (” “); /* Overschrijf de 4e regel met spaties, lcd.clearLine enz werkten bij mij niet, “dus als het kan zoals het moet dan moet het maar zoals het kan” (veranderen in regel 1 bij 2 regel display) */
lcd.setCursor (0,2); /* Ga naar de 3e regel, (veranderen in regel 1 bij 2 regel display) */
lcd.print (” “); /* Overschrijf de 3e regel met spaties, lcd.clearLine enz werkten bij mij niet, “dus als het kan zoals het moet dan moet het maar zoals het kan” (veranderen in regel 1 bij 2 regel display) */
}

RFID RC522 pinout
RFID RC522 pinout