LCD Shield¶
LCD Shield adalah TFT SPI 1,8 inci 128x160 untuk menampilkan bingkai langsung atau informasi debugging langsung dari OpenMV Cam. Ideal untuk robotika lapangan dan deployment mandiri.
Untuk datasheet lengkap, foto, dan pemesanan lihat halaman produk LCD Shield.
Sorotan¶
LCD TFT 1,8 inci, 128x160, RGB565
Backlight yang dapat dikontrol
Pinout¶
Referensi pin¶
Pin |
Fungsi |
|---|---|
P0 |
SPI MOSI — data keluar ke LCD |
P2 |
Clock SPI |
P3 |
Chip select SPI |
P6 |
Kontrol backlight |
P7 |
Reset LCD |
P8 |
Perintah SPI (pemilih data/perintah) |
Rail 3.3V |
Memberi daya pada LCD |
Rail GND |
Ground bersama |
Catatan
Potong jalur solder pada bagian belakang shield untuk memutuskan P6 dari backlight; backlight kemudian menyala secara permanen.
Penggunaan¶
Streaming bingkai kamera ke layar SPI 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())
Kendalikan backlight melalui PWM untuk kecerahan yang dapat disesuaikan. Bungkus machine.PWM dalam kelas kontroler backlight kecil dan teruskan ke display.SPIDisplay melalui argumen backlight — SPIDisplay memanggil backlight(value) pada objek tersebut setiap kali perlu memperbarui levelnya:
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())