Arduino Project 045 - RFID Servo and LED Control System
Arduino Programming Basic -- RFID Servo and LED Control System
Project 45 RFID Servo and LED Control System
RFID Servo and LED indicator Control System
/* Project 45 RFID - Access Servo and Control / Gate LED indicator
Circuit Design By Ron Wang 2024 NY
Schematic Design By Ron Wang 2024 NY
*/
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
Servo microservo9g;
#define SS_PIN 10 // RC522 module pin definitions
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
int led_concedido = 5; // Leds indicating access granted or denied
int led_negado = 6;
char st[20];
void setup()
{
pinMode(led_concedido, OUTPUT);
pinMode(led_negado, OUTPUT);
// Defines that the servo is connected to digital port 3
microservo9g.attach(3);
// Moves the servo to the start position (cancel closed)
microservo9g.write(90);
// Start the serial
Serial.begin(9600);
// Start SPI Bus
SPI.begin();
// Start MFRC522
mfrc522.PCD_Init();
// Initial messages on the serial monitor
Serial.println("Bring your card closer to the reader...");
Serial.println();
}
void loop()
{
// Wait for the card to approach
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
// Show UID on serial
Serial.print("UID da tag :");
String conteudo= "";
byte letra;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
Serial.print("Mensagem : ");
conteudo.toUpperCase();
// Test if card2 has been read,you can modification the Value your RFID tag value
if (conteudo.substring(1) == "C1 41 38 1D")
{
// Raises the gate and lights the green LED
microservo9g.write(-90);
digitalWrite(led_concedido, HIGH);
Serial.println("Card1 - Access granted!");
Serial.println();
delay(3000);
microservo9g.write(90);
digitalWrite(led_concedido, LOW);
}
// Test if card2 has been read
if (conteudo.substring(1) == "C1 41 38 1D")
{
Serial.println(";Card2 - Access granted!!!");
Serial.println();
// Flashes the red LED
for (int i= 1; i<5 ; i++)
{
digitalWrite(led_negado, HIGH);
delay(200);
digitalWrite(led_negado, LOW);
delay(200);
}
}
delay(1000);
}
版权声明:本文为原创文章,版权归donstudio所有,欢迎分享本文,转载请保留出处!






