#define button_0 0
#define button_1 1
#define button_2 2
#define button_3 3
#define button_4 4
#define button_5 5
#define button_6 6
#define button_7 7
#define button_8 8
#define button_9 9
#define button_vol_up 10
#define button_func 11
#define button_back 12
#define button_pause 13

char c = 0;
uint16_t NA;

void setup() {
  pinMode(button_0, OUTPUT);
  pinMode(button_1, OUTPUT);
  pinMode(button_2, OUTPUT);
  pinMode(button_3, OUTPUT);
  pinMode(button_4, OUTPUT);
  pinMode(button_5, OUTPUT);
  pinMode(button_6, OUTPUT);
  pinMode(button_7, OUTPUT);
  pinMode(button_8, OUTPUT);
  pinMode(button_9, OUTPUT);
  pinMode(button_vol_up, OUTPUT);
  pinMode(button_func, OUTPUT);
  pinMode(button_back, OUTPUT);
  pinMode(button_pause, OUTPUT);

  Serial.begin(9600);
  analogReference(INTERNAL);
}

void loop() {
  if (Serial.available() > 0) {
    c = Serial.read();
    switch (c) {
      
      // ---------- button 0 on pin RX ----------
      case 'Q':
        digitalWrite(button_0, HIGH);
        break;
      case 'R':
        digitalWrite(button_0, LOW);
        break;

      // ---------- button 1 on pin TX ----------
      case 'W':
        digitalWrite(button_1, HIGH);
        break;
      case 'X':
        digitalWrite(button_1, LOW);
        break;

      // ---------- button 2 on pin 2 ----------
      case 'Y':
        digitalWrite(button_2, HIGH);
        break;
      case 'Z':
        digitalWrite(button_2, LOW);
        break;

      // ---------- button 3 on pin 3 ----------
      case 'a':
        digitalWrite(button_3, HIGH);
        break;
      case 'b':
        digitalWrite(button_3, LOW);
        break;

      // ---------- button 4 on pin 4 ----------
      case 'c':
        digitalWrite(button_4, HIGH);
        break;
      case 'd':
        digitalWrite(button_4, LOW);
        break;

      // ---------- button 5 on pin 5 ----------
      case 'e':
        digitalWrite(button_5, HIGH);
        break;
      case 'f':
        digitalWrite(button_5, LOW);
        break;

      // ---------- button 6 on pin 6 ----------
      case 'g':
        digitalWrite(button_6, HIGH);
        break;
      case 'h':
        digitalWrite(button_6, LOW);
        break;

      // ---------- button 7 on pin 7 ----------
      case 'i':
        digitalWrite(button_7, HIGH);
        break;
      case 'j':
        digitalWrite(button_7, LOW);
        break;

      // ---------- button 8 on pin 8 ----------
      case 'k':
        digitalWrite(button_8, HIGH);
        break;
      case 'l':
        digitalWrite(button_8, LOW);
        break;

      // ---------- button 9 on pin 9 ----------
      case 'm':
        digitalWrite(button_9, HIGH);
        break;
      case 'n':
        digitalWrite(button_9, LOW);
        break;

      // ---------- volume up button on pin 10 ----------
      case 'A':
        digitalWrite(button_vol_up, HIGH);
        break;
      case 'B':
        digitalWrite(button_vol_up, LOW);
        break;

      // ---------- function button on pin 11 ----------
      case 'C':
        digitalWrite(button_func, HIGH);
        break;
      case 'D':
        digitalWrite(button_func, LOW);
        break;

      // ---------- back button on pin 12 ----------
      case 'E':
        digitalWrite(button_back, HIGH);
        break;
      case 'F':
        digitalWrite(button_back, LOW);
        break;

      // ---------- pause button on pin 13 ----------
      case 'G':
        digitalWrite(button_pause, HIGH);
        break;
      case 'H':
        digitalWrite(button_pause, LOW);
        break;

      default:
        break;
    }
  }
}