Всем привет, купил недавно Keypad 3x4, который имеет 3 пина подключения  VCC, GND, OUTPUT
все правильно подключил
но проблема в коде
#define sensorDelayRate 20
byte lastValue = 99;
void setup()
{
  Serial.begin(9600);
  Serial.setTimeout(50);
}
void loop()
{       
  byte value = key();
  if(value != lastValue)
  {
    lastValue = value;
    if(lastValue != 99)
    Serial.print(lastValue);
    delay(100);
  }      
}
byte key()
{  
  int val = 1024 - analogRead(A0); 
  if (val < 515 && val > 505) return 0; //538
  else if (val < 1028 && val > 1018) return 1;
  else if (val < 935 && val > 925) return 2;
  else if (val < 855 && val > 845) return 3;
  else if (val < 795 && val > 785) return 4;
  else if (val < 735 && val > 725) return 5;
  else if (val < 685 && val > 675) return 6;
  else if (val < 645 && val > 635) return 7;
  else if (val < 605 && val > 595) return 8;
  else if (val < 575 && val > 565) return 9;
  else if (val < 545 && val > 535) return 10;
  else if (val < 495 && val > 485) return 11;
  else return 99;
}
код делает проверку кнопок( они по порту отдают )
и кнопки не отдают свои числа и цифры
а просто пишет или 1 или 0 или 10
но должно на каждую кнопку отдавать свое число
когда делаю проверку, то отдает правильные номера
void setup()
{
  Serial.begin(9600);
  Serial.setTimeout(50);
}
void loop()
{       
  Serial.print(analogRead(A0));
  Serial.println("/");
  delay(1000);
}
0, 538 и т.д
почему при первом коде оно не работает так, как должно?
фото обратной стороны:
Весь код загружал в Arduino UNO(китай)