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