当前位置:首页 > 科学研究 > 电子编程 > 正文内容

Arduino Project 045 - RFID Servo and LED Control System

RonWang1年前 (2024-12-11)电子编程801

Arduino Programming Basic -- RFID Servo and LED Control System

Project 45 RFID Servo and LED Control System

Arduino RFID Access Control System Circuit

Arduino RFID Access Control System Schematic

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所有,欢迎分享本文,转载请保留出处!

本文链接:http://www.donstudio.cn/?id=302

标签: Arduino

相关文章

Arduino Project 024 -  LCD Temperature Display

Arduino Project 024 - LCD Temperature Display

This project is a simple demonstration of using an LCD to present useful information to the user—in...

Arduino Project 004 - LED Interactive Traffic Lights

Arduino Project 004 - LED Interactive Traffic Lights

This time you are going to extend the previous project to include a set of pedestrian lights and a p...

Arduino Project 035 - Keypad 4X4 or 4X3

Arduino Project 035 - Keypad 4X4 or 4X3

Most of the time we are used key, button, or switch to get input value in our projects. When we inte...

Arduino Project 023C - Liquid Crystal Displays - Serial to Display

Arduino Project 023C - Liquid Crystal Displays - Serial to Display

Before wiring the LCD screen to your Arduino board we suggest to solder a pin header strip to the 14...

Arduino Project 023 - Liquid Crystal Displays - Hello World

Arduino Project 023 - Liquid Crystal Displays - Hello World

Before wiring the LCD screen to your Arduino board we suggest to solder a pin header strip to the 14...

Arduino Project 029 - Control Stepper Motor ULN2004A

Arduino Project 029 - Control Stepper Motor ULN2004A

Stepper motors, due to their unique design, can be controlled to a high degree of accuracy without a...