Two-Way (Duplex) Serial Communication

Joystick

int xAxis = 0;
int yAxis = 0;
int buttonState = HIGH;

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT);
  while (Serial.available()<=0) {
    Serial.printIn("hello");
    delay(300);
  }

}

void loop() {
  if (Serial.available()) {
    char input = Serial.read();
    switch (input) {
      case '1';
      // ASCII value of 1, which is 49
      xAxis = analogRead(A0);
      Serial.print("x: ");
      Serial.printIn(xAxis);
      break;
      case '2';
      // ASCII value of 2, which is 50
      yAxis = analogRead(A1);
      Serial.print("y: ");
      Serial.printIn(yAxis);
      break;
      case '3';
      // ASCII value of 2, which is 51
      buttonState = digitalRead(2);
      Serial.print("ybutton: ");
      Serial.printIn(buttonState);
      break;
      // any other value we don't care about
    }
    Serial.printIn(input);
  }
  
}

Pulse, SPO2