LCD Shield¶
LCD Shield je 1,8palcový SPI TFT displej 128x160 pro zobrazování živých snímků nebo ladicích informací přímo z OpenMV Cam. Ideální pro terénní robotiku a samostatná nasazení.
Kompletní katalogový list, fotografie a možnost objednání najdete na produktové stránce LCD Shield.
Přehled¶
1,8palcový TFT LCD, 128x160, RGB565
Ovladatelné podsvícení
Rozložení pinů¶
Reference pinů¶
Pin |
Funkce |
|---|---|
P0 |
SPI MOSI — výstup dat do LCD |
P2 |
Hodiny SPI |
P3 |
Výběr čipu SPI |
P6 |
Řízení podsvícení |
P7 |
Reset LCD |
P8 |
Příkaz SPI (výběr data / příkaz) |
Větev 3,3V |
Napájí LCD |
Větev GND |
Společná zem |
Poznámka
Přerušením pájecí cesty na zadní straně shieldu odpojíte P6 od podsvícení; podsvícení je pak trvale zapnuté.
Použití¶
Streamujte snímky kamery na SPI displej 128×160:
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())
Pohánějte podsvícení přes PWM pro nastavitelný jas. Zabalte machine.PWM do malé třídy řadiče podsvícení a předejte ji do display.SPIDisplay přes její argument backlight — SPIDisplay zavolá na objektu backlight(value), kdykoli potřebuje aktualizovat úroveň:
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())