# GY-512-Rohdaten-seriell-lesen.py # Diese Programm läuft unter Python auf dem PC. import serial, time port_ = 'COM7' # ANPASSEN - hier ist der ESP32 mmit GY-521(MPU6050) angeschlossen baudrate_ = 115200 # eventuell anpassen ser = serial.Serial( port_, baudrate_, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, timeout=1 ) print( "Sender gestartet?" ); time.sleep(10.0) #Zeit, den Sender zu starten print( "Im Puffer sind " + str(ser.inWaiting()) + " Bytes zu lesen: " ); time.sleep(1.0) while ser.inWaiting(): #print("\rByte zu lesen: "+str(ser.inWaiting())+" |") ser.read() print("'serial buffer' ist leer") while True: txt = ser.readline().decode().rstrip() # print(txt) ## "-390,104,73,-672,-12452,14548" tmp = txt.split(",") if len(tmp)!=6: print("\r"+txt, end="") continue ok = True for w in tmp: ok = ok and w.replace("-","").isdigit() if ok: gy_x = int(tmp[0]) gy_y = int(tmp[1]) gy_z = int(tmp[2]) ac_x = int(tmp[3]) ac_y = int(tmp[4]) ac_z = int(tmp[5]) # formatierte Ausgabe mit der f'-Strings print(f'{gy_x:6}, {gy_y:6}, {gy_z:6} {ac_x:6}, {ac_y:6}, {ac_z:6}') else: print("Fehler: "+txt) #ser.flushInput() #txt = ser.readline().decode("UTF-8")