LCD Shield

LCD Shield, canlı çerçeveleri veya hata ayıklama bilgilerini doğrudan OpenMV Cam’den göstermek için 1.8 inçlik 128x160’lık bir SPI TFT’dir. Saha robotiği ve bağımsız dağıtımlar için idealdir.

LCD Shield

Tam veri sayfası, fotoğraflar ve sipariş bilgileri için LCD Shield ürün sayfasına bakın.

Öne Çıkanlar

  • 1.8 inç TFT LCD, 128x160, RGB565

  • Kontrol edilebilir arka aydınlatma

Pin Düzeni

LCD Shield Pin Düzeni

Pin referansı

Pin

İşlev

P0

SPI MOSI — LCD’ye veri çıkışı

P2

SPI saat sinyali

P3

SPI yonga seçimi

P6

Arka aydınlatma kontrolü

P7

LCD sıfırlama

P8

SPI komut (veri / komut seçimi)

3.3V hattı

LCD’yi besler

GND hattı

Ortak toprak

Not

P6’yı arka aydınlatmadan ayırmak için kalkanın arkasındaki lehim izini kesin; arka aydınlatma o zaman kalıcı olarak açık kalır.

Kullanım

Kamera çerçevelerini 128×160 SPI ekrana aktarın:

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())

Ayarlanabilir parlaklık için arka aydınlatmayı PWM aracılığıyla sürün. machine.PWM‘i küçük bir arka aydınlatma denetleyici sınıfına sarın ve backlight argümanı aracılığıyla display.SPIDisplay‘e iletin — SPIDisplay, seviyeyi güncellemesi gerektiğinde nesne üzerinde backlight(value) çağrısını yapar:

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())