Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

Обзор IPS дисплея 80х160 точек с контроллером ST7735

Герой сегодняшнего обзора - дисплей диагональю 0,96" (в продаже имеются дисплеи бОльших размеров) и разрешением 80х160 точек. Не густо, конечно, зато производитель (дядюшка Ляо инкорпорейтед) обещает нам настоящую IPS матрицу, что мы и проверим. Стоимость такого дисплея несколько выше, чем у TFT и на момент написания статьи составляет примерно 210р (ссылка)

Для начала несколько фото виновника торжества.

С одной стороны платы находится сам дисплей, а с другой небольшая кучка элементов. Все резисторы и транзистор отвечают за управление подсветкой, а конденсатор установлен для фильтрации питания дисплея. SMD компоненты напаяны неплохо и после пайки плата явно подвергалась мойке, а вот шлейф дисплея запаян криво и флюс никто не думал отмывать. Ну да ладно, на работу это не повлияет, главное, что все контакты пропаяны.

Сам дисплей имеет размеры 28.3x13.3 мм с рабочей областью 24x13 мм и устанавливается на плату размером 30x24 мм. При этом шлейф дисплея имеет шаг 0.5 мм, что позволяет произвести самостоятельную пайку в том случае, когда плата не нужна и делается упор на миниатюризацию конструкции (в продаже свободно можно найти дисплей отдельно от платы). Тем более, что обвязки требуется минимум.

Первое, что бросается в глаза при осмотре модуля - толщина самого дисплея, всего 1.8 мм. 

Что очень неплохо, т. к. толщина обычных TFT дисплеев, в среднем, 3-4 мм. Внешний осмотр на этом можно заканчивать, ничего нового он уже не принесет. все вроде бы неплохо (не считая не очень аккуратной пайки шлейфа), теперь посмотрим на работу дисплея. Для подключения дисплея на плате предусмотрено 8 выводов:

  1. GND
  2. Vcc - питание 3,3В
  3. SCL - CLK вывод SPI
  4. SDI - MOSI вывод SPI
  5. RES - RESET
  6. DC - выбор данные/команды
  7. CS - Chip Select вывод SPI
  8. BLK - управление подсветкой. При соединении с GND подсветка гаснет. При желании можно подать ШИМ сигнал и регулировать яркость. Транзистор для этого установлен на плате модуля. 

Управляет работой дисплея контроллер ST7735, ровно тот же самый, что и вот в этом дисплее, а значит можно использовать его библиотеку, просто изменив в ней размеры рабочей области. Подключать традиционно буду к STM32F103.

После подачи питания можно увидеть еще одно явное отличие. До инициализации дисплей залит черным, в то время, как TFT дисплеи залиты белым (да, у меня модуль стоит вверх ногами, если судить по надписям на плате, но так было гораздо удобнее проводить фотосъемку. Перевернуть изображение можно простым редактированием строки в инициализации дисплея). 

Пробуем инициализировать дисплей и вуаля:

Значит подключен верно и контроллер действительно ST7735. А вот заливка цветом преподнесла сюрприз:

Путем экспериментов было выяснено, что рабочая область начинается не с нулевой координаты по оси Y, а смещена на 23 точки за пределы дисплея и только по одной координате. После внесения данной поправки в код библиотеки все начинает работать корректно:

Подсветка довольно равномерная по всей площади дисплея. Можно лишь заметить небольшое более яркое пятно в том месте, где установлен светодиод подсветки, да и то на белом фоне и если хорошо приглядеться.

Пробуем вывести текст:

Цвета сочные и яркие, дисплей легко читаем даже при ярком освещении. Разрешение позволяет читать даже мелкий текст высотой 8 пикселей.

Изображения тоже выглядят вполне неплохо (в реальности пикселизация так не видна, разве что будете рассматривать дисплей в упор):

Осталось проверить одну из основных "фишек" IPS матрицы - углы обзора. Поехали:

На мой взгляд все просто замечательно, цвета не искажаются, яркость не падает. Очевидно, продавец не сильно обманывал, утверждая наличие IPS матрицы. Эта самая матрица здесь вполне достойна внимания.

Подводя итоги, хочу отметить, что дисплей действительно оказался весьма неплох. Яркие цвета, хорошая видимость при ярком освещении, широкие углы обзора, небольшая толщина. Основной недостаток - более высокая стоимость по сравнению с TFT дисплеями. На этом у меня все, библиотеку, отредактированная для работы с данным дисплеем, прикрепляю.

Прикрепленные файлы:

Теги:

Опубликована: 0 1
Я собрал 0 2
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 2 чел.

Комментарии (8) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
Евгений #
Спасибо за обзор и библиотеку без HALовского мусора! У меня в KEIL пришлось добавить строку #include "stdint.h" в файле LCD.h иначе ругался на неизвестные типы данных.
Ответить
0

[Автор]
BARS_ #
пришлось добавить строку #include "stdint.h"
У меня тоже Keil, HAL принципиально не использую. Про библиотеку типов данных забыл написать, спасибо за комментарий)
Ответить
0
Анатолий #
Путем экспериментов было выяснено, что рабочая область начинается не с нулевой координаты по оси Y, а смещена на 23 точки за пределы дисплея и только по одной координате. После внесения данной поправки в код библиотеки все начинает работать корректно
Встретился с точно такой же проблемой, но не могу найти команду, которой можно поднять рабочую область. Можете подсказать?
Ответить
0

[Автор]
BARS_ #
Ничего поднимать не требуется. Просто работу надо начинать не с нулевых координат, а со смещения и все. Т.е. нулевая точка имеет координаты не X=0, Y=0, а X=0, Y=23.
Ответить
0
Алексей #
Спасибо за непереносимую библиотеку с малоинформативными комментариями, в корявой кодировке, запакованную проприетарным архиватором и рассчитанную на сборку в дорогущей, проприетарной же среде!
Ответить
0

[Автор]
BARS_ #
Ляпнул лишь бы ляпнуть? Во-первых, в каком месте в ней корявая кодировка и какие еще комментарии там нужны? Во-вторых, winrar БЕСПЛАТНЫЙ. Единственное ограничение - сообщение при запуске. Не нравится - открой архив в 7zip. В-третьих, библиотека - обычный *.c файл, куда хочешь, туда и прикручивай, к IDE он привязан не более, чем к блокноту. Ну и в-четвертых, KEIL опять же БЕСПЛАТНЫЙ. Ограничение лишь по объему кода.
Ответить
0
Максим #
Не завелась у меня эта библиотека, так же кейл использую. Вожусь весь день, результат нулевой.
Проблема - не инициализируется дисплей, все время черный. Если слать в экран LCD_Fill(i); аi в цикле for перебирать, то рано или поздно экран проходит инициализацию - белый экран с цветными точками. в библиотеке управляющие выходы подключил к порту С, так по миганию светодиода можно понять какая функция выполняется. Дебагером прошел, спи работает, в регистры данные заносятся исправно, да и светодиодом в выводы спи потыкал, при передаче данных яркость его меняется. Можете готовый проект для кейла сбросить, любой, там разберусь, я не пойму в каком месте я туплю. #define LCD_CS_L GPIOC->ODR &= ~(1 ODR &= ~(1 ODR &= ~(1 ODR |= (1 ODR |= (1 ODR |= (1 CRH |= (0x00
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Бокс для хранения компонентов Лазерный модуль 650нм 5мВт
вверх