LCD Shield¶
LCD Shield là màn hình TFT SPI 1,8 inch 128x160 để hiển thị khung hình trực tiếp hoặc thông tin gỡ lỗi ngay từ OpenMV Cam. Lý tưởng cho robot hoạt động ngoài thực địa và các triển khai độc lập.
Để xem datasheet đầy đủ, hình ảnh và đặt hàng, hãy truy cập trang sản phẩm LCD Shield.
Tính năng nổi bật¶
TFT LCD 1,8 inch, 128x160, RGB565
Đèn nền có thể điều chỉnh
Sơ đồ chân¶
Tham chiếu chân (pin)¶
Chân (pin) |
Chức năng |
|---|---|
P0 |
SPI MOSI — đầu ra dữ liệu đến LCD |
P2 |
Xung nhịp SPI |
P3 |
Chip select SPI |
P6 |
Điều khiển đèn nền |
P7 |
Reset LCD |
P8 |
Lệnh SPI (chọn dữ liệu/lệnh) |
3.3V rail |
Cấp nguồn cho LCD |
GND rail |
Đất chung |
Ghi chú
Cắt dây hàn ở mặt sau của shield để ngắt kết nối P6 khỏi đèn nền; khi đó đèn nền luôn sáng.
Sử dụng¶
Truyền trực tiếp các khung hình camera lên màn hình 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())
Điều khiển đèn nền qua PWM để điều chỉnh độ sáng. Bọc machine.PWM trong một lớp điều khiển đèn nền nhỏ và truyền nó vào display.SPIDisplay thông qua tham số backlight — SPIDisplay gọi backlight(value) trên đối tượng bất cứ khi nào cần cập nhật mức độ:
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())