int btnM = 2;
int btnT = 3;
int btnK = 4;
uint8_t AB;
uint8_t ABOld;

void setup() {
  // put your setup code here, to run once:
  pinMode(btnM, INPUT);  //переводим пин в режим входа
  pinMode(btnT, INPUT);  //переводим пин в режим входа
  pinMode(btnK, INPUT);  //переводим пин в режим входа
  
}


uint8_t GetAB() {  // Функция устраняющая дребезг
  static int count;
  static int oldKeyValue;  // Переменная для хранения предыдущего значения состояния кнопок
  static int innerKeyValue;
  uint8_t actualKeyValue = (digitalRead(btnM) || digitalRead(btnT) || digitalRead(btnK));  // Получаем актуальное состояние
 
  if (innerKeyValue != actualKeyValue) {              // Пришло значение отличное от предыдущего
    count = 0;                                        // Все обнуляем и начинаем считать заново
    innerKeyValue = actualKeyValue;                   // Запоминаем новое значение
  } else {
    count += 1;  // Увеличиваем счетчик
  }
  if ((count >= 100) && (actualKeyValue != oldKeyValue)) {  // Счетчик преодолел барьер, можно иницировать смену состояний
    oldKeyValue = actualKeyValue;                          // Присваиваем новое значение
  }
  return oldKeyValue;
}


void loop() {
  // put your main code here, to run repeatedly:

  AB = GetAB();

  if (AB == 0) ABOld = 0;

  if (AB != ABOld) {

    // запоминаем значение кнопки
    ABOld = AB;
  

  if (digitalRead(btnM) != 0) Serial.println("M");
  if (digitalRead(btnT) != 0) Serial.println("T");
  if (digitalRead(btnK) != 0) Serial.println("K");



  
  
  }

}