LCD Shield¶
LCD Shield 是一款 1.8 吋 128x160 的 SPI TFT 顯示器,可直接從 OpenMV Cam 顯示即時影格或除錯資訊。非常適合戶外機器人與獨立部署應用。
完整的資料手冊、照片與訂購資訊請參閱 LCD Shield 產品頁面。
特色亮點¶
1.8 吋 TFT LCD,128x160,RGB565
可控制的背光
接腳配置¶
接腳參考¶
接腳 |
功能 |
|---|---|
P0 |
SPI MOSI — 輸出資料至 LCD |
P2 |
SPI 時脈 |
P3 |
SPI 晶片選擇 |
P6 |
背光控制 |
P7 |
LCD 重置 |
P8 |
SPI 命令(資料/命令選擇) |
3.3V 電源軌 |
為 LCD 供電 |
GND 電源軌 |
共同接地 |
備註
切斷擴充板背面的焊接走線即可將 P6 與背光斷開;背光此後將永久開啟。
使用方式¶
將相機影格串流至 128×160 SPI 顯示器:
import csi
import display
import image
import time
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize((128, 160))
lcd = display.SPIDisplay()
clock = time.clock()
while True:
clock.tick()
lcd.write(csi0.snapshot(), hint=image.CENTER | image.SCALE_ASPECT_KEEP)
print(clock.fps())
透過 PWM 驅動背光以調整亮度。將 machine.PWM 包裝在一個小型背光控制器類別中,並透過其 backlight 引數傳遞給 display.SPIDisplay — 每當 SPIDisplay 需要更新亮度位準時,便會對該物件呼叫 backlight(value):
import csi
import time
import display
import image
from machine import Pin, PWM
class PWMBacklight:
"""Drives a backlight pin with machine.PWM (0–100 %)."""
def __init__(self, pin, frequency=200):
self._pwm = PWM(Pin(pin), freq=frequency, duty_u16=0)
def backlight(self, value):
self._pwm.duty_u16(int(value * 65535 / 100))
def deinit(self):
self._pwm.deinit()
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize((128, 160))
lcd = display.SPIDisplay(backlight=PWMBacklight("P6"))
lcd.backlight(50) # 0–100
clock = time.clock()
while True:
clock.tick()
lcd.write(csi0.snapshot(), hint=image.CENTER | image.SCALE_ASPECT_KEEP)
print(clock.fps())