Eine Stelle einer Zahl andersfarbig darstellen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Peter (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Peter (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Für die Eingabe von Werten mit dem '''Rotaryencoder''' des '''M5DinMeter''' benötige ich eine Routine, die ein ausgewähltes Digit andersfarbig darstellt. Damit kann dargestellt werden auf welche Stelle der Zahl sich die Eingabe bezieht.<br> | Für die Eingabe von Werten mit dem '''Rotaryencoder''' des '''M5DinMeter''' benötige ich eine Routine, die ein ausgewähltes Digit andersfarbig darstellt. Damit kann dargestellt werden auf welche Stelle der Zahl sich die Eingabe bezieht.<br> | ||
Dazu habe ich Chatgbt.com um Hilfe gebeten. Dessen Lösung ist zwar nicht UIFlow2 kompatibel, obwohl das ausdrücklich gefordert war, bietet aber einen interessanten Ansatz: | Dazu habe ich '''Chatgbt.com''' um Hilfe gebeten. Dessen Lösung ist zwar nicht UIFlow2 kompatibel, obwohl das ausdrücklich gefordert war, bietet aber einen interessanten Ansatz: | ||
<pre> | <pre> | ||
from m5stack_ui import M5Screen | from m5stack_ui import M5Screen |
Version vom 28. Januar 2025, 19:12 Uhr
Für die Eingabe von Werten mit dem Rotaryencoder des M5DinMeter benötige ich eine Routine, die ein ausgewähltes Digit andersfarbig darstellt. Damit kann dargestellt werden auf welche Stelle der Zahl sich die Eingabe bezieht.
Dazu habe ich Chatgbt.com um Hilfe gebeten. Dessen Lösung ist zwar nicht UIFlow2 kompatibel, obwohl das ausdrücklich gefordert war, bietet aber einen interessanten Ansatz:
from m5stack_ui import M5Screen from m5stack import M5Led from uiflow import wait # Bildschirm initialisieren screen = M5Screen() screen.clean_screen() # Wort und Farben definieren text = "M5Stack" colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 255, 0), (255, 0, 255), (0, 255, 255), (255, 255, 255)] # Startposition und Zeichenabstand x_start, y_start = 10, 50 spacing = 30 # Zeichen einzeln zeichnen for i, char in enumerate(text): color = colors[i % len(colors)] # Farbe für das Zeichen screen.set_screen_color((0, 0, 0)) # Hintergrundfarbe, falls gewünscht screen.draw_string(x_start + i * spacing, y_start, char, color=color)