# pygame_mbot_module.py vom 21.11.2024 rot = (255,0,0); gruen = (0,255,0); blau = (0,0,255) gelb = ( 230, 230, 0) rot_ein = (255,0,0); rot_aus = (155,0,0) blau_ein = (0,0, 255); blau_aus = (0,0,155) gruen_ein = (0,255,0); gruen_aus = (0,155,0) schwarz = ( 0, 0, 0) weiss = ( 255, 255, 255) grau = (111,111,111) import pygame, time global fenster def mache_fenster(titel,lx,ly): global fenster pygame.init() pygame.display.set_caption(titel) fenster = pygame.display.set_mode([lx,ly]) return fenster def text_typer(text) : font = pygame.font.SysFont("arial", 25) text = font.render(text, True, weiss) textrect = text.get_rect() textrect.centerx = fenster.get_rect().centerx textrect.centery = fenster.get_rect().centery fenster.fill((0, 0, 0)) fenster.blit(text, textrect) pygame.display.update() time.sleep(1) def text_typer_xy(text,x,y, size, farbe) : font = pygame.font.SysFont("arial", size) text = font.render(text, True, farbe) textrect = text.get_rect() textrect.centerx = x textrect.centery = y fenster.blit(text, textrect) # mrge_communication_pc.py 2023-01-29 import serial import serial.tools.list_ports global ser def ser_init(COM_PORT, COM_BAUDRATE): print( COM_PORT, COM_BAUDRATE) try: ser = serial.Serial( COM_PORT, COM_BAUDRATE, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, timeout=1 ) except OSError as err: # except - ausgenommen print("OSError: " ,err) port_list() return "error" except: print("init()-Fehler") return None return ser def port_list(): import serial.tools.list_ports # nicht in serail vorhanden print("\nListe der verfügbaren COM-Ports\n") for p in list(serial.tools.list_ports.comports()): print( " - ", str(p).split(" - ") ) if __name__=='__main__': fenster = mache_fenster("Test für mich",400,300) fenster.fill(gelb) text_typer("Hello") text_typer("Young Engineers") pygame.display.update() fenster.fill(gelb) text_typer_xy("BLAU",40,20,20,rot) text_typer_xy("ROT",fenster.get_rect().width-40,fenster.get_rect().height-20,20,blau) for i in range(3): text_typer_xy(f'Ende in {3-i} Sekunden',fenster.get_rect().centerx+i*22,fenster.get_rect().centery+i*22, 22,blau) pygame.display.update() time.sleep(1) pygame.quit() COM_PORT = "COM14"; COM_BAUDRATE = 9600 print(f"Teste serielle Vebindung zu {COM_PORT} mit {COM_BAUDRATE} Baud") ser = ser_init(COM_PORT, COM_BAUDRATE) if ser=='error': print("Verbindung gescheitert") SystemExit else: print("Lese Daten vom mBot") cnt = 21 while ser.inWaiting!=0 and cnt!=0: msg = ser.readline() #msg = msg.decode().rstrip() cnt -= 1 print(cnt,msg) ser.close() # funktioniert nicht ser print("CTRL+F2 für 'Stopp/Restart ausführen' per Hand in Thonny")