# pygame-mbot-00-a.py vom 21.11.2024 import pygame, time, sys from pygame.locals import * COM_Port = "COM14" print(f"Starte Verbindung zu {COM_Port}") from pygame_mbot_module import * ser = ser_init( COM_Port, 115200 ) if ser=="error": sys.exit("Serielle Verbindung zu {COM_Port} nicht hergestellt!") print(f"Verbindung zu {COM_Port} steht") print("Warte auf Daten: ", end="") fenster = mache_fenster("PyGame mBot 01",800, 600) text_typer("Start Verbindung mit mBot") cnt = cnt1 = 1; start = time.time(); dauer = 0.1 line = hell = entf = 0 ende = False while not ende: if ser.inWaiting()>0: msg = ser.readline() # liest Bytearray mit '\r\n' daten = msg.decode().strip() werte = daten.split(",") if len(werte) != 3: continue line, hell, entf = werte print(cnt1, line, hell, entf) cnt1 += 1 for event in pygame.event.get(): # Beenden bei [ESC] oder [X] if event.type==QUIT or (event.type==KEYDOWN and event.key==K_ESCAPE): ende = True fenster.fill(weiss) # Fenster neu zeichnen text_typer_xy('Daten vom mBot',400,200,44,schwarz) text_typer_xy(f'{line} - {hell} - {entf}',400,300,44,schwarz) pygame.display.update() ser.write(f'x {cnt%1000}\n'.encode()) # nur die letzten drei Stellen von cnt cnt += 1 pygame.time.Clock().tick(60) # wartet ca. 17 ms - 1000 ms / 60 = 16.66.. ms print("ENDE") pygame.quit()