Wenn Sie das Display in Betrieb nehmen, müssen Sie zwischen Anwendungen im Hochformat (portrait format) bzw. Querformat (Landscape format)
unterscheiden. In der Bildbox sind dazu je zwei Beispiele abgebildet.




Bildbox 1 (klick hier)
Als Erstes nehme ich das Display im Querformat (d.h. Breite 280, Höhe 240 Pixel) in Betrieb.
Los gehts
Display:
Das 1,69 Zoll Farbdisplay mit 240 x 280 Pixeln bei einer Farbtiefe von 16 Bit arbeitet mit einem ST7789 Treiber. Folgende GPIO's werden genutzt:
DC - GPIO 8
Reset - GPIO 9
CS - GPIO 10
SCK - GPIO 18
MOSI - GPIO 19
Backlight - GPIO 26
In CircuitPython kann dann das Display so initialisiert werden:
Zunächst installieren Sie die aktuelle Firmware von 'CircuitPython' auf dem PicoBoy. Für Anfänger gibt es
hier eine Anleitung dazu (ab Los gehts).
Außerdem downloaden Sie das
adafruit-libraries-bundle (passend zur
Firmware-Version!) und entpacken es auf Ihrem Rechner. Aus dem Ordner 'lib' kopieren Sie 'adafruit_display_text
' und den Treiber 'adafruit_st7789_mpy' (ziemlich weit unten) in den 'lib-Ordner' auf dem
PicoBoy Board.
Das müssen Sie nur beim ersten Mal tun und später ggf. nur neu hinzukommende Treiber ergänzen. Im Programm unten sehen Sie, dass die Bibliotheken
in den Zeilen 5 und 6 importiert werden. Sie können den Quellcode aus dem unteren Kasten jetzt in die Thonny IDE kopieren, speichern und starten. Wenn alles passt,
'sagt' das Display "it works".
1 import board 2 import busio 3 import displayio 4 import terminalio 5 from adafruit_st7789 import ST7789 6 from adafruit_display_text import label 7 8 # 1,69 Zoll 240x280 Pixel ST7789 Display 9 dc=board.GP8 10 reset=board.GP9 11 cs=board.GP10 12 sck=board.GP18 13 mosi=board.GP19 14 bl=board.GP26 15 # Release any resources currently in use for the displays 16 displayio.release_displays() 17 spi = busio.SPI(sck, mosi) 18 display_bus = displayio.FourWire(spi, command=dc, chip_select=cs, reset=reset) 19 display = ST7789(display_bus, rotation=270, width=280, height=240, backlight_pin=bl, rowstart=20, colstart=0) 20 display.brightness = 1 21 # set the Group class root 22 root = displayio.Group() 23 24 ## Draw a label 25 updating_label1 = label.Label(font=terminalio.FONT, scale=3, color=0xffff00, line_spacing=1) 26 updating_label1.anchor_point = (0, 0) 27 updating_label1.anchored_position = (45, 100) 28 updating_label1.text ="it works" 29 # append the label to the Group class 30 root.append(updating_label1) 31 32 # Switches to displaying the given group of layers 33 display.root_group = root
Sie sehen in Zeile 19 im Beispiel, dass 'rotation= 270, width=280, height=240' steht,
wobei rotation = xx für die Drehung sorgt. Es ist immer in 90-Grad Schritten wirksam. Bei
Hochformat wäre z.B. 'rotation=0, width=240, height=280' einzutragen.
Zeile 20 steuert mit display.brightness = 1 die Helligkeit der Hintergrundbeleuchtung. Hier können
die Werte zwischen 0 und 1 liegen. Das kann z.B. für Tag- und Nachtbeleuchtung oder zum 'Stromsparen' genutzt werden.
Viel Spass und Erfolg beim Ausprobieren.
Viel Spass und Erfolg beim Ausprobieren.