RFID + DELAY
#include <SPI.h>
#include <RFID.h>
#include <LiquidCrystal_PCF8574.h>
#include <Wire.h>
LiquidCrystal_PCF8574 lcd(0x27);
int DELAY =6;
#define SS_PIN 10
#define RST_PIN 9
int show;
RFID rfid(SS_PIN, RST_PIN);
// Setup variables:
int serNum0;
int serNum1;
int serNum2;
int serNum3;
int serNum4;
void setup()
{
Serial.begin(9600);
SPI.begin();
rfid.init();
lcd.begin(16,2);
lcd.setBacklight(255);
pinMode(DELAY,OUTPUT);
}
void loop()
{
if (rfid.isCard()) {
if (rfid.readCardSerial()) {
if (rfid.serNum[0] != serNum0
&& rfid.serNum[1] != serNum1
&& rfid.serNum[2] != serNum2
&& rfid.serNum[3] != serNum3
&& rfid.serNum[4] != serNum4
) {
/* With a new cardnumber, show it. */
lcd.setCursor(3,0);
lcd.println("Card Pass....");
delay(2000);
lcd.clear();
Serial.println(" ");
Serial.println("Card found");
serNum0 = rfid.serNum[0];
serNum1 = rfid.serNum[1];
serNum2 = rfid.serNum[2];
serNum3 = rfid.serNum[3];
serNum4 = rfid.serNum[4];
//Serial.println(" ");
Serial.println("Cardnumber:");
lcd.setCursor(0,1);
lcd.print("Dec: ");
lcd.setCursor(5,1);
lcd.print(rfid.serNum[0],DEC);
delay(500);
lcd.clear();
Serial.println("Cardnumber:");
Serial.print("Dec:");
Serial.print(rfid.serNum[0],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[1],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[2],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[3],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[4],DEC);
Serial.println(" ");
Serial.print("Hex: ");
Serial.print(rfid.serNum[0],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[1],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[2],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[3],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[4],HEX);
Serial.println(" ");
digitalWrite(DELAY,1);
delay(2000);
digitalWrite(DELAY,0);
} else {
/* If we have the same ID, just write a dot. */
Serial.print(".");
lcd.print("...No found");
delay(2000);
lcd.clear();
}
}
}
rfid.halt();
}
#include <RFID.h>
#include <LiquidCrystal_PCF8574.h>
#include <Wire.h>
LiquidCrystal_PCF8574 lcd(0x27);
int DELAY =6;
#define SS_PIN 10
#define RST_PIN 9
int show;
RFID rfid(SS_PIN, RST_PIN);
// Setup variables:
int serNum0;
int serNum1;
int serNum2;
int serNum3;
int serNum4;
void setup()
{
Serial.begin(9600);
SPI.begin();
rfid.init();
lcd.begin(16,2);
lcd.setBacklight(255);
pinMode(DELAY,OUTPUT);
}
void loop()
{
if (rfid.isCard()) {
if (rfid.readCardSerial()) {
if (rfid.serNum[0] != serNum0
&& rfid.serNum[1] != serNum1
&& rfid.serNum[2] != serNum2
&& rfid.serNum[3] != serNum3
&& rfid.serNum[4] != serNum4
) {
/* With a new cardnumber, show it. */
lcd.setCursor(3,0);
lcd.println("Card Pass....");
delay(2000);
lcd.clear();
Serial.println(" ");
Serial.println("Card found");
serNum0 = rfid.serNum[0];
serNum1 = rfid.serNum[1];
serNum2 = rfid.serNum[2];
serNum3 = rfid.serNum[3];
serNum4 = rfid.serNum[4];
//Serial.println(" ");
Serial.println("Cardnumber:");
lcd.setCursor(0,1);
lcd.print("Dec: ");
lcd.setCursor(5,1);
lcd.print(rfid.serNum[0],DEC);
delay(500);
lcd.clear();
Serial.println("Cardnumber:");
Serial.print("Dec:");
Serial.print(rfid.serNum[0],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[1],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[2],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[3],DEC);
Serial.print(", ");
Serial.print(rfid.serNum[4],DEC);
Serial.println(" ");
Serial.print("Hex: ");
Serial.print(rfid.serNum[0],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[1],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[2],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[3],HEX);
Serial.print(", ");
Serial.print(rfid.serNum[4],HEX);
Serial.println(" ");
digitalWrite(DELAY,1);
delay(2000);
digitalWrite(DELAY,0);
} else {
/* If we have the same ID, just write a dot. */
Serial.print(".");
lcd.print("...No found");
delay(2000);
lcd.clear();
}
}
}
rfid.halt();
}
ความคิดเห็น
แสดงความคิดเห็น