Какая матрица лучше: IPS или TN-TFT? Характеристики TFT LCD дисплеев Значит tft.

Изображение формируется с помощью отдельных элементов, как правило, через систему развёртки. Простые приборы (электронные часы , телефоны, плееры , термометры и пр.) могут иметь монохромный или 2-5 цветный дисплей . Многоцветное изображение формируется с помощью 2008) в большинстве настольных мониторов на основе TN- (и некоторых *VA) матриц, а также во всех дисплеях ноутбуков используются матрицы с 18-битным цветом (6 бит на канал), 24-битность эмулируется мерцанием с дизерингом .

Устройство ЖК-монитора

Субпиксел цветного ЖК-дисплея

Каждый пиксел ЖК-дисплея состоит из слоя молекул между двумя прозрачными электродами , и двух поляризационных фильтров , плоскости поляризации которых (как правило) перпендикулярны. В отсутствие жидких кристаллов свет, пропускаемый первым фильтром, практически полностью блокируется вторым.

Поверхность электродов, контактирующая с жидкими кристаллами, специально обработана для изначальной ориентации молекул в одном направлении. В TN-матрице эти направления взаимно перпендикулярны , поэтому молекулы в отсутствие напряжения выстраиваются в винтовую структуру. Эта структура преломляет свет таким образом, что до второго фильтра плоскость его поляризации поворачивается, и через него свет проходит уже без потерь. Если не считать поглощения первым фильтром половины неполяризованного света - ячейку можно считать прозрачной. Если же к электродам приложено напряжение - молекулы стремятся выстроиться в направлении поля , что искажает винтовую структуру. При этом силы упругости противодействуют этому, и при отключении напряжения молекулы возвращаются в исходное положение. При достаточной величине поля практически все молекулы становятся параллельны, что приводит к непрозрачности структуры. Варьируя напряжение , можно управлять степенью прозрачности. Если постоянное напряжение приложено в течении долгого времени - жидкокристаллическая структура может деградировать из-за миграции ионов. Для решения этой проблемы применяется переменный ток , или изменение полярности поля при каждой адресации ячейки (непрозрачность структуры не зависит от полярности поля). Во всей матрице можно управлять каждой из ячеек индивидуально, но при увеличении их количества это становится трудновыполнимо, так как растёт число требуемых электродов. Поэтому практически везде применяется адресация по строкам и столбцам. Проходящий через ячейки свет может быть естественным - отражённым от подложки(в ЖК-дисплеях без подсветки). Но чаще применяют , кроме независимости от внешнего освещения это также стабилизирует свойства полученного изображения. Таким образом полноценный ЖК-монитор состоит из электроники, обрабатывающей входной видеосигнал, ЖК-матрицы, модуля подсветки, блока питания и корпуса. Именно совокупность этих составляющих определяет свойства монитора в целом, хотя некоторые характеристики важнее других.

Технические характеристики ЖК-монитора

Важнейшие характеристики ЖК-мониторов:

  • Разрешение : Горизонтальный и вертикальный размеры, выраженные в пикселах . В отличие от ЭЛТ-мониторов, ЖК имеют одно, «родное», физическое разрешение, остальные достигаются интерполяцией .

Фрагмент матрицы ЖК монитора (0,78х0,78 мм), увеличеный в 46 раз.

  • Размер точки: расстояние между центрами соседних пикселов. Непосредственно связан с физическим разрешением.
  • Соотношение сторон экрана (формат): Отношение ширины к высоте, например: 5:4, 4:3, 5:3, 8:5, 16:9, 16:10.
  • Видимая диагональ: размер самой панели, измеренный по диагонали. Площадь дисплеев зависит также от формата: монитор с форматом 4:3 имеет большую площадь, чем с форматом 16:9 при одинаковой диагонали.
  • Контрастность : отношение яркостей самой светлой и самой тёмной точек. В некоторых мониторах используется адаптивный уровень подсветки с использованием дополнительных ламп, приведенная для них цифра контрастности (так называемая динамическая) не относится к статическому изображению.
  • Яркость : количество света, излучаемое дисплеем, обычно измеряется в канделах на квадратный метр.
  • Время отклика : минимальное время, необходимое пикселу для изменения своей яркости. Методы измерения неоднозначны.
  • Угол обзора: угол, при котором падение контраста достигает заданного, для разных типов матриц и разными производителями вычисляется по-разному, и часто не подлежит сравнению.
  • Тип матрицы: технология, по которой изготовлен ЖК-дисплей.
  • Входы: (напр, DVI , HDMI и пр.).

Технологии

Часы с ЖКИ-дисплеем

Жидкокристаллические мониторы были разработаны в 1963 году в исследовательском центре Давида Сарнова (David Sarnoff) компании RCA, Принстон, штат Нью-Джерси.

Основные технологии при изготовлении ЖК дисплеев: TN+film, IPS и MVA. Различаются эти технологии геометрией поверхностей, полимера, управляющей пластины и фронтального электрода . Большое значение имеют чистота и тип полимера со свойствами жидких кристаллов, примененный в конкретных разработках.

Время отклика ЖК мониторов, сконструированных по технологии SXRD (англ. Silicon X-tal Reflective Display - кремниевая отражающая жидкокристаллическая матрица), уменьшено до 5 мс. Компании Sony, Sharp и Philips совместно разработали технологию PALC (англ. Plasma Addressed Liquid Crystal - плазменное управление жидкими кристаллами), которая соединила в себе преимущества LCD (яркость и сочность цветов, контрастность) и плазменных панелей (большие углы видимости по горизонту, H, и вертикали, V, высокую скорость обновления). В качестве регулятора яркости в этих дисплеях используются газоразрядные плазменные ячейки, а для цветовой фильтрации применяется ЖК-матрица. Технология PALC позволяет адресовать каждый пиксель дисплея по отдельности, а это означает непревзойденную управляемость и качество изображения.

TN+film (Twisted Nematic + film)

Часть «film» в названии технологии означает дополнительный слой, применяемый для увеличения угла обзора (ориентировочно - от 90° до 150°). В настоящее время приставку «film» часто опускают, называя такие матрицы просто TN. К сожалению, способа улучшения контрастности и времени отклика для панелей TN пока не нашли, причём время отклика у данного типа матриц является на настоящий момент одним из лучших, а вот уровень контрастности - нет.

TN + film - самая простая технология.

Матрица TN + film работает следующим образом: если к субпикселам не прилагается напряжение, жидкие кристаллы (и поляризованный свет, который они пропускают) поворачиваются друг относительно друга на 90° в горизонтальной плоскости в пространстве между двумя пластинами. И так как направление поляризации фильтра на второй пластине составляет угол в 90° с направлением поляризации фильтра на первой пластине, свет проходит через него. Если красные, зеленые и синие субпиксели полностью освещены, на экране образуется белая точка.

К достоинствам технологии можно отнести самое маленькое время отклика среди современных матриц, а также невысокую себестоимость.

IPS (In-Plane Switching)

Технология In-Plane Switching была разработана компаниями Hitachi и NEC и предназначалась для избавления от недостатков TN + film. Однако, хотя с помощью IPS удалось добиться увеличения угла обзора до 170°, а также высокой контрастности и цветопередачи, время отклика осталось на низком уровне.

На настоящий момент матрицы, изготовленные по технологии IPS единственные из ЖК-мониторов, всегда передающие полную глубину цвета RGB - 24 бита, по 8 бит на канал. TN-матрицы почти всегда имеют 6-бит, как и часть MVA.

Если к матрице IPS не приложено напряжение, молекулы жидких кристаллов не поворачиваются. Второй фильтр всегда повернут перпендикулярно первому, и свет через него не проходит. Поэтому отображение черного цвета близко к идеалу. При выходе из строя транзистора «битый» пиксель для панели IPS будет не белым, как для матрицы TN, а черным.

При приложении напряжения молекулы жидких кристаллов поворачиваются перпендикулярно своему начальному положению и пропускают свет.

IPS в настоящее время вытеснено технологией S-IPS (Super-IPS, Hitachi год), которая наследует все преимущества технологии IPS с одновременным уменьшением времени отклика . Но, несмотря на то, что цветность S-IPS панелей приблизилась к обычным мониторам CRT , контрастность все равно остаётся слабым местом. S-IPS активно используется в панелях размером от 20", LG.Philips , NEC остаются единственными производителями панелей по данной технологии.

AS-IPS - технология Advanced Super IPS (Расширенная Супер-IPS), также была разработана корпорацией Hitachi в году. В основном улучшения касались уровня контрастности обычных панелей S-IPS, приблизив его к контрастности S-PVA панелей. AS-IPS также используется в качестве названия для мониторов корпорации LG.Philips.

A-TW-IPS - Advanced True White IPS (Расширенная IPS с настоящим белым), разработано LG.Philips для корпорации году. Усиленная мощность электрического поля позволила добиться ещё больших углов обзора и яркости, а также уменьшить межпиксельное расстояние. Дисплеи на основе AFFS в основном применяются в планшетных ПК , на матрицах производства Hitachi Displays.

*VA (Vertical Alignment)

MVA - Multi-domain Vertical Alignment. Эта технология разработана компанией Fujitsu как компромисс между TN и IPS технологиями. Горизонтальные и вертикальные углы обзора для матриц MVA составляют 160°(на современных моделях мониторов до 176-178 градусов), при этом благодаря использованию технологий ускорения (RTC) эти матрицы не сильно отстают от TN+Film по времени отклика, но значительно превышают характеристики последних по глубине цветов и точности их воспроизведения.

