Arduino-Projekt: RFID-LED-Steuerung

Experte
25
34,76 €

In diesem Projekt zeige ich Ihnen, wie Sie ein RFID-Lesegerät an Ihren Arduino anschließen.

Dieses Projekt vermittelt Ihnen eine grundlegende Vorstellung davon, wie RFID funktioniert. Wir werden eine Karte und einen Schlüsselring verwenden, um verschiedene LEDs zum Leuchten zu bringen. Sobald Sie dieses Projekt abgeschlossen haben, können Sie beispielsweise selbst einen Servo steuern, um ein RFID-Schloss herzustellen.

Die für dieses Projekt erforderlichen Codes können für Anfänger schwierig zu verstehen sein.

Bitte beachten: Für dieses Projekt wird ein Lötkolben benötigt.

Bau und Verkabelung

Jetzt werden wir das Projekt zusammenstellen.

Zu Beginn löten wir den Pin-Header an den RFID-Leser. Wir haben uns für die gebogenen Header entschieden, da der Reader dann aufrecht im Steckbrett steht.

Verbinden Sie die Komponenten wie auf dem Fritzing unten angegeben.

Programmierung

//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();
}

Benötigte Produkte