Waveshare RP2040-LCD-0.96

Waveshare · RP2040-LCD-0.96; LCD 160 × 80, без штырей

RP2040 с цветным экраном и питанием от 1S

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает RP2040-LCD-0.96; LCD 160 × 80, без штырей

RP2040-LCD-0.96 объединяет контроллер и цветной IPS-экран в форм-факторе, близком к Pico. Для мобильного проекта предусмотрен отдельный аккумуляторный разъём и зарядный контроллер; наличие зарядки подтверждается схемой ETA6096, а не внешним видом USB-C.

Краевая распиновка имеет 26 GPIO, но GP8–12 используются LCD, а GP25 — подсветкой. Их нельзя считать свободными при работающем экране. Совместимость с расширениями Pico нужно проверять по занятым контактам и механике компонентов снизу.

Использовать только подходящий защищённый одноэлементный Li-ion/LiPo аккумулятор номиналом 3,7 В. Защита от глубокого разряда на плате отсутствует. В опубликованной схеме заряд обозначен как 1 А, поэтому сам аккумулятор должен допускать этот ток; наличие защитной платы не делает малый элемент пригодным. Не подходят 2S, LiFePO4 и неперезаряжаемые элементы.

В документах производителя различаются обозначения DC-DC (TPS63000 в схеме, MP28164 на странице товара). Это не основание переносить токовые пределы одной версии на другую: сверяйте маркировку и схему конкретной платы перед батарейным применением.

Характеристики

Микроконтроллер
Raspberry Pi RP2040; 2 ядра Arm Cortex-M0+
Максимальная частота
133 МГц
Flash
2 МБ
SRAM
264 КБ
Внешние GPIO
26
Логика GPIO
3.3 В
Ревизия
Номер аппаратной ревизии не подтверждён. Карточка опирается на оригинальную схему RP2040-LCD-0.96; различие DC-DC отмечено в обзоре.
Дисплей
IPS LCD 0,96″; 160 × 80; ST7735S; SPI, 65K цветов
GPIO и занятые сигналы
26 GPIO на краю; GP8–12 разделены с LCD. GP25 — подсветка, GP29 — контроль VSYS.
Аналоговые входы
3 внешних 12-битных ADC: GP26–28
Аккумулятор и зарядка
1S 3,7 В Li-ion/LiPo; ETA6096. В опубликованной схеме R22=160 кОм подписан как 1 А; ток конкретной ревизии проверить.
Защита аккумулятора
Нет встроенной защиты от глубокого разряда; нужен защищённый элемент/внешняя защита и достаточный допустимый зарядный ток
Интерфейсы
2 × UART, 2 × I²C, 2 × SPI в RP2040; один SPI занят LCD; USB 1.1, SWD; PWM и PIO
Беспроводная связь
Нет
Интерфейс
UART, I²C, SPI
Питание модуля
USB-C: 5 В; отдельный аккумуляторный вход для 1S Li-ion/LiPo 3,7 В nominal / 4,2 В fully charged. GPIO: 3,3 В. Полярность по схеме P1: контакт1 VBAT+, контакт2 GND; это нумерация схемы, не порядок при взгляде на разъём. Перед подключением сверить маркировку платы и кабель измерением. Шаг разъёма 1,25 мм (Waveshare MX1.25 / «PH1.25-2P»), не JST-PH 2 мм.

ПРАКТИКА

Подключение

Схема подключения
Контакт модуляКонтакт платыНазначение
USB-CUSB хостаДля примера питание только от USB; аккумулятор не нужен.
LCD DC / CS / SCK / MOSI / RSTGP8 / GP9 / GP10 / GP11 / GP12Встроенный ST7735S, SPI1; не подключать конфликтующую периферию.
LCD BLGP25Подсветка именно этой платы. В общем Waveshare Pico_code пример использует GP13 для отдельного Pico-LCD; здесь переопределён на GP25.
P1 pin1 / pin2VBAT+ / GNDНомера из оригинальной схемы; не обозначение слева/справа. Сверить полярность на экземпляре и кабеле, не по цвету проводов.
SWD H1 pin1 / pin2 / pin3SWCLK / GND / SWDIOАппаратная отладка RP2040; нумерация схемы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать Waveshare RP2040-LCD-0.96 в мой проект. Сначала уточни задачу, точное исполнение платы и среду. Разделяй питание платы и уровни GPIO. Проверь занятые встроенной периферией выводы. Дай подключения, зависимости и минимальный пример с обработкой ошибок. Не обещай совместимость, компиляцию или испытания без проверки.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Среда
Thonny + MicroPython target WAVESHARE_RP2040_LCD_0_96
Драйвер
Waveshare LCD_0inch96

Файл из официального Pico_code.7z переименовать pico_lcd_0_96.py.

LCD
SPI1: SCK10, MOSI11, DC8, CS9, RST12
Подсветка
GP25; PWM 1 kHz

Подкласс обязателен: исходник архива рассчитан на отдельный Pico-LCD-0.96 с GP13.

Альтернативы
Pico SDK / CircuitPython для точной модели

Текст на встроенном LCD, MicroPython

python
from machine import Pin, PWM
from pico_lcd_0_96 import LCD_0inch96

class BoardLCD(LCD_0inch96):
    def backlight(self, value):
        # RP2040-LCD-0.96 uses GP25, unlike the Pico add-on.
        if not hasattr(self, "bl_pwm"):
            self.bl_pwm = PWM(Pin(25), freq=1000)
        value = max(0, min(1000, value))
        self.bl_pwm.duty_u16(value * 65535 // 1000)

lcd = BoardLCD()
lcd.backlight(200)
lcd.fill(0x0000)
lcd.text("SLDV LAB", 8, 8, 0xFFFF)
lcd.display()

Полный main.py приложения плюс официальный драйвер. Из Waveshare Pico_code.7z взять Python/Pico-LCD-0.96/pico-lcd-0.96.py и скопировать на плату как pico_lcd_0_96.py; встроенный demo под if __name__ не запускается при import. Подкласс исправляет для этой платы GP13→GP25 и ограничивает duty_u16 до65535. API MicroPython1.26.0, класс и display() проверены по исходнику архива; компиляция и аппаратный запуск не выполнялись.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты