kopia lustrzana https://github.com/russhughes/st7789py_mpy
54 wiersze
1.3 KiB
Python
54 wiersze
1.3 KiB
Python
"""
|
|
feathers.py
|
|
|
|
Smoothly scroll mirrored rainbow colored random curves across the display.
|
|
|
|
"""
|
|
|
|
import random
|
|
import math
|
|
import time
|
|
from machine import Pin, SPI
|
|
import st7789py as st7789
|
|
import vga1_8x8 as font
|
|
|
|
|
|
def center_on(display, font, text, y, fg, bg):
|
|
'''
|
|
Center the text on the display
|
|
'''
|
|
x = (display.width - len(text) * font.WIDTH) // 2
|
|
display.text(font, text, x, y, fg, bg)
|
|
|
|
def main():
|
|
'''
|
|
The big show!
|
|
'''
|
|
#enable display and clear screen
|
|
|
|
spi = SPI(2, baudrate=40000000, sck=Pin(17), mosi=Pin(21), miso=None)
|
|
tft = st7789.ST7789(
|
|
spi,
|
|
128,
|
|
128,
|
|
reset=Pin(34, Pin.OUT),
|
|
cs=Pin(15, Pin.OUT),
|
|
dc=Pin(33, Pin.OUT),
|
|
backlight=Pin(16, Pin.OUT),
|
|
rotation=1,
|
|
color_order=st7789.BGR)
|
|
|
|
height = tft.height # height of display in pixels
|
|
width = tft.width # width if display in pixels
|
|
|
|
while True:
|
|
for rotation in range(4):
|
|
tft.rotation(rotation)
|
|
tft.fill(st7789.BLACK)
|
|
tft.rect(0, 0, width, height, st7789.RED)
|
|
center_on(tft, font, "Rotation", height // 2 - font.HEIGHT, st7789.WHITE, st7789.BLACK)
|
|
center_on(tft, font, str(rotation), height // 2 + font.HEIGHT, st7789.WHITE, st7789.BLACK)
|
|
time.sleep(1)
|
|
|
|
main()
|