variabile non si incrementa

//Lettore di Badge
  //Arduino Pin 2 - arancione RDT/data
  //Arduino Pin 3 - giallo RCL/clock
  //Arduino Pin 4 - marrone CLS/card present    
    
    #include <MagStripe.h> //includo la libreria per il riconoscimento del lettore di badge
    #include <LiquidCrystal.h> //includo libreria LCD
    
    static const byte DATA_BUFFER_LEN = 108;  
    static char data[DATA_BUFFER_LEN];
    
    MagStripe card;
    
    int in2=7;
    int c=0;
    int b=0;

    //definizione pin lcd---------------------
    LiquidCrystal lcd(13, 12, 11, 10, 9, 8);   

           
          
           
    void setup()                                               
    {    

      
    pinMode(7,INPUT);
    digitalWrite(in2,LOW);
    lcd.begin(16, 2);       
    Serial.begin(9600); 
    delay(1000);
    lcd.setCursor(2, 0);
    lcd.print("Benvenuto In");
    delay(1000);
    lcd.setCursor(3, 1);
    lcd.print("M.a.Y.a.JA");
    delay(5000);
    lcd.clear();
    lcd.setCursor(1, 0);
    lcd.print("Passa La Carta");
    // inizializza la libreria per leggere la traccia 2       
    card.begin(2);                                              
    }                                                          

 
                                                                   
    void loop()   {
    if (card.available()){
    
 short chars = card.read(data,DATA_BUFFER_LEN);
                
  c=digitalRead(in2);
  if ( c== 1){
    b=b+1;
  delay(500);
  }
  lcd.setCursor(13, 1);
  lcd.print(b);
  lcd.setCursor(15,1);
  lcd.print(c);
  }

    }

ho apportato delle modifiche, infatti faccio stampare anche una variabile sullo schermo lcd che mi dice lo stato del pin7(low/high).