Hi ich habe folgendes Problem
ich würde gerne auf meinem LCD eine sequenz laufen lassen und parallel soll er mit RFID arbeiten,aber ich weiß nicht wie...
mein Code sieht aus wie folgt:
{Use Code Tags please! The </> button above. Thank you - Moderator}
#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.
const int buzzer = 6;
const int rs = 8, en = 7, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup()
{
lcd.begin(16, 2);
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
Serial.println("Approximate your card to the reader...");
Serial.println();
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(buzzer, OUTPUT);
Serial.begin(9600); <<< Why a 2nd time??
}
void loop()
{
lcd.print(" APPROXIMATE KEYCARD");
delay(1);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.scrollDisplayLeft();
delay(300);
lcd.clear();
delay(1000);
lcd.print("APPROXIMATE");
delay(700);
lcd.clear();
delay(300);
lcd.print("KEYCARD");
delay(700);
lcd.clear();
// 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) == "59 1B 10 A4" //change here the UID of the card/cards that you want to give access
)
{
Serial.println("Authorized access");
Serial.println();
digitalWrite(7, HIGH);
tone(buzzer, 850);
delay(250);
tone(buzzer,1100);
delay(100);
noTone(buzzer);
delay(500);
digitalWrite(7, LOW);
Serial.println("Approximate your card to the reader...");
}
else {
Serial.println(" Access denied");
digitalWrite(8, HIGH);
tone(buzzer, 850);
delay(100);
tone(buzzer,150);
delay( 250);
noTone(buzzer);
delay(500);
digitalWrite(8, LOW);
Serial.println("Approximate your card to the reader...");
}
}
RIFD_LCD.ino (4.04 KB)