Serielle Kommunikation zwischen einem Arduino und Python

Mein Ziel diese Projektes ist es, über Python Tetris laufen zu lassen und mit einem Arduino einen Controller zu bauen. Dieser Controller soll dann als eingabe dienen. Leider ist mir dies bisher nur mit einem Button gelunden. Der folgende Sketch funktioniert leider... noch NICHT!!! Ich arbeite noch dran und auch in diesem Sketch steckt viel verzwifelte Zeit.

Es gibt mehrere Probleme. Eines bzw. sogar das größte ist das debuggen der Datenströme.

Einigen mag der Befehl Serial.println nicht dieser ermöglich einfach eine Kommunikation zwischen Arduino und anderen Programmen ausserhalb der Arduino IDE.

// Belegung der Arduino Pins
const int SW_Pin = 30;  // Der Switch Pin ist auf dem Digitalen Pin Nr. 22
const int X_Pin = 0;    // Der Pin für die X-Achse befindet sich auf dem Analogen Pin Nr. 0  
const int Y_Pin = 1;    // Der Pin für die Y-Achse befindet sich auf dem Analogen Pin Nr. 1
const int Puffer1 = 521;
const int Puffer2 = 517;
void setup() {
  Serial.begin(9600);
  pinMode(SW_Pin, INPUT);
  digitalWrite(SW_Pin, HIGH);
}
 
void loop() {
    if(analogRead(X_Pin) > Puffer1)
  {
    Serial.println("unten");
  }
  Serial.println("\n");
  if(analogRead(X_Pin) < Puffer2)
  {
    Serial.println(1);
  }
  Serial.println("\n");
  if(analogRead(Y_Pin) > Puffer1)
  {
    Serial.println("links");
  }
  Serial.println("\n");
  if(analogRead(Y_Pin) < Puffer2)
  {
    Serial.println("rechts");
    }
    delay(90);
 
}
 
 
 
 
 
Nun folgt der sketch welcher in Python geschrieben ist. Auch dieser Funktioniert noch nicht richtig!!!
import serial       # import des Serial moduls 
import time         #Import des Time moduls 

ser = serial.Serial('COM3', 9600)   #beginne Serielle kommunikation
time.sleep(2)                       # Schlafe für 2 sek

while True:                         #eine immer laufende Schleife 
    b = ser.readline()
    string_n = b.decode()           #der sting wird decoded 
    string = string_n.rstrip()       #entfernung von \r und \n 
    flt = float(string_n)
    data = flt
    while True:
        print(data)                    #ausgabe von (data)