webwinkelkeur logo

4.7 gem.

5055+ beoordelingen
webwinkelkeur logoBekijk alles

5055+ beoordelingen

5055+ beoordelingen

Bestel voor 16:00 voor dezelfde dag verzending

14 dagen retour

NL

Particulier

Zakelijk

Arduino Project: RFID LED control

Expert
25
34,76

In dit project laat ik jullie zien hoe je zelf een RFID reader aansluit op je Arduino.

Dit project geeft je een basis idee van de werking van RFID. We gaan met een Pasje en een Sleutelhanger verschillende LEDjes laten branden. Als je klaar bent met dit project kan je zelf bijvoorbeeld een servo aansturen om een RFID Slot te maken.

De codes die nodig zijn voor dit project kunnen lastig zijn om te begrijpen voor beginners.

Let op: Voor dit project is een soldeerbout nodig.

Bouwen en Bedraden

Nu gaan we het project in elkaar zetten.

Om te beginnen gaan we de Pin header aan de RFID Reader vast solderen. Wij hebben gekozen voor de gebogen headers omdat de reader dan rechtop in het breadboard staat.

Sluit de componenten aan zoals op de onderstaande Fritzing aangegeven.

Programmeren

//elektronicavoorjou.nl
//Download de MFRC522 library hier: https://github.com/ljos/MFRC522 of https://www.arduinolibraries.info/libraries/mfrc522

#include <SPI.h>
#include <MFRC522.h>

//Geeft de pinnen aan
#define SS_PIN 10
#define RST_PIN 9

//Geeft aan op welke pin de led is aangesloten
const int ledpin1 = 7;
const int ledpin2 = 6;
const int buzzer = 8;

//Creëert eigen veriabele voor kaart reader
MFRC522 myReader(SS_PIN, RST_PIN);

void setup()
{

//zet buzzer op pin 8 als output
pinMode(buzzer, OUTPUT);

//Start communicatie met de monitor
Serial.begin(9600);

//Library SPI
SPI.begin();

//Tot en met versie 1.4.5 deze aanroep
myReader.PCD_Init();

//Print op monitor: “..”
Serial.println(“Presenteer je key-tag”);
Serial.println();

//initialiseerd de pin 7 en 6 als output
pinMode(ledpin1, OUTPUT);
pinMode(ledpin2, OUTPUT);
}

void loop()
{

//kijkt of er geen nieuwe kaarten worden gedetecteerd
digitalWrite(ledpin1, HIGH);
if ( ! myReader.PICC_IsNewCardPresent())
{

// niet gevonden, stopt met zoeken
return;
}

//Kijkt of de key-tag uitgelezen kan worden
if ( ! myReader.PICC_ReadCardSerial())
{
// niet gelukt om uit te lezen
return;
}

//Show UID on serial monitor
String key= “”;
for (byte i = 0; i < myReader.uid.size; i++)
{
key.concat(String(myReader.uid.uidByte[i] < 0x10 ? ” 0″ : ” “));
key.concat(String(myReader.uid.uidByte[i], HEX));
}

//Zet code van gevonden sleutel in hoofdletters voor betere vergelijking
key.toUpperCase();

//Afdrukken naar monitor zodat je weet welke key gelezen wordt
Serial.println();
Serial.print(“key tag is : “);
Serial.print(key);

//Geeft toegang als key “..” hetzelfde is
//Elke key-tag heeft een eige code, lees u code uit via monitor
Serial.println();
Serial.print(“Toegang : “);
if (key == ” 93 F9 BE A9″)
{

//Rode led uit, groen gaat aan
digitalWrite(ledpin1, LOW);
digitalWrite(ledpin2, HIGH);

//Bepaalt frequentie van de buzzer
tone(buzzer, 1000);
// 1 seconden wachten
delay (1000);
//stopt geluid
noTone (buzzer);

//Print op monitor
Serial.print(“Verleend”);
delay(3000);
digitalWrite(ledpin1, HIGH);
digitalWrite(ledpin2, LOW);
}

else {

//Rode led aan, groen uit
digitalWrite(ledpin1, HIGH);
digitalWrite(ledpin2, LOW);

//Bepaalt frequentie van de buzzer
tone(buzzer, 500);
// 1 seconden wachten
delay (1000);
//stopt geluid
noTone (buzzer);

//Print op monitor
Serial.print(“Niet verleend”);
delay(3000);
}
Serial.println();
}