Card reader with LCD, Buttons, Stepper motor and LED

Hi all,
I’m working on a card reader project that will activate the stepper motor & will display the card info in the LCD. I am very new to programming so please pardon any stupid mistakes.

Board: ATMEGA 2560

I’m not a pro in programming but i compiled some of the codes i found online and added a few lines of code and came out with this:

#include <PN532Lib.h>
#include <SPI.h>
#include <Stepper.h>
#include <LiquidCrystal.h>

uint8_t cardDataIn[128];

uint8_t cardDataOut[] = {
  0x01,  // target number (always 1)
  0x90,  // command class 
  0x32,  // INS - read purse
  0x03,  // purse #3
  0x00,  // param 1
  0x00,  // param 2
  0x00,  // LC 
  0x00   // ??
};


const int LED = 13;
const int buttonPin1 = 2;
const int buttonPin2 = 3;
const int buttonPin3= 4;
const int buttonPin4 = 5;
const int buttonPin5 = 6;
const int stepsPerRevolution = 200;

Stepper myStepper(stepsPerRevolution, 8, 9, 10, 13);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

#define PN532_CS 10

PN532Lib nfc(PN532_CS);

void setup(void) {
  // setup serial at 9600 baud
  Serial.begin(9600);
  
  // startup the nfc card reader
  nfc.begin();
  nfc.SAMConfig();

  // set the speed at 0 rpm:
  myStepper.setSpeed(0);

  //set up LCD column and row
  lcd.begin(16,2);
  
  pinMode(LED,OUTPUT);
  pinMode(buttonPin4, OUTPUT);
  pinMode(buttonPin1, OUTPUT);
  pinMode(buttonPin2, OUTPUT);
  pinMode(buttonPin3, OUTPUT);
  pinMode(buttonPin5, OUTPUT);
  digitalWrite(LED,LOW);
}


void loop(void) {
  
  
  // look for EzLink cards
  uint32_t id = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443B, PN532_CARDTYPEB);

  // if random tag id number then we have a card
  if (id != 0) {
    // now request the card data
    if ( nfc.dataExchange(cardDataOut, sizeof(cardDataOut), cardDataIn, sizeof(cardDataIn)) ) {
      // if card data found set the LED to on
      digitalWrite(LED,HIGH);

      // send out the card number
      uint8_t i;
      for ( i = 0; i < 8; i ++ ) {
        Serial.print((cardDataIn[8 + i] >> 4) & 0x0F, HEX);
        Serial.print(cardDataIn[8 + i] & 0x0F, HEX);
      }
Phase2:

    if (digitalRead (buttonPin1) == LOW)
    {
    lcd.print(i);
    myStepper.setSpeed(60);
    //set motor speed to 60rpm
    Serial.println("clockwise");
    myStepper.step(stepsPerRevolution);
    delay (500);
  
      // send the end or record cr/lf
      Serial.println("");

      // wait a bit for the LED
      delay(2000);
      
      // off LED
      digitalWrite(LED,LOW);
    }
    else
    goto Phase2;
  }
  // loop delay before the next read attempt
  delay(100);
  }
}

I’d like to consult you all on how will this code do if i were to use it.

The top code was the old one. This is the updated one. Sorry about that.
And for those wondering, i’m using the RDM8800 Card Reader

#include <PN532Lib.h>
#include <SPI.h>
#include <Stepper.h>
#include <LiquidCrystal.h>

uint8_t cardDataIn[128];

uint8_t cardDataOut[] = {
  0x01,  // target number (always 1)
  0x90,  // command class 
  0x32,  // INS - read purse
  0x03,  // purse #3
  0x00,  // param 1
  0x00,  // param 2
  0x00,  // LC 
  0x00   // ??
};


const int LED = 13;
const int buttonPin1 = 6;
const int stepsPerRevolution = 200;

Stepper myStepper(stepsPerRevolution, 8, 9, 10, 13);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

#define PN532_CS 10

PN532Lib nfc(PN532_CS);

void setup(void) {
  // setup serial at 9600 baud
  Serial.begin(9600);
  
  // startup the nfc card reader
  nfc.begin();
  nfc.SAMConfig();

  // set the speed at 0 rpm:
  myStepper.setSpeed(0);

  //set up LCD column and row
  lcd.begin(16,2);
  
  pinMode(LED,OUTPUT);
  pinMode(buttonPin4, OUTPUT);
  pinMode(buttonPin1, OUTPUT);
  pinMode(buttonPin2, OUTPUT);
  pinMode(buttonPin3, OUTPUT);
  pinMode(buttonPin5, OUTPUT);
  digitalWrite(LED,LOW);
}


void loop(void) {
  
  
  // look for EzLink cards
  uint32_t id = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443B, PN532_CARDTYPEB);

  // if random tag id number then we have a card
  if (id != 0) {
    // now request the card data
    if ( nfc.dataExchange(cardDataOut, sizeof(cardDataOut), cardDataIn, sizeof(cardDataIn)) ) {
      // if card data found set the LED to on
      digitalWrite(LED,HIGH);

      // send out the card number
      uint8_t i;
      for ( i = 0; i < 8; i ++ ) {
        Serial.print((cardDataIn[8 + i] >> 4) & 0x0F, HEX);
        Serial.print(cardDataIn[8 + i] & 0x0F, HEX);
      }
Phase2:

    if (digitalRead (buttonPin1) == LOW)
    {
    lcd.print(i);
    myStepper.setSpeed(60);
    //set motor speed to 60rpm
    Serial.println("clockwise");
    myStepper.step(stepsPerRevolution);
    delay (500);
  
      // send the end or record cr/lf
      Serial.println("");

      // wait a bit for the LED
      delay(2000);
      
      // off LED
      digitalWrite(LED,LOW);
    }
    else
    goto Phase2;
  }
  // loop delay before the next read attempt
  delay(100);
  }
}