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

Arduino Project 045 - RFID Servo and LED Control System

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

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 030B - MX1508 H-Driver Motor

Arduino Project 030B - MX1508 H-Driver Motor

MX1508 H-BridgeDual Motor DriverThe driver can drive up to two motors. The H-Bridge dual motor drive...

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 006 - LED Interactive Chase Effect

Arduino Project 006 - LED Interactive Chase Effect

Leave your circuit board intact from Project 5. You’re just going to add a potentiometer to this cir...

Arduino UNO Mp3音乐播放代码

Arduino UNO Mp3音乐播放代码

Arduino UNO Mp3音乐播放代码今天我们将使用Arduino UNO 和SD卡制作音乐播放器。这个播放器不需要添加多余的模块,只需要SD读卡器和Arduino UNO开发板就可以播放音频文件...

Arduino Project 001 - LED Blink

Arduino Project 001 - LED Blink

Arduino 电子编程--灯项目及控制,主要使用Arduino编程控制LED灯,实现基本控制Project 1 LED闪烁,基本的应用Project 3和4红绿灯项目项目1 Project...

Arduino Project 017 - Shift Register 8-Bit Binary Counter

Arduino Project 017 - Shift Register 8-Bit Binary Counter

In this project, you’re going to use additional ICs (Integrated Circuits) in the form of shift regis...