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

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

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

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 041 - Ultrasonic Distance OLED 128X64 Display

Arduino Project 041 - Ultrasonic Distance OLED 128X64 Display

About the Ultrasonic sensor knowledge and infor mation click the link : Arduino Project 038 - S...

 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 038 - Simple Ultrasonic Range HC-SR04

Arduino Project 038 - Simple Ultrasonic Range HC-SR04

Ultrasonic range finders measure distance by emitting a pulse of ultrasonic sound that travels throu...

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

C语言调试运行环境TurboC的安装

C语言调试运行环境TurboC的安装

上大学时学习《C语言程序设计》(第二版)作者谭浩强,大部分编程时间是在学校机房度过,每次点开桌面的TurboC图标,就开始在里面敲代码,然后保存程序Abc.C,下一步进行编译,如果编译成功的话,就可以...

Arduino Project 039 - Ultrasonic Distance Display

Arduino Project 039 - Ultrasonic Distance Display

Ultrasonic sensors measure distance by sending and receiving the ultrasonic wave. The ultrasonic sen...