LCD + RFID

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)

Ich weiß nicht was du mit Sequenz meinst, das solltest du genauer beschreiben.
Und wenn du zu deinem Programm noch den RFID nutzen und auslesen möchtest, dann musst du deinen Sketch blockierfrei, also ohne delay schreiben.

Ersetze die delays dur eine Funktion mit millis(). Siehe dazu das Beispiel BlinkWithoutDelay in der IDE.