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

​Arduino Project 046 - Based Security System by Arduino with Lcd Display

RonWang6个月前 (12-12)电子编程382

Arduino Project 046 - Based Security System by Arduino with Lcd Display

Arduino RFID LCD Display Circuit

Arduino RFID LCD Display Schematic

/*
 * Project 046 Based Security System by Arduino with Lcd Display
 *                   RFID-RC522 
 */
 #include <SPI.h>  
 #include <MFRC522.h>  
 #include <LiquidCrystal.h>  
 #define SS_PIN 10  
 #define RST_PIN 9  
 MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance.  
 #define beep_pin 8  
 LiquidCrystal lcd(2, 3, 4, 5, 6, 7);  
 void setup()   
 {  
  Serial.begin(9600);  // Initiate a serial communication  
  pinMode(beep_pin,OUTPUT);  
  digitalWrite(beep_pin,LOW);  
  lcd.begin(16, 2);  
  lcd.setCursor(3, 1);  
  lcd.print("Welcome!!");  
  lcd.setCursor(0, 0);  
  lcd.print("Circuit is Ready");  
  delay(1500);  
  lcd.clear();   
  SPI.begin();   // Initiate SPI bus  
  mfrc522.PCD_Init();  // Initiate MFRC522  
  Serial.println("Put your card to the reader...");  
  Serial.println();  
 }  
 void loop()   
 {  
  digitalWrite(beep_pin, LOW);  
  lcd.clear();  
  lcd.setCursor(0, 0);  
  lcd.print("Put your card to");  
  lcd.setCursor(0, 1);  
  lcd.print("the reader......");  
  delay(300);  
  // Look for new cards  
  if ( ! mfrc522.PICC_IsNewCardPresent())   
  {  
   return;  
  }  
  // Select one of the cards  
  if ( ! mfrc522.PICC_ReadCardSerial())   
  {  
   return;  
  }  
  //Show UID on serial monitor  
  Serial.print("UID tag :");  
  String content= "";  
  byte letter;  
  for (byte i = 0; i < mfrc522.uid.size; i++)   
  {  
    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");  
    Serial.print(mfrc522.uid.uidByte[i], HEX);  
    content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));  
    content.concat(String(mfrc522.uid.uidByte[i], HEX));  
  }  
  Serial.println();  
  Serial.print("Message : ");  
  content.toUpperCase();  
  if (content.substring(1) == "XX XX XX XX") //change here the UID of the card/cards that you want to give access  
  {  
   digitalWrite(beep_pin,HIGH);  
   delay(200);  
   digitalWrite(beep_pin,LOW);  
   delay(100);  
   lcd.setCursor(0, 0);  
   lcd.print("ID : ");  
   lcd.print(content.substring(1));  
   lcd.setCursor(0, 1);  
   lcd.print("Authorized access");  
   Serial.println("Authorized access");  
   delay(1200);     
  }  
  else  {  
   digitalWrite(beep_pin,HIGH);  
   lcd.setCursor(0, 0);  
   lcd.print("ID : ");  
   lcd.print(content.substring(1));  
   lcd.setCursor(0, 1);  
   lcd.print("Access denied");  
   Serial.println(" Access denied");  
   delay(1500);  
    }  
 }


版权声明:本文为原创文章,版权归donstudio所有,欢迎分享本文,转载请保留出处!

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

标签: Arduino

相关文章

 Arduino Project 037 - 18B20 Temperature Sensor

Arduino Project 037 - 18B20 Temperature Sensor

The DS18B20 Temperature Sensor is a digital temperature sensor capable of measuring temperatures wit...

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 Programming Basic - If and Loop

Arduino Programming Basic - If and Loop

Arduino 程序基础,介绍Arduino程序的基本组成,第一部分编写了10个例子,关于变量及变量名称,串口监视器,if循环,for循环,while循环等。第二部分介绍了函数,全局变量,局部变量和静...

Arduino Project 015 - Simple Motor Control

Arduino Project 015 - Simple Motor Control

First, you’re going to simply control the speed of a DC motor in one direction, using a power transi...

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...

Arduino Project 018 - Dual Shift Register 8-Bit Binary Counter

Arduino Project 018 - Dual Shift Register 8-Bit Binary Counter

In Project 18, you will daisy chain (or cascade) another 74HC595 IC onto the one used in Project 17...