첫 Raspberry Pi Pico ㉛ Circuitpython으로 TFT 디스플레이에 표시
13698 단어 RaspberryPiRaspberryPiPicoSPI
TFT 디스플레이 ST7789 이용
Adafruit 으로부터 입수한 SPI 접속의 TFT 디스플레이를 이용합니다. 320x240 도트에서 백라이트는 기본적으로 ON입니다.
연결
ST7789 보드 단자
Pico 터미널 (GPIO)
이름
BackLight
-
-
SD CS
-
-
D/C
GP7
GP7
RESET
GP6
GP6
LCD CS
GP5
GP5
MOSI
GP3
SPI0 TX
미소
-
-
SCK
GP2
SPI0 SCK
GND
GND
GND
3.3
-
-
Vin
3.3V
3V3(OUT)
프로그램
Helvetica-Bold-16.bdf는 여기에서 다운로드 다음 CIRCUTIPPY 드라이브의 루트에 복사합니다.
텍스트의 표시로 좁혀지고 있습니다. CPU 온도를 text_area2로 표시합니다.
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT
from board import *
import busio
import terminalio
import displayio
from adafruit_display_text import label
from adafruit_bitmap_font import bitmap_font
from adafruit_st7789 import ST7789
import microcontroller
import time
displayio.release_displays() # Release any resources
spi = busio.SPI(clock=GP2, MOSI=GP3) # SPI0BUS PIN
display_bus = displayio.FourWire(
spi, command=GP7, chip_select=GP5, reset=GP6) # other PIN
display = ST7789(display_bus, width=240, height=320)
splash = displayio.Group() # Make the display context
display.show(splash)
# Draw a label=text
text_group = displayio.Group(scale=4, x=20, y=110)
text = "Temp"
font = bitmap_font.load_font("/Helvetica-Bold-16.bdf")
label.anchor_point = (0.0, 0.0)
label.anchored_position = (0, 0)
text_area = label.Label(font, text=text, color=0xFF00FF)
text_group.append(text_area) # Subgroup for text
splash.append(text_group)
text_group = displayio.Group(scale=2, x=100, y=10)
text = 'start'
text_area2 = label.Label(terminalio.FONT, text=text, color=0xFFFF00)
text_group.append(text_area2) # Subgroup for text
splash.append(text_group)
RANGE = 66
while True:
for i in range(1,RANGE):
text_area2.text = str(round(microcontroller.cpu.temperature,1)) + 'C'
text_area2.y = i
text_area2.x = int(i/2)
for i in range(1,RANGE):
text_area2.text = str(round(microcontroller.cpu.temperature,1)) + 'C'
text_area2.y = RANGE+i
text_area2.x = RANGE-int(i/2+RANGE/2)
for i in range(RANGE,1,-1):
text_area2.text = str(round(microcontroller.cpu.temperature,1)) + 'C'
text_area2.y = RANGE+i
text_area2.x = int(i/2-RANGE + RANGE/2)
for i in range(1,RANGE):
text_area2.text = str(round(microcontroller.cpu.temperature,1)) + 'C'
text_area2.y = RANGE-i
text_area2.x = int(i/2 - RANGE/2)
실행중인 모습입니다. 두 개의 텍스트 영역은 스프라이트 화면이므로 독립적입니다. 온도를 표시하고 있는 부분을, 벽에 부딪치면 코스를 바꾸는 형태로 움직이고 있습니다.
Reference
이 문제에 관하여(첫 Raspberry Pi Pico ㉛ Circuitpython으로 TFT 디스플레이에 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jamjam/items/b31ff80468ed7b0caba5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)