MVA стала наследницей технологии VA, представленной в 1996 году компанией Fujitsu. Жидкие кристаллы матрицы VA при выключенном напряжении выровнены перпендикулярно по отношению ко второму фильтру, то есть не пропускают свет. При приложении напряжения кристаллы поворачиваются на 90°, и на экране появляется светлая точка. Как и в IPS-матрицах, пиксели при отсутствии напряжения не пропускают свет, поэтому при выходе из строя видны как чёрные точки.

Достоинствами технологии MVA являются глубокий черный цвет и отсутствие, как винтовой структуры кристаллов, так и двойного магнитного поля.

Недостатки MVA в сравнении с S-IPS: пропадание деталей в тенях при перпендикулярном взгляде, зависимость цветового баланса изображения от угла зрения, большее время отклика.

Аналогами MVA являются технологии:

  • PVA (Patterned Vertical Alignment ) от Samsung.
  • Super PVA от Samsung.
  • Super MVA от CMO.

Матрицы MVA/PVA считаются компромиссом между TN и IPS, как по стоимости, так и по потребительским качествам.

Преимущества и недостатки

Искажение изображения на ЖК-мониторе при большом угле обзора

Макрофотография типичной жк-матрицы. В центре можно увидеть два дефектных субпикселя (зелёный и синий).

В настоящее время ЖК-мониторы являются основным, бурно развивающимся направлением в технологии мониторов. К их преимуществам можно отнести: малый размер и вес в сравнении с ЭЛТ . У ЖК-мониторов, в отличие от ЭЛТ , нет видимого мерцания, дефектов фокусировки и сведения лучей, помех от магнитных полей, проблем с геометрией изображения и четкостью. Энергопотребление ЖК-мониторов в 2-4 раза меньше, чем у ЭЛТ и плазменных экранов сравнимых размеров. Энергопотребление ЖК мониторов на 95 % определяется мощностью ламп подсветки или светодиодной матрицы подсветки (англ. backlight - задний свет) ЖК-матрицы. Во многих современных (2007) мониторах для настройки пользователем яркости свечения экрана используется широтно-импульсная модуляция ламп подсветки частотой от 150 до 400 и более Герц . Светодиодная подсветка в основном используется в небольших дисплеях, хотя в последние годы она все шире применяется в ноутбуках и даже в настольных мониторах. Несмотря на технические трудности её реализации, она имеет и очевидные преимущества перед флуоресцентными лампами, например более широкий спектр излучения, а значит, и цветовой охват.

С другой стороны, ЖК-мониторы имеют и некоторые недостатки, часто принципиально трудноустранимые, например:

  • В отличие от ЭЛТ, могут отображать чёткое изображение лишь в одном («штатном») разрешении. Остальные достигаются интерполяцией с потерей чёткости. Причем слишком низкие разрешения (например 320x200) вообще не могут быть отображены на многих мониторах.
  • Цветовой охват и точность цветопередачи ниже, чем у плазменных панелей и ЭЛТ соответственно. На многих мониторах есть неустранимая неравномерность передачи яркости (полосы в градиентах).
  • Многие из ЖК-мониторов имеют сравнительно малый контраст и глубину чёрного цвета. Повышение фактического контраста часто связано с простым усилением яркости подсветки, вплоть до некомфортных значений. Широко применяемое глянцевое покрытие матрицы влияет лишь на субъективную контрастность в условиях внешнего освещения.
  • Из-за жёстких требований к постоянной толщине матриц существует проблема неравномерности однородного цвета (неравномерность подсветки).
  • Фактическая скорость смены изображения также остаётся ниже, чем у ЭЛТ и плазменных дисплеев . Технология overdrive решает проблему скорости лишь частично.
  • Зависимость контраста от угла обзора до сих пор остаётся существенным минусом технологии.
  • Массово производимые ЖК-мониторы более уязвимы, чем ЭЛТ. Особенно чувствительна матрица, незащищённая стеклом. При сильном нажатии возможна необратимая деградация. Также существует проблема дефектных пикселей .
  • Вопреки расхожему мнению пикселы ЖК-мониторов деградируют, хотя скорость деградации наименьшая из всех технологий отображения.

Перспективной технологией, которая может заменить ЖК-мониторы, часто считают OLED -дисплеи. С другой стороны, эта технология встретила сложности в массовом производстве, особенно для матриц с большой диагональю.

См. также

  • Видимая область экрана
  • Антибликовое покрытие
  • en:Backlight

Ссылки

  • Информация о флюоресцентных лампах, используемых для подсветки ЖК-матрицы
  • Жидкокристаллические дисплеи (технологии TN + film, IPS, MVA, PVA)

Литература

  • Артамонов О. Параметры современных ЖК-мониторов
  • Мухин И. А. Как выбрать ЖК-монитор? . «Компьютер-бизнес-маркет», № 4 (292), январь 2005, стр. 284-291.
  • Мухин И. А. Развитие жидкокристаллических мониторов . «BROADCASTING Телевидение и радиовещение»: 1 часть - № 2(46) март 2005, с.55-56; 2 часть - № 4(48) июнь-июль 2005, с.71-73.
  • Мухин И. А. Современные плоскопанельные отображающие устройства ."BROADCASTING Телевидение и радиовещение": № 1(37), январь-февраль 2004, с.43-47.
  • Мухин И. А., Украинский О. В. Способы улучшения качества телевизионного изображения, воспроизводимого жидкокристаллическими панелями . Материалы доклада на научно-технической конференции «Современное телевидение», Москва, март 2006.

Технология LCD TFT матриц предусматривает использование в производстве жидкокристаллических дисплеев специальных тонкопленочных транзисторов. Само название TFT – это сокращение от Thin-film transistor, что в переводе и означает – тонкопленочный транзистор. Такой вид матриц применяет в самых разнообразных устройствах, от калькуляторов, до дисплеев смартфонов.

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

1. Что такое LCD

LCD – это технология изготовления экранов телевизоров, мониторов и других устройств, основанная на использовании специальных молекул, которые называются – жидкие кристаллы. Эти молекулы имеют уникальные свойства, они постоянно находятся в жидком состоянии и способны менять свое положение при воздействии на них электромагнитного поля. Кроме этого, эти молекулы имеют оптические свойства, схожие со свойствами кристаллов, из-за чего эти молекулы и получили свое название.

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

2. Что такое TFT

Как уже говорилось, TFT – это технология изготовления LCD дисплеев, которая подразумевает использование тонкопленочных транзисторов. Таким образом, можно сказать, что TFT – это подвид LCD мониторов. Стоит отметить, что все современные LCD телевизоры, мониторы и экраны телефонов относятся к виду TFT. Поэтому вопрос, что лучше TFT или LCD не совсем правильный. Ведь отличие FTF от LCD заключается в том, что LCD – это технология изготовления жидкокристаллических экранов, а TFT – это подвид ЖК дисплеев, к которому относятся все типы активных матриц.

Среди пользователей TFT матрицы имеют название – активные. Такие матрицы обладают существенно более высоким быстродействием, в отличие от пассивных ЖК-матриц. Помимо этого, тип экрана LCD TFT отличается повышенным уровнем четкости, контрастности изображения и большими углами обзоров. Еще один важный момент заключается в том, что мерцание в активных матрицах отсутствует, что означает, что за такими мониторами приятнее работать, глаза при этом меньше устают.

Каждый пиксель матрицы TFT оснащен тремя отдельными управляющими транзисторами, благодаря чему достигается значительно более высокая частота обновления экрана, в сравнении с пассивными матрицами. Таким образом, в состав каждого пикселя входит три цветные ячейки, которые управляются соответствующим транзистором. Например, если разрешение экрана составляет 1920х1080 пикселей, то количество транзисторов в таком мониторе будет равно 5760х3240. Применение такого количества транзисторов стало возможным благодаря сверхтонкой и прозрачной структуре – 0,1- 0,01 микрон.

3. Виды матриц TFT экранов

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

Все известные ЖК телевизоры, которые имеются на российском рынке, оснащены TFT дисплеями. Они могут различаться своими параметрами в зависимости от используемой матрицы.

На данный момент наиболее распространенными матрицами TFT дисплеев являются:

Каждый из представленных видов матриц обладает своими преимуществами и недостатками.

3.1. Тип ЖК матрицы TFT TN

TN – это самый распространенный тип экрана LCD TFT. Такую популярность данный тип матрицы получил благодаря уникальным особенностям. При своей низкой стоимости, они имеют достаточно высокие показатели, причем в некоторых моментах, такие экраны TN даже имеют преимущества перед другими типами матриц.

Главная особенность – это быстрый отклик. Это параметр, который обозначает время, за которое пиксель способен отреагировать на изменение электрического поля. То есть, время, которое необходимо для полного изменение цвета (от белого к черному). Это очень важный показатель для любого телевизора и монитора, в особенности для любителей игр и фильмов, насыщенных всевозможными спецэффектами.

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

3.2. IPS матрицы

Данный вид матриц имеет наибольшие перспективы. Особенность данной технологии состоит в том, что такие матрицы имеют самые большие углы обзоров, а также наиболее естественную и насыщенную цветопередачу. Однако недостатком этой технологии до сегодняшнего дня был длительный отклик. Но благодаря современным технологиям этот параметр удалось сократить до приемлемых показаний. Более того, нынешние мониторы c IPS матрицами имеют время отклика 5 мс, что не уступает даже TN+Film матрицам.

По мнению большинства изготовителей мониторов и телевизоров, будущее лежит именно за IPS матрицами, благодаря чему они постепенно вытесняют TN+Film.

Кроме этого, производители мобильных телефонов, смартфонов, планшетных ПК и ноутбуков все чаще выбирают TFT LCD модули с матрицами IPS, обращая внимание на отличную цветопередачу, хорошие углы обзора, а также экономичное потребление энергии, что крайне важно для мобильных устройств.

3.3. MVA/PVA

