LCD Shield¶
LCD Shield on 1,8 tuuman 128x160 SPI TFT live-kehysten tai vianjäljitystietojen näyttämiseen suoraan OpenMV Cam -kamerasta. Ihanteellinen kenttärobotiikkaan ja itsenäisiin asennuksiin.
Täydellisen datalehden, valokuvat ja tilaustiedot löydät LCD Shield -tuotesivulta.
Kohokohdat¶
1,8 tuuman TFT LCD, 128x160, RGB565
Ohjattava taustavalo
Nastat¶
Nastaviite¶
Nasta |
Toiminto |
|---|---|
P0 |
SPI MOSI — datalähtö LCD:lle |
P2 |
SPI-kello |
P3 |
SPI-piirin valinta |
P6 |
Taustavalon ohjaus |
P7 |
LCD:n nollaus |
P8 |
SPI-komento (data-/komentovalinta) |
3,3 V:n kisko |
Syöttää LCD:n virran |
GND-kisko |
Yhteinen maa |
Muista
Katkaise suojuksen takana oleva juotosvana irrottaaksesi P6:n taustavalosta; taustavalo on tällöin pysyvästi päällä.
Käyttö¶
Suoratoista kamerakehyksiä 128×160 SPI-näytölle:
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())
Ohjaa taustavaloa PWM:n kautta säädettävää kirkkautta varten. Kääri machine.PWM pieneen taustavalon ohjainluokkaan ja välitä se display.SPIDisplay -luokalle sen backlight -argumentin kautta — SPIDisplay kutsuu backlight(value) -metodia oliossa aina, kun sen täytyy päivittää tasoa:
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())