Bildbox 1 (klick hier)
Lissajous Figuren auf
Raspberry Pi Pico mit Pimoroni-Display
Bildbox 1 (klick hier)
Lissajous Figuren auf
Raspberry Pi Pico mit Pimoroni-Display
Hardware
- Raspberry Pi Pico
- Pico Display
- Micro USB Kabel
Die Firma Pimorino bietet für unter 20 Euro ein Display (240x135 Pixel) speziell für den Raspberry Pi Pico an.
Das Display kann ohne Experimentierboard direkt über die vorgelötete Buchsenleiste mit dem Pico verbunden werden
(siehe Bild oben). Ich habe mir zum Schutz der Hardware, zur besseren Handhabung und zur externen Stromversorgung mit zwei AA bzw.
AAA Batterien einige kleine Gehäuse gedruckt, aber dazu später mehr.
Zur Programmierung des Micro-Controlers verbinde ich den Pico über das Micro-USB Kabel direkt mit einem Raspberry Pi 4B, der im Desktop Modus läuft oder
mit einem Windows 10 Rechner, auf dem Thonny installiert ist. Die Benutzung des Raspberry hat den Vorteil, dass Thonny bereits vorinstalliert ist
und der Zugriff auf den Pico auch direkt über die Konsole mittels rshell möglich ist. Und ganz ehrlich, schließe ich den Pico
meist an den Raspberry an und verbinde mich per ssh vom Windowsdesktop damit. Da sollte aber jeder seine eigenen Vorlieben nutzen.
Grundlagen
Zum Verständnis, worum es bei den Lissajous-Figuren geht, sind ein paar Erklärungen aus der Physik erforderlich. Keine
Angst, das wird jetzt keine Physik-Vorlesung!
Wikipedia sagt dazu: "Lissajous-Figuren sind Kurvengraphen, die durch die Überlagerung zweier harmonischer, rechtwinklig
zueinander stehender Schwingungen verschiedener Frequenz entstehen." Wollte man die z.B. früher am Oszilloskop sichtbar machen, gab
man zwei Wechselspannungen getrennt auf den X und den Y Eingang (ohne die Zeitablenkung). Je nach Differenz der Frequenz und
der Phasenverschiebung, entstehen die nach dem französischen Physiker Lissajous benannten Figuren. Einen besonders schönen
Anblick bieten die Kurven bei geringfügiger Abweichung zwischen den Schwingungsfrequenzen, weil durch die langsam rotierende
Figur ein 3D-Eindruck entsteht. Bei unterschiedlichen Frequenzverhältnissen entstehen sehr unterschiedliche Figuren, wie wir
später sehen werden. Vergleiche dazu unbedingt auch
die Ausführungen bei Wikipedia.
Los gehts
1. Bevor Sie den Pico erstmalig an die Stromversorgung anschließen, muss zunächst die Firmware mit der Ansteuerung für
das Pico Display von Pimoroni übertragen werden. Gehen Sie dazu auf der Seite von Pimoroni zum Abschnitt 'Getting started' und
klicken auf
custom MicroPython uf2.
Das bringt Sie zu Github, von wo Sie immer die aktuelle uf2-Datei
herunterladen (direkter Download Link).
2. Nach dem Download der uf2-Datei muss diese nun auf den Pico übertragen werden. Im ersten Schritt nehmen Sie den Pico im
ausgeschalteten Zustand zur Hand und drücken die BootSel-Taste (siehe Beschriftung auf der Platinenrückseite). Die wird
gehalten und der Pico erst dann (!!) über das USB-Kabel mit dem
Rechner verbunden. Nach dem Verbinden des USB-Kabels kann die Taste BootSel losgelassen werden. Nun öffnet sich im
Filesystem ein Explorer-Fenster mit einem neuen Massenspeicher RPI-RP2. Öffnen Sie jetzt auf dem Rechner den
Download-Ordner und ziehen die uf2-Datei mit der Firmware auf den Massenspeicher RPI-RP2. Sobald die Firmware-Datei auf den
Pico kopiert ist, wird die Firmware ausgeführt und der Massenspeicher wird nicht mehr im Explorerfenster angezeigt.
Damit ist die Programmiersprache MicroPython für die Ansteuerung des Pico-Displays auf dem Raspberry Pi Pico installiert
und die Programmierung kann über Thonny beginnen.
3. Falls bei der ersten Benutzung von Thonny kein Board erkannt wird, muss in den Interpreter-Einstellungen die Port-Auswahl
überprüft werden und ggf. auf MicroPython (Raspberry Pi Pico) eingestellt werden. Klicken Sie dazu ganz unten rechts
auf den 'Button'. Das Fenster sollte jetzt so aussehen:
In der unteren Kommandozeile wird der Controler z.B. mit "MicroPython v1.17 on 2021-12-09; Raspberry Pi Pico with RP2040"
angezeigt.
So, jetzt geht's aber richtig los. Zunächst werden die Module time und math importiert, das Display initialisiert
und einige Variable definiert. Das sehen Sie in den Programmzeilen 1 bis 19. Sie können diese jeweils mit Paste&Copy
übernehmen und in Thonny einfügen oder am Ende der Erklärungen das komplette Programm herunterladen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import time
import math
import picodisplay as display
width = display.get_width()
height = display.get_height()
display_buffer = bytearray(width * height * 2)
display.init(display_buffer)
display.set_backlight(1.0) # Set the backlight to 100%
display.set_led(0,0,0) # LED abschalten
display.set_pen(0,0,0) # Schreibfarbe schwarz setzen
display.clear() # gesamten Bildschirm loeschen
display.set_pen(255,255,255) # Stiftfarbe weiss setzen
display.update() # Puffer an Display uebertragen
a = 1
f1 = 1
f2 = 2
t = 0.25
Achten Sie darauf, dass beim Paste&Copy in Zeile 1 keine Einrückung entsteht, da dies beim Programmstart einen
Syntax Error ergibt.
In den Zeilen 3 bis 7 sehen Sie, wie das Display am Anfang eines jeden Programms initialisiert werden muss. Die Zeilen
9 bis 14 erklären sich durch die Kommentare. Wichtig ist, dass die Übertragung an das Display und damit die Darstellung
immer erst nach dem 'update'-Befehl wie in Zeile 14 geschieht. In den Zeilen 16 bis 19 definiere ich einige Variable,
die später benutzt werden.
Nun wird in den Zeilen 21 bis 45 unsere Funktion zum Zeichnen der Lissajous-Figur definiert. Der Name der Funktion ist bei uns
'draw()' und es werden die Werte der Variable a, f1 und f2 übergeben. Hinweis: Falls Sie die Seite am Smartphone betrachten, kann
es vorkommen, dass die Zeilenlänge zu einem Umbruch führt. Dadurch verschiebt sich die Zeilennummerierung, was aber auf
Paste&Copy keinen Einfluss hat.
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
def draw(a, f1, f2):
if a == 1:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i)+67))
if a == 2:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+math.pi/4)+67))
if a == 3:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+2*math.pi/4)+67))
if a == 4:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+3*math.pi/4)+67))
if a == 5:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+4*math.pi/4)+67))
if a == 6:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+5*math.pi/4)+67))
if a == 7:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+6*math.pi/4)+67))
if a == 8:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+7*math.pi/4)+67))
Achten Sie darauf, bei den If-Abfragen und den For-Schleifen immer die Einrückung von 4 Leerzeichen einzuhalten, wie es die
Syntax von Python verlangt.
Zur Erklärung der Funktion: Es werden hier 8 aufeinanderfolgende Bilder für den Bewegungseffekt erzeugt. Die Variable i läuft immer
von 0 bis 240 (Anzahl der Pixel auf dem Display) in der Schrittweite 3, Die Werte 120 und 67 beziehen sich auf die Mitte des Displays und
der Faktor 45 nutzt die Displayhöhe maximal aus.
Die Position der einzelnen Pixel werden durch math.sin(f1*i) (x-Koordinate) und math.sin(f2*i) (y-Koordinate) bestimmt. In unserem Fall
sind f1=1 und f2=2. Aus der Tabelle bei Wikipedia können sie entnehmen, für welche Frequenzverhältnisse 'schöne'
Figuren entstehen.
Bleibt noch der Hinweis auf die Phasenverschiebung zwischen den einzelnen Bildern mit "+...*math.pi/4". In unserem Fall zwischen 0 und
7 * pi/4 (also 8 Bilder).
Wenn Sie bis hierher alles eingegeben haben und das Programm schon mal starten wollen, seien Sie nicht enttäuscht, denn außer dem
Erlöschen der LED passiert noch nichts weiter. Die Funktion 'draw()' wird ja noch von keiner Stelle des Programms aufgerufen. Das werden
wir jetzt in einer sich immer wiederholenden Schleife tun.
47
48
49
50
51
52
53
54
55
56
while True:
display.set_pen(0,0,0) # Schreibfarbe schwarz setzen
display.clear() # Bildschirm loeschen
display.set_pen(255,255,255) # Schreibfarbe weiss setzen
draw(a, f1, f2)
time.sleep(t)
a = a + 1
if a == 9:
a = 1
display.update()
Die Funktion 'draw(a, f1, f2)' wird 8 mal aufgerufen, dabei wird a jedes mal um eins erhöht und dann wieder auf 1 gesetzt.
Anschließend werden die Pixel aus dem Puffer an das Display übergeben. Mit der kurzen Pause 'time.sleep(t)' können Sie
die Geschwindigkeit der Darstellung variieren.
Speichern Sie das Programm jetzt auf dem Pico oder ihrem Rechner und starten es dann. Wie Sie sehen, hat sich die Mühe gelohnt.
Um die senkrechte Achse dreht sich eine räumlich erscheinende endlose parabelförmige Schleife. Vertauschen Sie die Werte der
Frequenzen f1 und f2, erfolgt die Drehung um die waagerechte Achse. Experimentieren Sie ruhig ein wenig mit den Variablen.
Zum Abschluss dieses kleinen Projektes biete ich noch ein paar Varianten zum direkten Download an.
1. Das obige Programm in der beschriebenen Form: Lissajous-Figur
auf Pi Pico.
2. Das gleiche Programm, aber mit 16 Einzelbildern und Veränderung der Parameter über die Display-Tasten:
Lissajous mit Tastenfunktion.
3. Ein kleiner Spass zum Schluss. Wer hier eine Taste drückt, bringt den Pico zur Explosion. Deshalb habe ich das Programm
bumm genannt.
Ein letzter Hinweis an dieser Stelle. Wenn Sie eines der Programme (gilt für MicroPython) auf dem Pico unter dem Namen
"main.py" abspeichern, startet es immer automatisch bei Stromzufuhr. Sie verlieren jedoch den Zugriff über Thonny. Entweder
löschen Sie dann die Datei später in der Konsole mit Hilfe von 'rshell' oder müssen auf dem Windowsrechner den
Pico wie am Anfang des Beitrages unter 'Los gehts' beschrieben, komplett zurücksetzen. Deshalb ist es sehr ratsam, Programme während
der Experimentierphase nicht nur auf dem Pico, sondern auch auf dem Rechner zu speichern.
Viel Spass und Erfolg beim Ausprobieren.
Zurück
Wikipedia sagt dazu: "Lissajous-Figuren sind Kurvengraphen, die durch die Überlagerung zweier harmonischer, rechtwinklig zueinander stehender Schwingungen verschiedener Frequenz entstehen." Wollte man die z.B. früher am Oszilloskop sichtbar machen, gab man zwei Wechselspannungen getrennt auf den X und den Y Eingang (ohne die Zeitablenkung). Je nach Differenz der Frequenz und der Phasenverschiebung, entstehen die nach dem französischen Physiker Lissajous benannten Figuren. Einen besonders schönen Anblick bieten die Kurven bei geringfügiger Abweichung zwischen den Schwingungsfrequenzen, weil durch die langsam rotierende Figur ein 3D-Eindruck entsteht. Bei unterschiedlichen Frequenzverhältnissen entstehen sehr unterschiedliche Figuren, wie wir später sehen werden. Vergleiche dazu unbedingt auch die Ausführungen bei Wikipedia.
Los gehts
1. Bevor Sie den Pico erstmalig an die Stromversorgung anschließen, muss zunächst die Firmware mit der Ansteuerung für
das Pico Display von Pimoroni übertragen werden. Gehen Sie dazu auf der Seite von Pimoroni zum Abschnitt 'Getting started' und
klicken auf
custom MicroPython uf2.
Das bringt Sie zu Github, von wo Sie immer die aktuelle uf2-Datei
herunterladen (direkter Download Link).
2. Nach dem Download der uf2-Datei muss diese nun auf den Pico übertragen werden. Im ersten Schritt nehmen Sie den Pico im
ausgeschalteten Zustand zur Hand und drücken die BootSel-Taste (siehe Beschriftung auf der Platinenrückseite). Die wird
gehalten und der Pico erst dann (!!) über das USB-Kabel mit dem
Rechner verbunden. Nach dem Verbinden des USB-Kabels kann die Taste BootSel losgelassen werden. Nun öffnet sich im
Filesystem ein Explorer-Fenster mit einem neuen Massenspeicher RPI-RP2. Öffnen Sie jetzt auf dem Rechner den
Download-Ordner und ziehen die uf2-Datei mit der Firmware auf den Massenspeicher RPI-RP2. Sobald die Firmware-Datei auf den
Pico kopiert ist, wird die Firmware ausgeführt und der Massenspeicher wird nicht mehr im Explorerfenster angezeigt.
Damit ist die Programmiersprache MicroPython für die Ansteuerung des Pico-Displays auf dem Raspberry Pi Pico installiert
und die Programmierung kann über Thonny beginnen.
3. Falls bei der ersten Benutzung von Thonny kein Board erkannt wird, muss in den Interpreter-Einstellungen die Port-Auswahl
überprüft werden und ggf. auf MicroPython (Raspberry Pi Pico) eingestellt werden. Klicken Sie dazu ganz unten rechts
auf den 'Button'. Das Fenster sollte jetzt so aussehen:
In der unteren Kommandozeile wird der Controler z.B. mit "MicroPython v1.17 on 2021-12-09; Raspberry Pi Pico with RP2040"
angezeigt.
So, jetzt geht's aber richtig los. Zunächst werden die Module time und math importiert, das Display initialisiert
und einige Variable definiert. Das sehen Sie in den Programmzeilen 1 bis 19. Sie können diese jeweils mit Paste&Copy
übernehmen und in Thonny einfügen oder am Ende der Erklärungen das komplette Programm herunterladen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import time
import math
import picodisplay as display
width = display.get_width()
height = display.get_height()
display_buffer = bytearray(width * height * 2)
display.init(display_buffer)
display.set_backlight(1.0) # Set the backlight to 100%
display.set_led(0,0,0) # LED abschalten
display.set_pen(0,0,0) # Schreibfarbe schwarz setzen
display.clear() # gesamten Bildschirm loeschen
display.set_pen(255,255,255) # Stiftfarbe weiss setzen
display.update() # Puffer an Display uebertragen
a = 1
f1 = 1
f2 = 2
t = 0.25
Achten Sie darauf, dass beim Paste&Copy in Zeile 1 keine Einrückung entsteht, da dies beim Programmstart einen
Syntax Error ergibt.
In den Zeilen 3 bis 7 sehen Sie, wie das Display am Anfang eines jeden Programms initialisiert werden muss. Die Zeilen
9 bis 14 erklären sich durch die Kommentare. Wichtig ist, dass die Übertragung an das Display und damit die Darstellung
immer erst nach dem 'update'-Befehl wie in Zeile 14 geschieht. In den Zeilen 16 bis 19 definiere ich einige Variable,
die später benutzt werden.
Nun wird in den Zeilen 21 bis 45 unsere Funktion zum Zeichnen der Lissajous-Figur definiert. Der Name der Funktion ist bei uns
'draw()' und es werden die Werte der Variable a, f1 und f2 übergeben. Hinweis: Falls Sie die Seite am Smartphone betrachten, kann
es vorkommen, dass die Zeilenlänge zu einem Umbruch führt. Dadurch verschiebt sich die Zeilennummerierung, was aber auf
Paste&Copy keinen Einfluss hat.
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
def draw(a, f1, f2):
if a == 1:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i)+67))
if a == 2:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+math.pi/4)+67))
if a == 3:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+2*math.pi/4)+67))
if a == 4:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+3*math.pi/4)+67))
if a == 5:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+4*math.pi/4)+67))
if a == 6:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+5*math.pi/4)+67))
if a == 7:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+6*math.pi/4)+67))
if a == 8:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+7*math.pi/4)+67))
Achten Sie darauf, bei den If-Abfragen und den For-Schleifen immer die Einrückung von 4 Leerzeichen einzuhalten, wie es die
Syntax von Python verlangt.
Zur Erklärung der Funktion: Es werden hier 8 aufeinanderfolgende Bilder für den Bewegungseffekt erzeugt. Die Variable i läuft immer
von 0 bis 240 (Anzahl der Pixel auf dem Display) in der Schrittweite 3, Die Werte 120 und 67 beziehen sich auf die Mitte des Displays und
der Faktor 45 nutzt die Displayhöhe maximal aus.
Die Position der einzelnen Pixel werden durch math.sin(f1*i) (x-Koordinate) und math.sin(f2*i) (y-Koordinate) bestimmt. In unserem Fall
sind f1=1 und f2=2. Aus der Tabelle bei Wikipedia können sie entnehmen, für welche Frequenzverhältnisse 'schöne'
Figuren entstehen.
Bleibt noch der Hinweis auf die Phasenverschiebung zwischen den einzelnen Bildern mit "+...*math.pi/4". In unserem Fall zwischen 0 und
7 * pi/4 (also 8 Bilder).
Wenn Sie bis hierher alles eingegeben haben und das Programm schon mal starten wollen, seien Sie nicht enttäuscht, denn außer dem
Erlöschen der LED passiert noch nichts weiter. Die Funktion 'draw()' wird ja noch von keiner Stelle des Programms aufgerufen. Das werden
wir jetzt in einer sich immer wiederholenden Schleife tun.
47
48
49
50
51
52
53
54
55
56
while True:
display.set_pen(0,0,0) # Schreibfarbe schwarz setzen
display.clear() # Bildschirm loeschen
display.set_pen(255,255,255) # Schreibfarbe weiss setzen
draw(a, f1, f2)
time.sleep(t)
a = a + 1
if a == 9:
a = 1
display.update()
Die Funktion 'draw(a, f1, f2)' wird 8 mal aufgerufen, dabei wird a jedes mal um eins erhöht und dann wieder auf 1 gesetzt.
Anschließend werden die Pixel aus dem Puffer an das Display übergeben. Mit der kurzen Pause 'time.sleep(t)' können Sie
die Geschwindigkeit der Darstellung variieren.
Speichern Sie das Programm jetzt auf dem Pico oder ihrem Rechner und starten es dann. Wie Sie sehen, hat sich die Mühe gelohnt.
Um die senkrechte Achse dreht sich eine räumlich erscheinende endlose parabelförmige Schleife. Vertauschen Sie die Werte der
Frequenzen f1 und f2, erfolgt die Drehung um die waagerechte Achse. Experimentieren Sie ruhig ein wenig mit den Variablen.
Zum Abschluss dieses kleinen Projektes biete ich noch ein paar Varianten zum direkten Download an.
1. Das obige Programm in der beschriebenen Form: Lissajous-Figur
auf Pi Pico.
2. Das gleiche Programm, aber mit 16 Einzelbildern und Veränderung der Parameter über die Display-Tasten:
Lissajous mit Tastenfunktion.
3. Ein kleiner Spass zum Schluss. Wer hier eine Taste drückt, bringt den Pico zur Explosion. Deshalb habe ich das Programm
bumm genannt.
Ein letzter Hinweis an dieser Stelle. Wenn Sie eines der Programme (gilt für MicroPython) auf dem Pico unter dem Namen
"main.py" abspeichern, startet es immer automatisch bei Stromzufuhr. Sie verlieren jedoch den Zugriff über Thonny. Entweder
löschen Sie dann die Datei später in der Konsole mit Hilfe von 'rshell' oder müssen auf dem Windowsrechner den
Pico wie am Anfang des Beitrages unter 'Los gehts' beschrieben, komplett zurücksetzen. Deshalb ist es sehr ratsam, Programme während
der Experimentierphase nicht nur auf dem Pico, sondern auch auf dem Rechner zu speichern.
Viel Spass und Erfolg beim Ausprobieren.
Zurück
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import time
import math
import picodisplay as display
width = display.get_width()
height = display.get_height()
display_buffer = bytearray(width * height * 2)
display.init(display_buffer)
display.set_backlight(1.0) # Set the backlight to 100%
display.set_led(0,0,0) # LED abschalten
display.set_pen(0,0,0) # Schreibfarbe schwarz setzen
display.clear() # gesamten Bildschirm loeschen
display.set_pen(255,255,255) # Stiftfarbe weiss setzen
display.update() # Puffer an Display uebertragen
a = 1
f1 = 1
f2 = 2
t = 0.25
|
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
def draw(a, f1, f2):
if a == 1:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i)+67))
if a == 2:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+math.pi/4)+67))
if a == 3:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+2*math.pi/4)+67))
if a == 4:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+3*math.pi/4)+67))
if a == 5:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+4*math.pi/4)+67))
if a == 6:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+5*math.pi/4)+67))
if a == 7:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+6*math.pi/4)+67))
if a == 8:
for i in range(0, 240, 3):
display.pixel(int(45* math.sin(f1*i)+120),int(45* math.sin(f2*i+7*math.pi/4)+67))
|
47
48
49
50
51
52
53
54
55
56
|
while True:
display.set_pen(0,0,0) # Schreibfarbe schwarz setzen
display.clear() # Bildschirm loeschen
display.set_pen(255,255,255) # Schreibfarbe weiss setzen
draw(a, f1, f2)
time.sleep(t)
a = a + 1
if a == 9:
a = 1
display.update()
|
Viel Spass und Erfolg beim Ausprobieren.
Zurück