Данный тип матриц – это некий компромисс между TN и IPS матрицами. Ее особенность заключается в том, что в спокойном состоянии молекулы жидких кристаллов располагаются перпендикулярно плоскости экрана. Благодаря этому производители смогли достичь максимально глубокого и чистого черного цвета. Кроме этого данная технология позволяет достичь больших углов обзора, в сравнении с TN матрицами. Достигается это с помощью специальных выступов на обкладках. Эти выступы определяют направление молекул жидких кристаллов. При этом стоит отметить, что такие матрицы имеют меньшее время отклика, нежели IPS-дисплеи, и большее, в сравнении с TN матрицами.

Как ни странно, но данная технология не нашла широкого применения в массовом производстве мониторов и телевизоров.

4. Что лучше Super LCD или TFT

Для начала стоит разобрать, что такое Super LCD.

Super LCD – это технология производства экранов, которая широко распространена среди производителей современных смартфонов и планшетных ПК. По сути, Super LCD – это те же IPS матрицы, которые получили новое маркетинговое название и некоторые улучшения.

Главное отличие таких матриц заключается в том, что они не имеют воздушного зазора между наружным стеклом и картинкой (изображением). Благодаря этому удалось достичь уменьшения бликов. Кроме этого визуально изображение на таких дисплеях кажется ближе к зрителю. Если говорить о сенсорных дисплеях на смартфонах и планшетных ПК, то экраны Super LCD более чувствительны к прикосновениям и быстрее реагируют на движения.

5. TFT / LCD монитор: Видео

Еще одно преимущество данного типа матриц заключается в пониженном потреблении энергии, что опять же крайне важно в случае автономного устройства, такого как ноутбук, смартфон и планшет. Такая экономичность достигается благодаря тому, что в спокойном состоянии жидкие кристаллы расположены так, чтобы пропускать свет, что снижает потребление энергии при отображении светлых картинок. При этом стоит отметить, что подавляющее большинство фоновых картинок на всех интернет сайтах, заставках в приложениях и так далее, являются как раз таки светлыми.

Главной областью применения SL CD дисплеев является именно мобильная техника, благодаря низкому потреблению энергии, высокому качеству изображения, даже при прямых солнечных лучах, а также более низкой стоимости, в отличии, к примеру, от AMOLED экранов.

В свою очередь LCD TFT дисплеи включают в себя тип матрицы SLCD. Таким образом, Super LCD – это тип активной матрицы TFT дисплея. В самом начале данной публикации мы уже говорили о том, что TFT и LCD разницы не имеют, это в принципе одно и то же.

6. Выбор дисплея

Как уже говорилось выше, каждый из типов матриц обладает своими преимуществами и недостатками. Все они также уже оговаривались. В первую очередь при выборе дисплея, стоит учитывать ваши требования. Стоит задать себе вопрос, - Что именно нужно от дисплея, как он будет использоваться и в каких условиях?

Отталкиваясь от требований, и стоит выбирать дисплей. К сожалению, на данный момент не существует универсального экрана, на который можно было бы сказать, что он действительно лучше всех остальных. Из-за этого, если вам важна цветопередача, и вы собираетесь работать с фотографиями, то однозначно ваш выбор – это IPS матрицы. Но если вы заядлый любитель остросюжетных и ярких игр, то предпочтение все же лучше отдать TN+Film.

Все современные матрицы имеют достаточно высокие показатели, поэтому простые пользователи разницу могут даже не заметить, ведь IPS матрицы практически не уступают TN по времени отклика, а TN в свою очередь имеют довольно большие углы обзора. К тому же, как правило, пользователь располагается напротив экрана, а не сбоку или сверху, из-за чего большие углы в принципе не требуются. Но выбор все же за вами.

В этом руководстве мы расскажем как использовать TFT LCD дисплеи с Arduino, начиная с базовых команд и заканчивая профессиональным дизайном.

В этой статье вы узнаете, как использовать TFT LCD с платами Arduino. Мы постараемся освятить базовые команды, а также расскажем про профессиональные дизайны и технику. По планам поле статьи можно будет научиться:

  • выводить тексты, символы и цифры с нужным шрифтом;
  • рисовать фигуры, такие как круг, треугольник, квадрат и т.д.;
  • отображать изображения.bmp на экране;
  • изменять параметры экрана, такие как вращение и инвертирование цвета;
  • отображать анимацию с помощью Arduino.

Из Википедии : Жидкокристаллический дисплей с активной матрицей (TFT LCD, англ. thin-film transistor - тонкоплёночный транзистор) - разновидность жидкокристаллического дисплея, в котором используется активная матрица, управляемая тонкоплёночными транзисторами.

В проектах электроники очень важно создать интерфейс между пользователем и системой. Этот интерфейс может быть создан путем отображения полезных данных, меню и простоты доступа. Красивый дизайн не менее важен.

Для этого есть несколько компонентов. Светодиоды, 7 сегментные модули, графические дисплеи и полноцветные TFT-дисплеи. Правильный компонент для ваших проектов зависит от количества отображаемых данных, типа взаимодействия с пользователем и емкости процессора.

TFT LCD - это вариант жидкокристаллического дисплея (LCD), который использует технологию тонкопленочного транзистора (TFT) для улучшения качества изображения, такого как адресность и контрастность. TFT LCD является активным матричным ЖК-дисплеем, в отличие от пассивных матричных ЖК-дисплеев или простых ЖК-дисплеев с прямым управлением с несколькими сегментами.

В проектах на Arduino частота процессора низкая. Таким образом, невозможно отображать сложные изображения высокой четкости и высокоскоростные движения. Поэтому полноцветные TFT-дисплеи могут использоваться только для отображения простых данных и команд.

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

Какого размера? Какой контроллер?

Размер экранов влияет на параметры вашего проекта. Большой дисплей не всегда лучше. Если вы хотите отображать символы и изображения высокого разрешения, вы должны выбрать большой размер дисплея с более высоким разрешением. Но это уменьшает скорость вашей обработки, требует больше места, а также требует больше тока для запуска.

Итак, во-первых, вы должны проверить разрешение, скорость движения, детали цвета и размера изображений, текстов и цифр. Мы предлагаем популярные размеры дисплеев Arduino, таких как:

  • 3,5" дюйма 480 × 320,
  • 2,8" дюйма 400 × 240,
  • 2,4" дюйма 320 × 240,
  • 1,8" дюйма 220 × 176.

Выбрав правильный дисплей, пришло время выбрать правильный контроллер. Если вы хотите отображать символы, тексты, цифры и статические изображения и скорость отображения не важна, платы Atmega328 Arduino (такие как ) являются правильным выбором.

Если размер вашего кода является большим, UNO может оказаться недостаточной. Вместо этого вы можете использовать . И если вы хотите показывать изображения с высоким разрешением и движения с высокой скоростью, вы должны использовать ARM-модули Arduino, такие как Arduino DUE.

Драйверы и библиотеки

В электронике / компьютерном оборудовании драйвер дисплея обычно представляет собой полупроводниковую интегральную схему (но может альтернативно содержать конечную машину, состоящую из дискретной логики и других компонентов), который обеспечивает функцию интерфейса между микропроцессором, микроконтроллером, ASIC или периферийным интерфейсом общего назначения и конкретным типом устройства отображения, например LCD, LED, OLED, ePaper, CRT, Nixie и т.п.

Драйвер дисплея обычно принимает команды и данные с использованием стандартного универсального последовательного или параллельного интерфейса общего назначения, такого как TTL, CMOS, RS232, SPI, I2C и т.д. и генерирует сигналы с подходящим напряжением, током, временем и демультиплексированием, чтобы реализовать на дисплее отображение нужного текста или изображения.

Производители ЖК-дисплеев используют разные драйверы в своих продуктах. Некоторые из них более популярны, а некоторые из них неизвестны. Чтобы легко запускать ваш экран, вы должны использовать библиотеки LCD Arduino и добавить их в свой код. В противном случае запуск дисплея может быть очень осложнен. В Интернете есть много бесплатных библиотек, но важным моментом в библиотеках является их совместимость с драйвером ЖК-дисплея. Драйвер вашего ЖК-дисплея должен быть известен вашей библиотеке. В этой статье мы используем библиотеку Adafruit GFX и библиотеку MCUFRIEND KBV и примеры кода. Вы сможете скачать их по сопутствующим ссылкам.

Разархивируйте MCUFRIEND KBV и откройте MCUFRIEND_kbv.CPP. Вы увидите список драйверов, которые поддерживаются библиотекой MCUFRIEND.

Откройте папку с примерами (англ. - Example). Существует несколько примеров кода, которые вы можете запустить на Arduino. Подключите ЖК-дисплей и проверьте некоторые примеры.

Список комплектующих

Для реализации многих проектов, связанных с TFT LCD нам понадобится набор некоторых комплектующих, которые мы уже обсудили выше:

  • 3.5-дюймовый цветной TFT-дисплей ElectroPeak × 1
  • 2,4-дюймовый дисплей TFT LCD ElectroPeak × 1
  • Arduino UNO R3 × 1
  • Arduino Mega 2560 × 1
  • Arduino DUE × 1

Программное обеспечение

Также для работы с Ардуино нам обычно нужна .

Код

Вы должны добавить библиотеку, а затем загрузить код. Если вы впервые запускаете плату Arduino, не волнуйтесь. Просто выполните следующие действия:

  • Перейдите на нашего сайта или на сайт www.arduino.cc/en/Main/Software и загрузите программное обеспечение для вашей ОС. Установите программное обеспечение в соответствии с инструкциями.
  • Запустите среду разработки Arduino, очистите текстовый редактор и скопируйте код в текстовый редактор.
  • Перейдите к эскизу и включите библиотеки. Нажмите "добавить ZIP-библиотеку" и добавьте библиотеки.
  • Выберите плату в "Tools and Boards", выберите свою плату Arduino.
  • Подключите Arduino к компьютеру и установите COM-порт в "Tools and port".
  • Нажмите кнопку «Загрузить» (стрелка).
  • Теперь все настроено!

После загрузки кода примера пришло время узнать, как создавать изображения на ЖК-дисплее.

Библиотека

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h"

В первой строке добавлена основная графическая библиотека для дисплеев (написанная Adafruit).

Вторая добавляет библиотеку, которая поддерживает драйверы экранов дисплея MCUFRIEND Arduino.

#include "TouchScreen.h" // только если вы хотите использовать сенсорный экран #include "bitmap_mono.h" // когда вы хотите отображать растровое изображение из библиотеки #include "bitmap_RGB.h" // когда вы хотите отображать растровое изображение из библиотеки #include "Fonts/FreeSans9pt7b.h" // когда вам нужны другие шрифты #include "Fonts/FreeSans12pt7b.h" // когда вам нужны другие шрифты #include "Fonts/FreeSerif12pt7b.h" // когда вам нужны другие шрифты #include "FreeDefaultFonts.h" // когда вам нужны другие шрифты #include "SPI.h" // использование sdcard для отображения растрового изображения #include "SD.h"

Эти библиотеки сейчас не нужны, но вы можете их добавить.

Основные команды

Класс и объект

//(int CS=A3, int RS=A2, int WR=A1, int RD=A0, int RST=A4) MCUFRIEND_kbv tft(A3, A2, A1, A0, A4);

Эта строка делает объект с именем TFT из класса MCUFRIEND_kbv и обеспечивает связь SPI между ЖК-дисплеем и Arduino.

Запуск ЖК-дисплея

uint16_t ID = tft.readID(); tft.begin(ID);

Функция tft.readID считывает ID с дисплея и помещает его в переменную идентификатора. Затем функция tft.begin получает идентификатор и ЖК-дисплей готов к работе.

Разрешение экрана

tft.width(); //int16_t width(void); tft.height(); //int16_t height(void);

По этим двум функциям вы можете узнать разрешение дисплея. Просто добавьте их в код и поместите выходные данные в переменную uint16_t . Затем прочитайте его из последовательного порта Serial.println(); . Сначала добавьте Serial.begin (9600); в setup() .

Цвет экрана

tft.fillScreen(t); //fillScreen(uint16_t t);

Функция fillScreen меняет цвет экрана на цвет t . Это должна быть 16-битная переменная, содержащая код цвета UTFT .

#define BLACK 0x0000 #define NAVY 0x000F #define DARKGREEN 0x03E0 #define DARKCYAN 0x03EF #define MAROON 0x7800 #define PURPLE 0x780F #define OLIVE 0x7BE0 #define LIGHTGREY 0xC618 #define DARKGREY 0x7BEF #define BLUE 0x001F #define GREEN 0x07E0 #define CYAN 0x07FF #define RED 0xF800 #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF #define ORANGE 0xFD20 #define GREENYELLOW 0xAFE5 #define PINK 0xF81F

Вы можете добавить эти строки в начало своего кода и просто использовать имя цвета в функциях.

Заполнение пикелей

tft.drawPixel(x,y,t); //drawPixel(int16_t x, int16_t y, uint16_t t) tft.readPixel(x,y); //uint16_t readPixel(int16_t x, int16_t y)

Функция drawPixel заполняет пиксель в x и y по цвету t.

Функция readPixel считывает цвет пикселя в местоположении x и y.

Рисование линий

tft.drawFastVLine(x,y,h,t); //drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t t) tft.drawFastHLine(x,y,w,t); //drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t t) tft.drawLine(xi,yi,xj,yj,t); //drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t t)

Функция drawFastVLine рисует вертикальную линию, которая начинается с местоположения x, y, ее длина - h пикселей, а цвет - t.

Функция drawFastHLine рисует горизонтальную линию, которая начинается с местоположения x и y, длина равна w пикселей, а цвет - t.

Функция drawLine рисует строку, начинающуюся с xi, yi и до xj, yj, цвет - t.

For (uint16_t a=0; a<5; a++) { tft.drawFastVLine(x+a, y, h, t);} for (uint16_t a=0; a<5; a++) { tft.drawFastHLine(x, y+a, w, t);} for (uint16_t a=0; a<5; a++) { tft.drawLine(xi+a, yi, xj+a, yj, t);} for (uint16_t a=0; a<5; a++) { tft.drawLine(xi, yi+a, xj, yj+a, t);}

Эти три блока кода рисуют линии, подобные предыдущему коду с 5-пиксельной толщиной.

Tft.fillRect(x,y,w,h,t); //fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t t) tft.drawRect(x,y,w,h,t); //drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t t) tft.fillRoundRect(x,y,w,h,r,t); //fillRoundRect (int16_t x, int16_t y, int16_t w, int16_t h, uint8_t R , uint16_t t) tft.drawRoundRect(x,y,w,h,r,t); //drawRoundRect(int16_t x, int16_t y, int16_t w, int16_t h, uint8_t R , uint16_t t)

Функция fillRect рисует заполненный прямоугольник в координатах x и y, w - ширина, h - высота, t - цвет прямоугольника.

Функция drawRect рисует прямоугольник в координатах x и y с шириной w, высотой h и цветом t.

Функция fillRoundRect рисует заполненный прямоугольник с радиусом углов r, в координатах x и y, шириной w и высотой h, цветом t.

Функция drawRoundRect рисует прямоугольник с r радиальными закругленными углами по x и y, с шириной w и высотой h и цветом t.

Рисуем круги

tft.drawCircle(x,y,r,t); //drawCircle(int16_t x, int16_t y, int16_t r, uint16_t t) tft.fillCircle(x,y,r,t); //fillCircle(int16_t x, int16_t y, int16_t r, uint16_t t)

Функция drawCircle рисует круг по координатам x и y, с радиусом r и цветом t.

Функция fillCircle рисует заполненный круг по координатам x и y, радиусом r и цветом t.

For (int p = 0; p < 4000; p++) { j = 120 * (sin(PI * p / 2000)); i = 120 * (cos(PI * p / 2000)); j2 = 60 * (sin(PI * p / 2000)); i2 = 60 * (cos(PI * p / 2000)); tft.drawLine(i2 + 160, j2 + 160, i + 160, j + 160, col[n]); }

Этот код рисует дугу. Можно изменить значение в «for» между 0 и 4000.

Рисование треугольников

tft.drawTriangle(x1,y1,x2,y2,x3,y3,t); //drawTriangle(int16_t x1, int16_t y1, int16_t x2, int16_t y2, int16_t x3, int16_t y3,// uint16_t t) tft.fillTriangle(x1,y1,x2,y2,x3,y3,t); //fillTriangle(int16_t x1, int16_t y1, int16_t x2, int16_t y2, int16_t x3, int16_t y3,// uint16_t t)

Функция drawTriangle рисует треугольник с тремя угловыми координатами x, y и z и t цветом.

Функция fillTriangle рисует заполненный треугольник с тремя угловыми координатами x, y, z и t цветом.

Отображение текста

tft.setCursor(x,y); //setCursor(int16_t x, int16_t y)

Этот код устанавливает позицию курсора на x и y.

Tft.setTextColor(t); //setTextColor(uint16_t t) tft.setTextColor(t,b); //setTextColor(uint16_t t, uint16_t b)

Первая строка задает цвет текста. Следующая строка задает цвет текста и его фона.

Tft.setTextSize(s); //setTextSize(uint8_t s)

Этот код устанавливает размер текста величиной s . Само число s меняется в диапазоне от 1 до 5.

Tft.write(c); //write(uint8_t c)

Этот код отображает символ.

Tft.println("www.Electropeak.com"); tft.print("www.Electropeak.com");

Первая функция отображает строку и перемещает курсор на следующую строку.

Вторая функция просто отображает строку.

ShowmsgXY(x,y,sz,&FreeSans9pt7b,"www.Electropeak.com"); //void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) { uint16_t x1, y1; uint16_t wid, ht; tft.setFont(f); tft.setCursor(x, y); tft.setTextColor(0x0000); tft.setTextSize(sz); tft.print(msg); }

Эта функция изменяет шрифт текста. Вы должны добавить эту функцию и библиотеки шрифтов.

For (int j = 0; j < 20; j++) { tft.setCursor(145, 290); int color = tft.color565(r -= 12, g -= 12, b -= 12); tft.setTextColor(color); tft.print("www.Electropeak.com"); delay(30); }

Эта функция может заставить текст исчезать. Вы должны добавить её в свой код.

Вращение экрана

tft.setRotation(r); //setRotation(uint8_t r)

Этот код поворачивает экран. 0 = 0°, 1 = 90°, 2 = 180°, 3 = 270°.

Инвертирование цветов экрана

tft.invertDisplay(i); //invertDisplay(boolean i)

Этот код инвертирует цвета экрана.

Tft.color565(r,g,b); //uint16_t color565(uint8_t r, uint8_t g, uint8_t b)

Этот код передает код RGB и получает цветовой код UTFT.

Прокрутка экрана

for (uint16_t i = 0; i < maxscroll; i++) { tft.vertScroll(0, maxscroll, i); delay(10);}

Этот код прокручивает ваш экран. Maxroll - максимальная высота прокрутки.

Сброс

tft.reset();

Этот код сбрасывает экран.

Отображение монохромных изображений

static const uint8_t name PROGMEM = { //Добавьте код изображения здесь. } tft.drawBitmap(x, y, name, sx, sy, 0x0000);

Сначала вы должны преобразовать свое изображение в шестнадцатеричный код. Загрузите программное обеспечение по ссылке ниже. Если вы не хотите изменять настройки программного обеспечения, вы должны инвертировать цвет изображения, отразить изображение горизонтально (зеркально) и повернуть его на 90 градусов против часовой стрелки.

Теперь добавьте его в программное обеспечение и преобразуйте его. Откройте экспортированный файл и скопируйте шестнадцатеричный код в Arduino IDE. x и y - местоположения изображения. sx и sy - размеры изображения. Вы можете изменить цвет изображения на последнем input .

Отображение цветного изображения RGB

const uint16_t name PROGMEM = { //Add image code here. } tft.drawRGBBitmap(x, y, name, sx, sy);

Сначала вы должны преобразовать свое изображение в код. Используйте эту ссылку для преобразования изображения:

Загрузите изображение и скачайте преобразованный файл, с которым могут работать библиотеки UTFT. Теперь скопируйте шестнадцатеричный код в Arduino IDE. x и y - местоположения изображения. sx и sy - размер изображения.

Вы можете ниже качать программу-конвертер изображений в шестнадцатеричный код:

Предварительно созданные элементы

В этом шаблоне мы просто использовали строку и 8 заполненных кругов, которые меняют свои цвета по порядку. Чтобы нарисовать круги вокруг статической точки, вы можете использовать sin(); и cos(); функции. Вы должны задать величину PI. Чтобы изменить цвета, вы можете использовать функцию color565(); и заменить свой код RGB.

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; #include "Fonts/FreeSans9pt7b.h" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/FreeSerif12pt7b.h" #include "FreeDefaultFonts.h" #define PI 3.1415926535897932384626433832795 int col; void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) { int16_t x1, y1; uint16_t wid, ht; tft.setFont(f); tft.setCursor(x, y); tft.setTextColor(0x0000); tft.setTextSize(sz); tft.print(msg); } void setup() { tft.reset(); Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.setRotation(1); tft.invertDisplay(true); tft.fillScreen(0xffff); showmsgXY(170, 250, 2, &FreeSans9pt7b, "Loading..."); col = tft.color565(155, 0, 50); col = tft.color565(170, 30, 80); col = tft.color565(195, 60, 110); col = tft.color565(215, 90, 140); col = tft.color565(230, 120, 170); col = tft.color565(250, 150, 200); col = tft.color565(255, 180, 220); col = tft.color565(255, 210, 240); } void loop() { for (int i = 8; i > 0; i--) { tft.fillCircle(240 + 40 * (cos(-i * PI / 4)), 120 + 40 * (sin(-i * PI / 4)), 10, col); delay(15); tft.fillCircle(240 + 40 * (cos(-(i + 1)*PI / 4)), 120 + 40 * (sin(-(i + 1)*PI / 4)), 10, col); delay(15); tft.fillCircle(240 + 40 * (cos(-(i + 2)*PI / 4)), 120 + 40 * (sin(-(i + 2)*PI / 4)), 10, col); delay(15); tft.fillCircle(240 + 40 * (cos(-(i + 3)*PI / 4)), 120 + 40 * (sin(-(i + 3)*PI / 4)), 10, col); delay(15); tft.fillCircle(240 + 40 * (cos(-(i + 4)*PI / 4)), 120 + 40 * (sin(-(i + 4)*PI / 4)), 10, col); delay(15); tft.fillCircle(240 + 40 * (cos(-(i + 5)*PI / 4)), 120 + 40 * (sin(-(i + 5)*PI / 4)), 10, col); delay(15); tft.fillCircle(240 + 40 * (cos(-(i + 6)*PI / 4)), 120 + 40 * (sin(-(i + 6)*PI / 4)), 10, col); delay(15); tft.fillCircle(240 + 40 * (cos(-(i + 7)*PI / 4)), 120 + 40 * (sin(-(i + 7)*PI / 4)), 10, col); delay(15); } }

Классический текст

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

#include "Adafruit_GFX.h" // Core graphics library #include "MCUFRIEND_kbv.h" // Hardware-specific library MCUFRIEND_kbv tft; #include "Fonts/FreeSans9pt7b.h" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/FreeSerif12pt7b.h" #include "FreeDefaultFonts.h" void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) { int16_t x1, y1; uint16_t wid, ht; tft.setFont(f); tft.setCursor(x, y); tft.setTextSize(sz); tft.println(msg); } uint8_t r = 255, g = 255, b = 255; uint16_t color; void setup() { Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setRotation(1); } void loop(void) { tft.invertDisplay(true); tft.fillScreen(WHITE); color = tft.color565(40, 40, 40); tft.setTextColor(color); showmsgXY(50, 40, 1, &FreeSerif12pt7b, " I love those who can smile in trouble,"); delay(40); tft.println(" who can gather strength from distress,"); delay(40); tft.println(" and grow brave by reflection."); delay(40); tft.println(" "Tis the business of little minds to shrink,"); delay(40); tft.println(" but they whose heart is firm,"); delay(40); tft.println(" and whose conscience approves their conduct,"); delay(40); tft.println(" will pursue their principles unto death."); delay(40); tft.println(" "); delay(700); for (int j = 0; j < 20; j++) { tft.setCursor(145, 290); color = tft.color565(r -= 12, g -= 12, b -= 12); tft.setTextColor(color); tft.print(" ---- Da Vinci ----"); delay(30); } while (1); }

Представление/презентация логотипа

В этом шаблоне мы преобразовали файл a.jpg в файл .c и добавили его в код, написали строку и использовали отображаемый код затухания. Затем мы использовали код прокрутки, чтобы переместить экран влево. Загрузите файл .h и добавьте его в папку эскиза Arduino.

#include "Adafruit_GFX.h" // Core graphics library #include "MCUFRIEND_kbv.h" // Hardware-specific library MCUFRIEND_kbv tft; #include "Ard_Logo.h" #define BLACK 0x0000 #define RED 0xF800 #define GREEN 0x07E0 #define WHITE 0xFFFF #define GREY 0x8410 #include "Fonts/FreeSans9pt7b.h" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/FreeSerif12pt7b.h" #include "FreeDefaultFonts.h" void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) { int16_t x1, y1; uint16_t wid, ht; tft.setFont(f); tft.setCursor(x, y); tft.setTextSize(sz); tft.println(msg); } uint8_t r = 255, g = 255, b = 255; uint16_t color; void setup() { Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setRotation(1); } void loop(void) { tft.invertDisplay(true); tft.fillScreen(WHITE); tft.drawRGBBitmap(100, 50, Logo, 350, 200); delay(1000); tft.setTextSize(2); for (int j = 0; j < 20; j++) { color = tft.color565(r -= 12, g -= 12, b -= 12); tft.setTextColor(color); showmsgXY(95, 280, 1, &FreeSans12pt7b, "ELECTROPEAK PRESENTS"); delay(20); } delay(1000); for (int i = 0; i < 480; i++) { tft.vertScroll(0, 480, i); tft.drawFastVLine(i, 0, 320, 0xffff); // vertical line delay(5);} while (1); }

Точечная диаграмма

В этом шаблоне мы использовали линии рисования, заполненные круги и функции отображения строк.

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; uint16_t ox=0,oy=0; int ave=0, avec=0, avet=0; //////////////////////////////////////////////////////////////// void aveg(void) {int z=0; Serial.println(ave); Serial.println(avec); avet=ave/avec; Serial.println(avet); avet=avet*32; for (int i=0; i<24; i++){ for (uint16_t a=0; a<3; a++){ tft.drawLine(avet+a, z, avet+a, z+10, 0xFB21);} // thick for (uint16_t a=0; a<2; a++){ tft.drawLine(avet-a, z, avet-a, z+10, 0xFB21);} delay(100); z=z+20; } } ////////////////////////////////////////////////////////////////// void dchart_10x10(uint16_t nx,uint16_t ny) { ave+=nx; avec++; nx=nx*32; ny=ny*48; tft.drawCircle(nx, ny, 10, 0x0517); tft.drawCircle(nx, ny, 9, 0x0517); tft.fillCircle(nx, ny, 7, 0x0517); delay (100); ox=nx; oy=ny; } /////////////////////////////////////////////////////////////////////// void dotchart_10x10(uint16_t nx,uint16_t ny) { ave+=nx; avec++; nx=nx*32; ny=ny*48; int plus=0; float fplus=0; int sign=0; int y=0,x=0; y=oy; x=ox; float xmines, ymines; xmines=nx-ox; ymines=ny-oy; if (ox>nx) {xmines=ox-nx; sign=1;} else sign=0; for (int a=0; a<(ny-oy); a++) { fplus+=xmines/ymines; plus=fplus; if (sign==1) tft.drawFastHLine(0, y, x-plus, 0xBFDF); else tft.drawFastHLine(0, y, x+plus, 0xBFDF); y++; delay(5);} for (uint16_t a=0; a<2; a++){ tft.drawLine(ox+a, oy, nx+a, ny, 0x01E8);} // thick for (uint16_t a=0; a<2; a++){ tft.drawLine(ox, oy+a, nx, ny+a, 0x01E8);} ox=nx; oy=ny; } //////////////////////////////////////////////////////////////////// void setup() { tft.reset(); Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); } void loop() { tft.invertDisplay(true); tft.fillScreen(0xffff); dotchart_10x10(3, 0); dotchart_10x10(2, 1); dotchart_10x10(4, 2); dotchart_10x10(4, 3); dotchart_10x10(5, 4); dotchart_10x10(3, 5); dotchart_10x10(6, 6); dotchart_10x10(7, 7); dotchart_10x10(9, 8); dotchart_10x10(8, 9); dotchart_10x10(10, 10); dchart_10x10(3, 0); dchart_10x10(2, 1); dchart_10x10(4, 2); dchart_10x10(4, 3); dchart_10x10(5, 4); dchart_10x10(3, 5); dchart_10x10(6, 6); dchart_10x10(7, 7); dchart_10x10(9, 8); dchart_10x10(8, 9); dchart_10x10(10, 10); tft.setRotation(1); tft.setTextSize(2); tft.setTextColor(0x01E8); tft.setCursor(20, 20); tft.print("Average"); int dl=20; for (int i=0;i<6;i++){ for (uint16_t a=0; a<3; a++){ tft.drawLine(dl, 40+a, dl+10, 40+a, 0xFB21);} dl+=16;} tft.setRotation(0); aveg(); while(1); }

Температура

В этом шаблоне мы использовали sin(); и cos(); функции для рисования дуг с желаемой толщиной и отображаемым числом с помощью функции текстовой печати. Затем мы преобразовали изображение в шестнадцатеричный код и добавили его в код и отобразили изображение с помощью функции растрового изображения. Затем мы использовали функцию рисования линий, чтобы изменить стиль изображения. Загрузите файл.h и добавьте его в папку эскиза Arduino.

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" #include "Math.h" MCUFRIEND_kbv tft; #include "Temperature.h" #define PI 3.1415926535897932384626433832795 int a=1000,b=3500; int n, f; int j, j2 ,lj; int i, i2 ,li; int pct = 0; int d = {20, 20, 20, 20, 20}; uint16_t col = {0x7006, 0xF986, 0x6905, 0x7FF7, 0x024D}; void setup() { tft.reset(); Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setTextSize(2); } void loop() { // put your main code here, to run repeatedly: tft.fillScreen(0xffff); tft.setRotation(1); tft.drawBitmap(350, 70, Temp, 70, 180, 0x0000); tft.fillCircle(385,213,25,tft.color565(255, 0, 0)); for (int p = 0; p < 4000; p++) { j = 120 * (sin(PI * p / 2000)); i = 120 * (cos(PI * p / 2000)); j2 = 110 * (sin(PI * p / 2000)); i2 = 110 * (cos(PI * p / 2000)); tft.drawLine(i2 + 160, j2 + 160, i + 160, j + 160, tft.color565(100, 100, 100)); } ///////////////////////////////////////////////////////////////////// if (b>a){ while (aКруговая диаграмма

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

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" #include "Math.h" MCUFRIEND_kbv tft; #define PI 3.1415926535897932384626433832795 int n, f; int j, j2; int i, i2; int pct = 0; int d = {10, 60, 16, 9, 10}; uint16_t col = {0x7006, 0xF986, 0x6905, 0x7FF7, 0x024D}; void setup() { tft.reset(); Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setTextSize(2); } void loop() { // put your main code here, to run repeatedly: tft.fillScreen(0x0042); tft.setRotation(1); for (int p = 0; p < 4000; p++) { j = 120 * (sin(PI * p / 2000)); i = 120 * (cos(PI * p / 2000)); j2 = 60 * (sin(PI * p / 2000)); i2 = 60 * (cos(PI * p / 2000)); tft.drawLine(i2 + 160, j2 + 160, i + 160, j + 160, col[n]); } n = 0; for (int a = 0; a < 5; a++) { pct += d[n] * 40; f = 4000 - pct; for (int b = 0; b < f; b++) { j = 120 * (sin(PI * b / 2000)); i = 120 * (cos(PI * b / 2000)); j2 = 60 * (sin(PI * b / 2000)); i2 = 60 * (cos(PI * b / 2000)); tft.drawLine(i2 + 160, j2 + 160, i + 160, j + 160, col); } tft.fillCircle(380, 100 + (30 * n), 10, col[n]); tft.setTextColor(0xffff); tft.setCursor(400, 94 + (30 * n)); tft.print(d[n]); tft.print("%"); n++; } while (1); }

Музыка

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; #include "Volume.h" #define BLACK 0x0000 int a = 0,b = 4000,c = 1000,d = 3000; int s=2000; int j, j2; int i, i2; int White; void setup() { Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setRotation(1); } void loop(void) { tft.invertDisplay(true); tft.fillScreen(BLACK); tft.drawRGBBitmap(0, 0, test, 480, 320); White = tft.color565(255, 255, 255); while(1){ if (a < s) { j = 14 * (sin(PI * a / 2000)); i = 14 * (cos(PI * a / 2000)); j2 = 1 * (sin(PI * a / 2000)); i2 = 1 * (cos(PI * a / 2000)); tft.drawLine(i2 + 62, j2 + 240, i + 62, j + 240, White); j = 14 * (sin(PI * (a-300) / 2000)); i = 14 * (cos(PI * (a-300) / 2000)); j2 = 1 * (sin(PI * (a-300) / 2000)); i2 = 1 * (cos(PI * (a-300) / 2000)); tft.drawLine(i2 + 62, j2 + 240, i + 62, j + 240, 0x0000); tft.fillRect(50, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(50, 285); tft.print(a / 40); tft.print("%"); a++; } if (b < s) { j = 14 * (sin(PI * b / 2000)); i = 14 * (cos(PI * b / 2000)); j2 = 1 * (sin(PI * b / 2000)); i2 = 1 * (cos(PI * b / 2000)); tft.drawLine(i2 + 180, j2 + 240, i + 180, j + 240, White); j = 14 * (sin(PI * (b-300) / 2000)); i = 14 * (cos(PI * (b-300) / 2000)); j2 = 1 * (sin(PI * (b-300) / 2000)); i2 = 1 * (cos(PI * (b-300) / 2000)); tft.drawLine(i2 + 180, j2 + 240, i + 180, j + 240, 0x0000); tft.fillRect(168, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(168, 285); tft.print(b / 40); tft.print("%"); b++;} if (c < s) { j = 14 * (sin(PI * c / 2000)); i = 14 * (cos(PI * c / 2000)); j2 = 1 * (sin(PI * c / 2000)); i2 = 1 * (cos(PI * c / 2000)); tft.drawLine(i2 + 297, j2 + 240, i + 297, j + 240, White); j = 14 * (sin(PI * (c-300) / 2000)); i = 14 * (cos(PI * (c-300) / 2000)); j2 = 1 * (sin(PI * (c-300) / 2000)); i2 = 1 * (cos(PI * (c-300) / 2000)); tft.drawLine(i2 + 297, j2 + 240, i + 297, j + 240, 0x0000); tft.fillRect(286, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(286, 285); tft.print(c / 40); tft.print("%"); c++;} if (d < s) { j = 14 * (sin(PI * d / 2000)); i = 14 * (cos(PI * d / 2000)); j2 = 1 * (sin(PI * d / 2000)); i2 = 1 * (cos(PI * d / 2000)); tft.drawLine(i2 + 414, j2 + 240, i + 414, j + 240, White); j = 14 * (sin(PI * (d-300) / 2000)); i = 14 * (cos(PI * (d-300) / 2000)); j2 = 1 * (sin(PI * (d-300) / 2000)); i2 = 1 * (cos(PI * (d-300) / 2000)); tft.drawLine(i2 + 414, j2 + 240, i + 414, j + 240, 0x0000); tft.fillRect(402, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(402, 285); tft.print(d / 40); tft.print("%"); d++;} if (a > s) { j = 14 * (sin(PI * a / 2000)); i = 14 * (cos(PI * a / 2000)); j2 = 1 * (sin(PI * a / 2000)); i2 = 1 * (cos(PI * a / 2000)); tft.drawLine(i2 + 62, j2 + 240, i + 62, j + 240, White); j = 14 * (sin(PI * (a+300) / 2000)); i = 14 * (cos(PI * (a+300) / 2000)); j2 = 1 * (sin(PI * (a+300) / 2000)); i2 = 1 * (cos(PI * (a+300) / 2000)); tft.drawLine(i2 + 62, j2 + 240, i + 62, j + 240, 0x0000); tft.fillRect(50, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(50, 285); tft.print(a / 40); tft.print("%"); a--;} if (b > s) { j = 14 * (sin(PI * b / 2000)); i = 14 * (cos(PI * b / 2000)); j2 = 1 * (sin(PI * b / 2000)); i2 = 1 * (cos(PI * b / 2000)); tft.drawLine(i2 + 180, j2 + 240, i + 180, j + 240, White); j = 14 * (sin(PI * (b+300) / 2000)); i = 14 * (cos(PI * (b+300) / 2000)); j2 = 1 * (sin(PI * (b+300) / 2000)); i2 = 1 * (cos(PI * (b+300) / 2000)); tft.drawLine(i2 + 180, j2 + 240, i + 180, j + 240, 0x0000); tft.fillRect(168, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(168, 285); tft.print(b / 40); tft.print("%"); b--;} if (c > s) { j = 14 * (sin(PI * c / 2000)); i = 14 * (cos(PI * c / 2000)); j2 = 1 * (sin(PI * c / 2000)); i2 = 1 * (cos(PI * c / 2000)); tft.drawLine(i2 + 297, j2 + 240, i + 297, j + 240, White); j = 14 * (sin(PI * (c+300) / 2000)); i = 14 * (cos(PI * (c+300) / 2000)); j2 = 1 * (sin(PI * (c+300) / 2000)); i2 = 1 * (cos(PI * (c+300) / 2000)); tft.drawLine(i2 + 297, j2 + 240, i + 297, j + 240, 0x0000); tft.fillRect(286, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(286, 285); tft.print(c / 40); tft.print("%"); c--;} if (d > s) { j = 14 * (sin(PI * d / 2000)); i = 14 * (cos(PI * d / 2000)); j2 = 1 * (sin(PI * d / 2000)); i2 = 1 * (cos(PI * d / 2000)); tft.drawLine(i2 + 414, j2 + 240, i + 414, j + 240, White); j = 14 * (sin(PI * (d+300) / 2000)); i = 14 * (cos(PI * (d+300) / 2000)); j2 = 1 * (sin(PI * (d+300) / 2000)); i2 = 1 * (cos(PI * (d+300) / 2000)); tft.drawLine(i2 + 414, j2 + 240, i + 414, j + 240, 0x0000); tft.fillRect(402, 285, 30, 30, 0x0000); tft.setTextSize(2); tft.setTextColor(0xffff); tft.setCursor(402, 285); tft.print(d / 40); tft.print("%"); d--;} } }

Спидометр

#include "Adafruit_GFX.h" // Core graphics library #include "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; #define BLACK 0x0000 #include "Gauge.h" #include "Fonts/FreeSans9pt7b.h" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/FreeSerif12pt7b.h" #include "FreeDefaultFonts.h" int a = 1000; int b = 4000; int j, j2; int i, i2; void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) { int16_t x1, y1; uint16_t wid, ht; tft.setFont(f); tft.setCursor(x, y); tft.setTextSize(sz); tft.println(msg); } void setup() { Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setRotation(1); } void loop(void) { tft.invertDisplay(true); tft.fillScreen(BLACK); tft.drawRGBBitmap(0, 0, test, 480, 320); if (a < b) { while (a < b) { Serial.println(a); j = 80 * (sin(PI * a / 2000)); i = 80 * (cos(PI * a / 2000)); j2 = 50 * (sin(PI * a / 2000)); i2 = 50 * (cos(PI * a / 2000)); tft.drawLine(i2 + 235, j2 + 169, i + 235, j + 169, tft.color565(0, 255, 255)); tft.fillRect(200, 153, 75, 33, 0x0000); tft.setTextSize(3); tft.setTextColor(0xffff); if ((a/20)>99) tft.setCursor(208, 160); else tft.setCursor(217, 160); tft.print(a / 20); a++; } b = 1000; } ////////////////////////////////////////////////////////////////// while (b < a) { j = 80 * (sin(PI * a / 2000)); i = 80 * (cos(PI * a / 2000)); j2 = 50 * (sin(PI * a / 2000)); i2 = 50 * (cos(PI * a / 2000)); tft.drawLine(i2 + 235, j2 + 169, i + 235, j + 169, tft.color565(0, 0, 0)); tft.fillRect(200, 153, 75, 33, 0x0000); tft.setTextSize(3); tft.setTextColor(0xffff); if ((a/20)>99) tft.setCursor(208, 160); else tft.setCursor(217, 160); tft.print(a / 20); a--; } while (1); }

Веселый человечек

В этом шаблоне мы отображаем простые изображения один за другим очень быстро с помощью функции растрового изображения. Таким образом, вы можете сделать свою анимацию этим трюком. Загрузите файл.h и добавьте его в папку эскиза Arduino.

#include "Adafruit_GFX.h" #include "MCUFRIEND_kbv.h" MCUFRIEND_kbv tft; #include "image.h" #include "Fonts/FreeSans9pt7b.h" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/FreeSerif12pt7b.h" #include "FreeDefaultFonts.h" #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF #define GREY 0x8410 #define ORANGE 0xE880 void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) { int16_t x1, y1; uint16_t wid, ht; tft.setFont(f); tft.setCursor(x, y); tft.setTextColor(WHITE); tft.setTextSize(sz); tft.print(msg); } void setup() { Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.setRotation(1); tft.invertDisplay(true); tft.fillScreen(tft.color565(0,20,0)); showmsgXY(20, 40, 2, &FreeSans9pt7b, "La Linea"); tft.setRotation(0); } void loop(){ while(1){ tft.drawBitmap(20, 180, Line1, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line2, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line3, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line4, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line5, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line6, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line7, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line8, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line9, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line10, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line11, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line12, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line13, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line14, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line15, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line16, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line17, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128,tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line18, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line19, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line20, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line21, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line22, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line23, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line24, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line25, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128,tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line26, 258, 128, WHITE);delay(40); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); tft.drawBitmap(20, 180, Line27, 258, 128, WHITE);delay(60); tft.fillRect(20, 180, 258, 128, tft.color565(0,20,0)); } }

Изображение

В этом шаблоне мы просто показываем некоторые изображения с помощью функций RGBbitmap и bitmap . Просто создайте код для сенсорного экрана и используйте этот шаблон. Загрузите файл.h и добавьте его в папку эскиза Arduino.

#include "Adafruit_GFX.h" // Core graphics library #include "MCUFRIEND_kbv.h" // Hardware-specific library MCUFRIEND_kbv tft; #define BLACK 0x0000 #define RED 0xF800 #define GREEN 0x07E0 #define WHITE 0xFFFF #define GREY 0x8410 #include "images.h" #include "Fonts/FreeSans9pt7b.h" #include "Fonts/FreeSans12pt7b.h" #include "Fonts/FreeSerif12pt7b.h" #include "FreeDefaultFonts.h" int a = 3000; int b = 4000; int j, j2; int i, i2; void showmsgXY(int x, int y, int sz, const GFXfont *f, const char *msg) { int16_t x1, y1; uint16_t wid, ht; // tft.drawFastHLine(0, y, tft.width(), 0xffff); tft.setFont(f); tft.setCursor(x, y); tft.setTextColor(WHITE); tft.setTextSize(sz); tft.print(msg); delay(1000); } void setup() { Serial.begin(9600); uint16_t ID = tft.readID(); tft.begin(ID); tft.invertDisplay(true); tft.setRotation(1); } void loop(void) { tft.invertDisplay(true); tft.fillScreen(BLACK); tft.drawRGBBitmap(0, 0, test, 480, 320); tft.drawBitmap(20, 20, Line1, 45, 45, 0xffff);//battery tft.drawBitmap(65, 20, Line2, 45, 45, 0xffff);//wifi tft.drawBitmap(125, 25, Line3, 45, 45, 0xffff);//mail tft.drawBitmap(185, 25, Line4, 45, 45, 0xffff);//instagram tft.drawBitmap(245, 25, Line6, 45, 45, 0xffff);//power tft.drawBitmap(20, 260, Line5, 45, 45, 0xffff);//twitter tft.drawBitmap(410, 140, Line7, 45, 45, 0xffff);//rain tft.setTextSize(6); tft.setTextColor(0xffff); tft.setCursor(280, 210); tft.print("20:45"); tft.setTextSize(2); tft.setTextColor(0xffff); showmsgXY(330, 280, 1, &FreeSans12pt7b, "Saturday"); showmsgXY(300, 305, 1, &FreeSans12pt7b, "6 October 2018"); while (1); }

Итог

Скачайте архив с файлами .h ниже:

  • Скорость воспроизведения всех файлов GIF отредактирована, они сделаны быстрее или медленнее для лучшего понимания. Скорость движений зависит от скорости вашего процессора или типа кода, а также от размера и толщины элементов в коде.
  • Вы можете добавить код изображения на главной странице, но он заполняет всю страницу. Таким образом, вы можете сделать файл a.h и добавить в папку эскиза.
  • В этой статье мы только что разобрали отображение элементов на ЖК-дисплее. Следите за следующим урокам, чтобы узнать, как используются сенсорные экраны и SD-карты.
  • Если у вас есть проблемы с включением библиотек, измените знак кавычки "" на <>.

На этом пока всё. Делитесь этим руководством по TFT LCD для Arduino со своими друзьями и коллегами.

Проходясь по техническим описаниям современных смартфонов мы часто видим аббревиатуры TFT или IPS в графе дисплей.

TFT - это технология, в которой кристаллы в дисплее расположенны по спирали и при максимально возможном напряжении, они поворачиваются так, что экран показывает черный цвет, если напряжения нет мы увидим белый цвет. Используется как правило в бюджетных моделях, например . Такие дисплеи не могут выдавать идеальный черный цвет, на выходе получается темно серый.

IPS это та же TFT, но усовершенствованная

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

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

Более приоритетным использование TFT дисплеев видится в простых телефонах, которые человек покупает что бы звонить, а не в контакте сидеть, вот вам еще один пример звонилки . Приемущество кроется в гораздо более меньшем энергопотреблении нежели в IPS дисплеях. А вот современный смартфон с простым TFT дисплеем встретить можно все реже.

Не удивляйтесь, если в технических характеристиках дорогого смартфона вы увидите аббревиатуру TFT, это может быть IPS дисплей, ведь IPS - это разновидность TFT как и AMOLED и Super AMOLED.

От IPS и TFT появились производные технологии. У IPS это Super IPS и UA-IPS - по большому счету одно и то же, но с некоторыми усовершенствованиями. У TFT это TN+Film - способная к более качественной передаче оттенков.

Разница между качеством изображения в IPS и просто TFT бросается в глаза. При наклоне, обычный TFT без IPS технологии, чернеет так, что уже невозможно ничего разобрать, а вот с IPS держится, как ни в чем не бывало, удивительно, до чего дошли технологии)

При выборе монитора многие пользователи сталкиваются с тем с вопросом: что лучше PLS или IPS.

Эти две технологии существуют достаточно давно и обе себя достаточно хорошо показывают.

Если смотреть различные статьи в интернете, то там пишут либо о том, что каждый должен сам решить, что лучше, либо вообще не дают ответа на поставленный вопрос.

Собственно, никакого смысла в этих статьях нет вообще. Ведь пользователям они никак не помогают.

Поэтому мы разберем то, в каких случаях лучше выбрать PLS или IPS и дать те советы, которые помогут сделать правильный выбор. А начнем с теории.

Что такое IPS

Сразу стоит сказать, что на данный момент именно рассматриваемые два варианта являются лидерами на рынке техники.

И далеко не каждый специалист сможет сказать, какая же технология лучше и какие есть преимущества у каждой из них.

Итак, само слово IPS расшифровывается In-Plane-Switching (буквально «внутриплощадочное переключение»).

А также эта аббревиатура означает Super Fine TFT («супертонкий TFT»). TFT, в свою очередь, обозначает Thin Film Transistor («тонкопленочный транзистор»).

Если сказать проще, то TFT – это технология отображения картинки на , которая основана на активной матрице.

Достаточно сложно.

Ничего. Сейчас разберемся!

Итак, в технологии TFT управление молекулами жидких кристаллов в происходит с помощью тонкопленочных транзисторов, это и означает «активная матрица».

IPS – это точно то же самое, только электроды в мониторах с этой технологией находятся на одной плоскости с молекулами жидких кристаллов, которые находятся параллельно плоскости .

Все это можно наглядно видеть на рисунке №1. Там, собственно, и изображены дисплеи с обеими технологиями.

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

Рис. №1. TFT и IPS экраны

Отличие этих технологий состоит только в том, что ЖК молекулы в TFT расположены не параллельно, а в IPS – параллельно.

Благодаря этому они могут быстро менять угол обзора (если конкретно, здесь он составляет 178 градусов) и давать лучшую картинку (в IPS).

А также за счет такого решения существенно повысилась яркость и контрастность картинки на экране.

Теперь понятно?

Если нет, пишите в комментариях свои вопросы. Мы обязательно на них ответим.

Технология IPS была создана в 1996 году. Среди ее преимуществ стоит отметить отсутствие так называемого «волнения», то есть неправильной реакции на прикосновение.

А также она отличается отличной передачей цветов. Достаточно много фирм выпускают мониторы с использованием данной технологии, в том числе , NEC, Dell, Chimei и даже .

Что такое PLS

Очень долгое время производитель не говорил вообще ничего о своем детище и многие эксперты выдвигали различные предположения относительно характеристик PLS.

Собственно, и сейчас эта технология является покрытой большим количеством тайн. Но мы все-таки найдем правду!

PLS была выпущена в 2010 году в качестве альтернативы вышеупомянутой IPS.

Эта аббревиатура расшифровывается как Plane To Line Switching (то есть «переключение между линиями»).

Напомним, что IPS – это In-Plane-Switching, то есть «переключение между линиями». Имеется в виду переключение в плоскости.

И выше мы говорили о том, что в этой технологии жидкокристаллические молекулы быстро становятся плоскими и за счет этого достигается лучший угол обзора и другие характеристики.

Так вот, в PLS все происходит точно так же, но быстрее. На рисунке №2 все это показано наглядно.

Рис. №2. Работа PLS и IPS

На этом рисунке вверху находится сам экран, затем кристаллы, то есть те же ЖК молекулы, что на рисунке №1 были обозначены синими палочками.

Снизу показан электрод. Слева в обоих случаях показано их расположение выключенном состоянии (когда кристаллы не двигаются), а справа – во включенном.

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

Но, как видим на рисунке №2, эти кристаллы быстрее приобретают нужную форму – ту, которая необходима для максимально .

За определенный отрезок времени молекулы в IPS мониторе не становятся в перпендикулярное положение, а в PLS становятся.

То есть в обеих технологиях все то же самое, но в PLS все происходит быстрее.

Отсюда промежуточный вывод – PLS работает быстрее и, по идее, именно эту технологию можно было бы считать лучшей в нашем сравнении.

Но окончательные выводы пока что делать рановато.

Это интересно: Компания Samsung несколько лет назад подала иск на LG. В нем утверждалось, что технология AH-IPS, которая используется LG, является модификацией технологии PLS. Отсюда можно сделать вывод, что PLS – это разновидность IPS и это признал сам разработчик. Собственно, это подтвердили и мы немного выше.

Что лучше PLS или IPS? Как выбрать хороший экран - руководство

А что если я ничего не понял?

В таком случае вам поможет видео, которое находится в конце этой статьи. Там наглядно показаны мониторы TFT и IPS в разрезе.

Вы сможете увидеть, как все это работает и понять, что PLS все происходит точно так же, но быстрее, чем в IPS.

Теперь можем переходить к дальнейшему сравнению технологий.

Мнения экспертов

На некоторых сайтах можно найти информацию о проведенном независимом исследовании PLS и IPS.

Специалисты сравнивали эти технологии под микроскопом. Пишется, что в итоге они не нашли никаких отличий.

Другие эксперты пишут, что лучше все же покупать PLS, но толком не объясняют почему.

Среди всех высказываний экспертов можно выделить несколько основных моментов, которые можно наблюдать практически во всех мнениях.

Состоят эти моменты в следующем:

  • Мониторы с PLS матрицами самые дорогостоящие на рынке. Самый дешевый вариант – TN, но такие мониторы по всем характеристикам уступают и IPS, и PLS. Так вот, большинство экспертов сходятся во мнении, что это весьма оправданно, ведь картинка лучше отображается именно на PLS;
  • Мониторы с PLS матрицей лучше всего подойдут для выполнения всевозможных дизайнерских и проектировочных задач. А также такая техника прекрасно справится с работой профессиональных фотографов. Опять же, из этого можно сделать вывод, что PLS лучше справляется с передачей цветов и обеспечением достаточной четкости изображения;
  • По мнению экспертов, мониторы PLS практически избавлены от таких проблем, как блики и мерцания. К такому выводу они пришли во время испытаний;
  • Офтальмологи говорят, что PLS будет намного лучше восприниматься глазами. Более того, глазам будет намного легче целый день смотреть на PLS, чем на IPS.

В общем, из этого всего мы снова делаем тот вывод, который мы уже сделали раньше. PLS немного лучше, чем IPS. И это мнение подтверждает большинство экспертов.

Что лучше PLS или IPS? Как выбрать хороший экран - руководство

Что лучше PLS или IPS? Как выбрать хороший экран - руководство

Наше сравнение

А теперь перейдем к финальному сравнению, которое и даст ответ на поставленный в самом начале вопрос.

Те же эксперты выделяют ряд характеристик, по которым и нужно сравнивать различные .

Речь идет о таких показателях, как светочувствительность, скорость отклика (имеется в виду переход от серого к серому), качество (плотность пикселей без потери других характеристик) и насыщенность.

По ним мы и будем оценивать две технологии.

Таблица 1. Сравнение IPS и PLS по некоторым характеристикам

Другие характеристики, в том числе насыщенность и качество, являются субъективными и зависят от каждого конкретного человека.

Но и по приведенным выше показателям видно, что у PLS немного более высокие характеристики.

Таким образом, мы снова подтверждаем вывод о том, что эта технология показывает себя лучше, чем IPS.

Рис. №3. Первое сравнение мониторов с IPS и PLS матрицами.

Есть единственный «народный» критерий, который и позволяет точно определить, что же лучше – PLS или IPS.

Этот критерий называется «на глаз». На практике это означает, что нужно просто взять и посмотреть на два рядом стоящих монитора и визуально определить, где картинка лучше.

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

Рис. №4. Второе сравнение мониторов с IPS и PLS матрицами.

Рис. №5. Третье сравнение мониторов с IPS и PLS матрицами.

Рис. №6. Четвертое сравнение мониторов с IPS и PLS матрицами.

Рис. №7. Пятое сравнение мониторов с IPS (слева) и PLS (справа) матрицами.

Визуально видно, что на всех образцах PLS картинка выглядит намного лучше, более насыщенно, ярче и так далее.

Выше мы упоминали, что TN – самая недорогая на сегодняшний день технология и мониторы с ее использованием, соответственно, тоже стоят дешевле остальных.

После них по цене идут IPS, а затем уже и PLS. Но, как видим, все это вовсе не удивительно, ведь картинка действительно выглядит намного лучше.

Другие характеристики в этом случае также выше. Многие эксперты советуют покупать с PLS матрицами и Full HD-разрешением.

Тогда изображение действительно будет выглядеть просто прекрасно!

Невозможно точно сказать, является ли такое сочетание лучшим на рынке на сегодняшний день, но одним из лучших точно.

Кстати, для сравнения можете видеть, как выглядит IPS и TN под острым углом обзора.

Рис. №8. Сравнение мониторов с IPS (слева) и TN (справа) матрицами.

Стоит сказать, что Samsung создали сразу две технологии, которые используются в мониторах и в / и смогли значительно обойти IPS.

Речь идет о Super AMOLED экранах, которые стоят на мобильных устройствах этой фирмы.

Интересно, что разрешение Super AMOLED обычно меньше, чем на IPS, но картинка более насыщенная и яркая.

Но в случае с PLS выше практически все, что только может быть, в том числе и разрешение.

Можно сделать общий вывод о том, что PLS лучше, чем IPS.

Кроме всего прочего, у PLS есть следующие преимущества:

  • способность передачи весьма широкого спектра оттенков (помимо основных цветов);
  • способность поддерживать весь диапазон sRGB;
  • более низкое потребление энергии;
  • углы обзора позволяют комфортно видеть картинку сразу нескольким людям;
  • всевозможные искажения абсолютно исключены.

В общем, IPS мониторы прекрасно подойдут для решения обычных домашних задач, к примеру, просмотра фильмов и работы в офисных программах.

Но если вам хочется видеть действительно насыщенное и качественное изображение, покупайте технику с PLS.

Особенно это касается случаев, когда вам нужно будет работать с и дизайнерскими/проектировочными программами.

Цена у них, конечно, будет выше, но оно того стоит!

Что лучше PLS или IPS? Как выбрать хороший экран - руководство

Что такое amoled, super amoled, Lcd, Tft, Tft ips? Не знаешь? Смотри!

Loading...Loading...