Распиновка матрицы lg. Мир периферийных устройств пк. Прошивки находятся здесь

Доброго времени суток! Сегодня я вам расскажу как при помощи одной посылочки из Китая и хлама который валяется у вас дома сделать телевизор , ну или по крайней мере монитор . Дело в том, что у многих, наверное, валяются еще древние ноутбуки, какие-то испорченные мониторы, нерабочие планшеты и все это можно пустить в ход. Ну да отдельно матрицу подключить нельзя, но с помощью нехитрого устройства, а именно универсального скалера , можно подключить любую матрицу к HDMI , VGA или даже сделать телевизор.

И так, что мы имеем.

Я заказал себе довольно такой продвинутый скалер.

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

Разбираем планшет, чтоб получить доступ к матрице.

Отключаем все шлейфы и отбрасываем в сторону все, кроме матрицы.

Матрицы имеют довольно стандартное подключение , в них интерфейс LVDS и стандартизированный ряд разъёмов . Какой разъем у вашей матрицы можете посмотреть по внешнему виду либо же по даташиту . На каждый тип матрицы существует отдельный шлейф. Например у меня есть несколько шлейфов.

1 – это более старый стандарт, там где матрицы еще были с ламповой подсветкой.

2 – более новый стандарт, там где LED-матрицы идут.

3 – эти разъёмы встречаются в 7 дюймовых планшетах и разных небольших.

С другой стороны разъёмы более-менее стандартизированы и подходят в практически любой универсальный скалер.

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

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

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

Дольше идет следующий набор перемычек, это выставляется разрешение экрана. Хочу заметить, что помимо разрешения экрана еще меняется битность. На обратной стороне скалера есть шпаргалка, в которой написано разрешение и битность. Битность бывает 6-bit и 8-bit, визуально разъёмы 6-ти и 8-ми битные различаются по количеству контактов. Информацию какой битности ваша матрица опять же читаем в даташите.

Прежде чем переходить к матрице необходимо изучить даташит, его очень легко найти по наклейке, которая находится сзади матрицы. В моем случае это «LP101WX1 ». В даташите на матрицу нас интересуют 3 или 4 пункта, в зависимости от того это LED-матрица или это матрица с лампой с холодным катодом. Прежде всего, определим какое разрешение матрицы, просто листаем даташит и ищем эту запись. Здесь у нас в таблице указан формат пикселей (Pixel Fotmat) то есть это 1280×800, соответственно перемычками на сайлере необходимо выбрать это разрешение. Ширина интерфейса соответствует количеству цветов, в данном случае это 6-bit или 262 144 цветов. Этих двух параметров нам достаточно чтоб выбрать правильный режим работы матрицы.

Но для того чтобы матрица выжила нам еще нужно выставить правильное напряжение , листаем дальше. И вот у нас сводная таблица электрических характеристик. Logic, то есть питание логики, напряжение питания логики (Power Supply Input Voltage) от 3,0 до 3,6 вольт, типичное 3,3 вольта, соответственно перемычку питания матрицы выставляем на 3.3 вольта.

И на всякий случай смотрим подсветку, этот пункт нужно смотреть только в том случает если матрица с LED подсветкой. Как написано на плате, плата питается от 12 вольт, а наша подсветка работает от 5 до 21 вольта, 12 как раз будет в самый раз. Я других матриц не встречал у которых напряжение питания 5 вольт, но предполагаю, что такое может быть, если будете использовать матрицу из какого ни будь маленького планшета. Поэтому вот этот параметр обязательно смотрите, иначе можете просто испортить подсветку матрицы. Если же питание будет отличное от 12 вольт, то напрямую подключать разъем питание подсветки нельзя, нужно будет обеспечить нужное напряжение питания.

И так, настраиваем скалер в соответствии с данными из даташита. Меня интересует разрешение 1280×800 и 6-bit, для этого ставлю перемычки F и G

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

1 — первые два разъема это питание

2 – последовательный порт

3 – DC-DC преобразователь

4 – линейный стабилизатор

5 – разъемы (VGA, HDMI, RCA, звук и высокочастотное подключение антенны)

6 – управление подсветкой

7 – кнопки и всякое управление

8 – разъем LVDS, куда подключается матрица

9 — память

10 – процессор

11 – усилитель мощности

12 – TV-тюнер

Подробнее о разъёмах

Разъем управления подсветкой.

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

Если же матрица древняя на , определить это можно по дополнительным проводам выходящим из матрицы.

В матрице могут быть установлены такие лампы и из нее выходят провода. В ноутбуках обычно выходит 1 провод, в матрице монитора 2 или 4. Для того чтобы подключить такую матрицу можно использовать универсальный инвертор для подсветки . Он бывает на 1, 2 и 4 выхода, т.е. каждый выход это подключение одной лампы. Инвертор нужно подбирать по количеству ламп в вашей матрице, то есть нельзя подключить в инвертор с 4-мя выходами только 2 лампы, так как инвертер уйдет в защиту, потому что все выходы должны быть равномерно нагружены. Поэтому если матрица на 2 лампы, покупаем инвертор на 2 выхода, если на 1 лампу, покупаем на 1 выход. Разъемы унифицированы поэтому подходят сразу 1 в 1, просто вот так втыкаются и все.

Приступим к подключению

Для этого нам нужен шлейф, он легко втыкается, перемычки на плате уже сконфигурированы. LVDS выравниваем по первой ножке , на шлейфе это маркировка в виде пятна краски, а на плате треугольник — это первая ножка.

На всякий случай проверяем, подходит ли подсветка. Красный – плюс, черный – минус и единственный провод это включение подсветки. Переворачиваем плату на обратную сторону и сравниваем надписи возле контактов с проводами, если все сходится подключаем.

Еще нам нужно какое ни будь управление. Кстати подробнее об управлении, колодка, куда я подключил ИК-приемник это управление. Сюда идут кнопки, они все подписаны, кнопки можно приобрести отдельно или подключить свои.

В принципе это все, все что нужно подключили.

Переворачиваем матрицу и подключаем питание. Если вы собираетесь подключаться к компьютеру, то можно взять питание с БП компьютера. Включаем…

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

Ну что, попробуем подключить камеру через HDMI. В общем подключив камеру получилось, что полутона цветов отображались неправильно.

Я сначала подумал что сгорел буфер опорных напряжений в матрице, но подключив матрицу к планшету понял, что с матрицей все в порядке, она не сгорела. Покопавшись на просторах интернета, нашел сервисное меню. Оказывается нужно в сервисном меню изменить способ работы скалера с матрицей. Для этого заходим в меню и набираем код 8896, и нам открывается сервисное меню. В меню находим системные настройки (System setting) -> Настройки панели (Panel setting) -> и просто изменяем цветовую схему (Color set). Перебирая все варианты находим самый оптимальный, для меня это был 3. В других моделях скалеров может быть другой код доступа в сервисное меню и немного другой путь к настройкам цветовой схемы.

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

Таким же способом можно подключить матрицу от почти любого планшета или монитора.

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

Разъем матрицы ноутбука определяется по количеству контактных ножек, их число может быть равно 20, 30 или 40. Наиболее распространенными стали 30- и 40-контактные разъемы, они присутствуют почти на всех моделях ноутбуков. 30-контактные разъемы устанавливаются на ламповых матрицах, и они считаются устаревшими. Если ноутбук выпущен давно, найти аналогичную деталь от того же производителя бывает сложно, приходится подбирать аналоги, соответствующие не только по разъему, но и по целому ряду дополнительных технических характеристик.

Если вы выбираете светодиодную матрицу, необходимо обратить внимание на разъем подсоединения шлейфа: он может иметь правостороннее и левостороннее расположение, при правостороннем варианте шлейф будет более длинным.

Можно перечислить несколько широко распространенных и редко встречающихся разъемов для матрицы ноутбука:

  • 14 pin и 20 pin - экзотика, которая еще встречается на ноутбуках старого образца. Для устаревшего ноутбука сложно подобрать комплектующие, иногда проще и дешевле просто приобрести новое устройство, чем подбирать запчасти для замены.
  • 20 pin slim, другое название такого разъема «гребенка». Это еще один вариант экзотики, сегодня такой разъем можно встретить только на технически устаревших моделях.
  • 20 pin new standart. Разъем такого типа применяется на матрицах с диагональю меньше 14 дюймов, сегодня такой вариант встречается относительно редко.
  • 30 pin - распространенное решение, разъем используется на матрицах с диагональю 14-20 дюймов.
  • 40 pin - самый распространенный на сегодня вариант, он устанавливается преимущественно на матрицах с диагональю 15,6 дюйма. Именно такие матрицы выпускаются производителями LG-Philips, Samsung, Chi Mei и многими другими. По таблицам совместимости можно подобрать модели, идентичные по всем техническим параметрам.
Замена разъема матрицы ноутбука требует отработанных навыков пайки, поэтому самостоятельно браться за такую работу не рекомендуется. Полностью восстановить пострадавший разъем крайне сложно, обычно все равно приходится менять пострадавшую деталь на новую. Распиновка разъема матрицы ноутбука и их взаимная совместимость указывается в таблицах на сайтах производителей, а также на специализированных форумах.

Подбор подходящей для замены матрицы

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

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

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

Ты конечно понимаешь, мой друг, как можно использовать этот девайс в своих хакерских (и не только) целях. Если выбрать все детальки SMD-шные, то можно получить реально небольшое устройство для вывода на экран с портом RS232. Дисплей использовал: Nokia 6100/6610/7200/7250/3100 в рамке с коннектором.

Такой экран несложно найти в Интернет-магазинах, например www.siruist.ru , www.sparkfun.com или в палатках, где продают запчасти для мобильных телефонов (стоит он 150-200 руб) . Либо просто выдрать дисплей из старого телефона. Но если такой не нашёл - не беда. Изучив эту статью и исходные коды и поразмыслив головой, ты можешь завести дисплеи от Nokia N95 или Sony PSP.

Почему я выбрал такой дисплей – он удобен в пайке. Смотри на скриншоте распиновку.

Как видно, существует коннектор на дисплее к которому тяжело подпаяться (шаг 0.5мм). Поэтому лучше ищите дисплеи с такой распиновкой как здесь.

Распиновка дисплея:

    VCC-Digital (3.3V)

    VCC-Display (3.3V)

На рисунке вы можете видеть 3 дисплея:

На крайнем левом отсутствуют контакты для удобной пайки (только коннектор). На остальных контакты и коннектор присутствуют. Также важно, что встроенный контроллер у каждого экрана разный. Для этого дисплея существует 2 вида контроллеров:

У каждого контроллера своя система команд и, соответственно, софт для одного из них не будет работать для другого. Народ научился различать эти контроллеры по цвету коннектора: коричневый - Epson S1D15G10, зелёный - PCF8833.

Но это не факт. Я советую прошить микроконтроллер для 2 видов дисплеев и посмотреть результат. К примеру на скриншоте все дисплеи с контроллером PCF8833. Я писал исходный код микроконтроллера для PCF8833, но совершенно не сложно изменить его и для Epson`a!

Ну вроде с трудностями закончили, переходим к нашей схемке:

А остальное всё есть на схеме.

6.5В нам нужно на подсветку (от 6В до 7В = max). Регулируется подстроечным R8. Также ВАЖНО – разделить землю у дисплея (т.е. землю (выводы 8,9 коннектора) напрямую присоединить к входу 2 разъёма источника питания) – это нужно для защиты от помех. Желательно поставить 2 различных преобразователя из 5В в 3.3В – один для питания контроллера и периферии дисплея, второй – для непосредственно дисплея (выходы 1,6 – соответственно коннектора дисплея).

После разбора с железкой и пайкой приступаем к программированию для Atmega.

Открываем WinAVR, создаём проект, будем писать на С. Я отказался от assembler`a потому что код стал реально громоздким.

#include
#include // для задержки
#include "lcd.h" // определения для PFC8833
#include "font.h" // определение шрифта

void sendCMD(byte cmd); //послать команду на PFC8833
void sendData(byte cmd); //
послать байт данных
void InitLCD(void); // инициализация дисплея
void shiftBits(byte b); //
перестановкой выводов портов эмулируем SPI
void setPixel(byte r,byte g,byte b);
//
пишет в видеопамять дисплея 3 байта (r,g,b) с заданным цветом
…..
void PointXY(int x,int y,byte r,byte g,byte b)
//
рисует точку на экране с координатами x,y и цветом r,g,b
{
sendCMD(CASET); // column set (po x)
sendData(x);
// команда CASET – задаёт область рисования по x, от byte1 до byte2
sendData(x); // у нас byte1=byte2 , так как рисуем точку
sendCMD(PASET); // page set (po y)
sendData(y); // аналогично для y
sendData(y);
sendCMD(RAMWR);
setPixel(r,g,b); //пишем в память
}

Я привёл только часть кода. Все исходники можно найти в . У данного дисплея – 4096 цветов, следовательно 12 бит на пиксел RRRRGGGGBBBB.

Так же я написал консольную прожку для компа для рисования (исходники также есть в архиве).

В итоге наш девайс способен выводить:

  • окружность;

  • прямоугольник (закрашенный/нет);

    символ (первой половины ASCII (0x00

  • изображение (до (132 на 132)).

С символами нет проблем, ты можешь запросто добавить любой шрифт. Давайте взглянем на результаты:

Взаимозаменяемость матриц, это частый вопрос, который возникает в процессе ремонта ноутбука.
Разберём всё подробно и по пунктам.
Всё это косается современных матриц с LVDS управлением. Начиная с 1999 года производитель наконец то начал стандартизировать свои матрицы и на сегодня мы имеем следущее документы по матрицам.

Последнего стандарта 4.0 от 2007 года я не имею, но всё ясно по последнему доступному документу

1. ЕЕПРОМ НА МАТРИЦЕ
На матрице как правило устанавливают микросхму памяти (еепром) в которой прописаны характеристики матрицы, т.е. указание ноутбуку, какая стоит матрица и как с ней работать. Еепром на матрице может стоять, а может и не стоять (все современные матрицы имеют установленный еепром согласно стандартизации, а старые матрицы могут еепром не иметь).
Большенство ноутбуков использует еепром матрицы, а в части ноутбуков матрица выставляется джамперами или перемычками на шлейфах. Прошу обратить внимание, на то, что на некоторых матрицах, гдее еепром отсутствует все контакты выводов еепром могут быть подключены на массу и при подключении такой матрицы в ноутбук, где еепром опрашивается, возможно повреждение материнской платы, а именно выгорание видеочипа или канала питания еепром. Если у вас есть матрица без еепрома, то можно установить в неё еепром с разбитой или неисправной матрицы.

2. КРЕПЛЕНИЕ МАТРИЦ
Даже похожие матрицы могут иметь разницу в креплениях.
17" матирицы , боковые крепления идентичные, но может возникнуть проблемы с плоскостными креплениями (наличие и отсутствие "ушей" рис. ниже) , также как исключение ACER 17xx series, где стоит матрица от настольного лсд монитора. (Есть несколько вариантов и китайских буков, а так же какой то ровер, но это мы не рассматриваем)
В случае, если они лишние, как правило, решается их демонтажём.
16" матрицы , бывают двух типов, HITACHI и SHARP,
15.4" матрицы боковые крепления идентичные, но может возникнуть проблемы с плоскостными креплениями (наличие и отсутствие "ушей") Исключение составляют 2х ламповые матрицы
15.2" матрицы выпускались только одной фирмой и уникальны
15" матрицы

standart 1 это A=12,5 B=169,5
standart 2 это A=21,5 B=196,5
(см. рисунок)
Исключения состовляют несколько моделей старых матриц HITACHI, где хоть и отверстия расположенны согласно стандарту но рамка матрицы заметно смещена в сторону правого края и в вверх, и несколько моделей старых китайских производителей того же типа, что и hitachi
14" обычные (НЕ широкоформатные матрицы)
Существует 2 основных типа с креплениями находящимися в разных местах, тоесть расстояние от края до первого отверстия это обозначим А , а от первого отверстия до второго В
14 standart 1 это A=15 B=69
standart 2 это A и B имеют другие значения, нет под рукой.
(см. рисунок)
Исключения состовляют несколько моделей старых матриц HITACHI, где хоть и отверстия расположенны согласно стандарту но рамка матрицы заметно смещена в сторону правого края и в вверх
Так же исключения составляют матрицы предназначеные под тачскрин, крепления совершенно другие даже по форме.
14" WIDE (широкоформатные матрицы)
Существует 2 основных типа с одинаковыми креплениями, но отличающиеся размерами самого экрана. Вот тут внимание, они не взаимозаменяемы , более того имеют различные размеры, т.е. первый тип шире и ниже, а второй уже и выше. Сам попадал на это не раз.
Как пример:
13.3" обычные (НЕ широкоформатные матрицы) которые попали под стандартизацию идентичны по креплениям, более старые имеют столько вариантов, что учитывая древность, даже и не буду тут упоминать.
13.3" WIDE (широкоформатные матрицы) имеют идентичные крепления, но иногда различную (хоть и небольшую) толшину рамки, к примеру в sony ставят гораздо тоньше чем в прочие аппараты (как пример тонких матриц sharp lq133k1la4a и ltd133ex2x )
12.1" обычные (НЕ широкоформатные матрицы) идентичны по креплениям, исключения составляют матрицы имеющие фронтальные отверстия в виде ушей сбоку.
12.1" WIDE (широкоформатные матрицы) имеют идентичные крепления

3. РАЗЬЁМ ЛАМПЫ
Разьёмы на лампах могут быть 4 типов (см. рисунок)
разьём A используется практически на всех матрицах
разьём С используется гораздо реже и в основном на ноутбуках toshiba
разьём В используется на очень старых матрицах или матрицах от настольного монитора
разьём D используется очень редко на экзотических матрицах

4. РАЗЬЁМ ПОДКЛЮЧЕНИЯ МАТРИЦЫ
Наиболее часто используемые в матрицах разьёмы для подключения на рисунках ниже.
Обычный 20и пиновый разьём ставится на матрицах старого образца, так же как и 14 пиновый, который используется очень редко.
20и пиновый разьём slim, он же гребёнка, уже экзотика и встречается, как правило на старых аппаратах.
Повсеместно сейчас используют 30и пиновые разьёмы на матрицах от 14" до 20" дюймов и 20и пиновые new standart на матрицах меньше 14 и дюймов, которые заявленны в современной стандартизации.

Стандартный разьём 20pin

Стандартный разьём 30pin

Стандартный разьём 14pin

Разьём pin slim он же гребёнка

Рассматриваемый шилд представляет собой плату с встроенными модулями индикации и управления. Индикация осуществляется с помощью LCD-дисплея TC1602, управление – через встроенные кнопки. Есть возможность регулировки яркости дисплея прямо на плате с помощью подстроечного резистора. Плата снабжена разъемами, в которые могут быть подключены другие устройства, например, датчики. Для работы с экраном используются пины 4-10, для определения нажатия кнопок – только один аналоговый пин A0. Свободными являются цифровые пины 0-3, 11-13 и аналоговые пины A1-A5.

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

Технические характеристики

  • Тип дисплея: LCD 1602, символьный, 4-х битный режим.
  • Разрешение: 16×2 (две строки по 16 символов каждая). Знакоместо 5×8 точек.
  • Цвет дисплея: синий (возможны варианты с желтым и зеленым цветом). Буквы белого цвета.
  • Технология: STN, Transflective, Positive.
  • Контроллер дисплея: HD44780U.
  • Предельная частота обновления экрана: 5Гц
  • Питание дисплея: 5 Вольт
  • Кнопки: 6 кнопок (5 кнопок управления и Reset).
  • Дополнительные элементы: регулировка яркости подсветки (потенциометр).
  • Рабочая температура экрана: от -20 °С до +70 °С;
  • Температура хранения экрана: от -30 °С до +80 °С.

Распиновка LCD shield для подключения к Arduino

ПИН 30 PIN 1LVDS 30 PIN 2LVDS 20PIN STANDART 20PIN STANDART + EEPROM 14PIN STANDART 20PIN NEW STANDART вар. А 20PIN NEW STANDART вар. В
1 Ground Ground Pover suppli , 3,3V Pover suppli , 3,3V Pover suppli , 3,3V Ground Pover suppli , 3,3V
2 Pover suppli , 3,3V Pover suppli , 3,3V Pover suppli , 3,3V Pover suppli , 3,3V Pover suppli , 3,3V Pover suppli , 3,3V Pover suppli , 3,3V
3 Pover suppli , 3,3V Pover suppli , 3,3V Ground Ground Ground Pover suppli , 3,3V Ground
4 DDS 3V POVER DDS 3V POVER Ground Ground Ground DDS 3V POVER Ground
5 Reserved for LCD supplier test point - LVDS differential data input, R0 - R5, G0 - LVDS differential data input, R0 - R5, G0 Reserved for LCD supplier test point - LVDS differential data input, R0 - R5, G0
6 DDC Clock DDC Clock + LVDS differential data input, R0 - R5, G0 + LVDS differential data input, R0 - R5, G0 DDC Clock + LVDS differential data input, R0 - R5, G0
7 DDC Data DDC Data Ground Ground DDC Data Ground
8 - LVDS differential data input, R0 - R5, G0 - LVDS differential data input, R0 - R5, G0 - LVDS differential data input, G1 - G5, B0 - B1 - LVDS differential data input, G1 - G5, B0 - B1 - LVDS differential data input, R0 - R5, G0 - LVDS differential data input, G1 - G5, B0 - B1
9 + LVDS differential data input, R0 - R5, G0 + LVDS differential data input, R0 - R5, G0 + LVDS differential data input, G1 - G5, B0 - B1 + LVDS differential data input, G1 - G5, B0 - B1 + LVDS differential data input, R0 - R5, G0 + LVDS differential data input, G1 - G5, B0 - B1
10 Ground Ground Ground Ground Ground Ground
11 - LVDS differential data input, G1 - G5, B0 - B1 - LVDS differential data input, G1 - G5, B0 - B1 - LVDS differential data input, B2 - B5, HS/VS/DE - LVDS differential data input, B2 - B5, HS/VS/DE - LVDS differential data input, G1 - G5, B0 - B1 - LVDS differential data input, B2 - B5, HS/VS/DE
12 + LVDS differential data input, G1 - G5, B0 - B1 + LVDS differential data input, G1 - G5, B0 - B1 + LVDS differential data input, B2 - B5, HS/VS/DE + LVDS differential data input, B2 - B5, HS/VS/DE + LVDS differential data input, G1 - G5, B0 - B1 + LVDS differential data input, B2 - B5, HS/VS/DE
13 Ground Ground Ground Ground Ground Ground Ground
14 - LVDS differential data input, B2 - B5, HS/VS/DE - LVDS differential data input, B2 - B5, HS/VS/DE - LVDS differential clock input - LVDS differential clock input Ground - LVDS differential data input, B2 - B5, HS/VS/DE - LVDS differential clock input
15 + LVDS differential data input, B2 - B5, HS/VS/DE + LVDS differential data input, B2 - B5, HS/VS/DE +LVDS differential clock input +LVDS differential clock input _ + LVDS differential data input, B2 - B5, HS/VS/DE +LVDS differential clock input
16 Ground Ground Ground Ground _ Ground Ground
17 - LVDS differential clock input - LVDS differential clock input _ DDS 3V POVER _ - LVDS differential clock input DDS 3V POVER
18 +LVDS differential clock input +LVDS differential clock input _ Reserved for LCD supplier test point _ +LVDS differential clock input Reserved for LCD supplier test point
19 Ground Ground Ground DDC Clock _ Ground DDC Clock
20 _ - LVDS differential data input, even pixels, R0 - R5, G0 Ground DDC Data _ Ground DDC Data
21 _ + LVDS differential data input, even pixels, R0 - R5, G0 _ _ _ _ _
22 Ground Ground _ _ _ _ _
23 _ - LVDS differential data input, even pixels, G1 - G5, B0 - B1 _ _ _ _ _
24 _ + LVDS differential data input, even pixels, G1 - G5, B0 - B1 _ _ _ _ _
25 Ground Ground _ _ _ _ _
26 _ - LVDS differential data input, even pixels, B2 - B5, HS/VS/DE _ _ _ _ _
27 _ + LVDS differential data input, even pixels, B2 - B5, HS/VS/DE _ _ _ _ _
28 Ground Ground _ _ _ _ _
29 _ - LVDS differential clock input, even pixels _ _ _ _ _
30 _ + LVDS differential clock input, even pixels _ _ _ _
Контакт дисплея LCD 1602 Описание Контакт на LCD Shield
Пины LCD экрана
GND Земля
VDD Питание 5В
Contrast Управление контрастом Потенциометр
RS Команды/Данные 8
R/W Чтение/Запись
Enable Включение (активирование) 9
DB0 Не используется
DB1 Не используется
DB2 Не используется
DB3 Не используется
DB4 Дата 1 4
DB5 Дата 2 5
DB6 Дата 3 6
DB7 Дата 4 7
Back LED + Включение подсветки 10
Back LED – Питание подсветки
Пины для кнопок
Кнопка UP Управляющая кнопка A0
Кнопка DOWN Управляющая кнопка A0
Кнопка LEFT Управляющая кнопка A0
Кнопка RIGHT Управляющая кнопка A0
Кнопка SELECT Управляющая кнопка A0
Reset Reset
ICSP ICSP для перепрошивки встроенного микроконтроллера HD44780U
UART Контакты для UART соединения 0, 1

Дополнительные элементы шилда

  • Индикаторный светодиод (включается при подключении питания к плате).
  • Контактные площадки для подключения аналоговых устройств (GND, VSS, пин данных).
  • Потенциометр для регулирования контрастностью экрана.

Подключение платы LCD Shield к Arduino

Подключение шилда очень простое – нужно попасть ножками в соответствующие разъемы платы ардуино и аккуратно совместить их. Ничего дополнительно подсоединять или припаивать не надо. Нужно помнить и учитывать тот факт, что часть пинов зарезервированы для управления дисплеем и кнопками и не может быть использована для других нужд! Для удобства подключения дополнительного оборудования на плате выведены дополнительные разъемы 5В и GND к каждой контактной площадке аналоговых пинов. Это, безусловно, упрощает работу с датчиками. Также можно подключать цифровые устройства через свободные пины 0-3 и 11-13. Подключив шилд, мы можем работать с экраном и кнопками на нем так же, как с отдельными устройствами, учитывая только номера пинов, к которым припаяны соответствующие контакты.

Скетч для экрана на Arduino LCD shield

Для работы с LCD экранами обычно используют популярную библиотеку LiquidCrystal . На этапе инициализации создается объект класса LiquidCrystal, в конструкторе которого мы указываем пины с подключенными контактами экрана. Для нашего шилда требуется использовать такой вариант: LiquidCrystal lcd(8, 9, 4, 5, 6, 7); Последовательность аргументов конструктора:

  • RS (8)
  • Enable (9)
  • data(4)
  • data(5)
  • data(6)
  • data(7)

Ничего сложного в работе с объектом нет. В setup() мы инициализируем объект, указывая ему количество символов и строк:

Lcd.begin(16, 2);

Для вывода информации на дисплей используем метод print():

Lcd.print (“Arduino Master!”);

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

Lcd.setCursor(0, 0); // Первый символ первой строки lcd.setCursor(0, 1); // Первый символ второй строки lcd.setCursor(2, 1); // Третий символ второй строки

Кнопки LCD Keypad Shield

На плате присутствуют пять управляющих кнопок, работа с которыми ведется через один аналоговый пин A0. В шилде использован достаточно распространенный способ простого кодирования сигнала, при котором каждая кнопка формирует определенное значение напряжения, которое после АЦП преобразуется в соответствующее значение от 0 до 1023. Таким образом, мы можем передавать информацию о нажатии разных кнопок через один пин, считывая его при помощи функции ;

Значения уровня сигнала на пине A0 в зависимости от выбранной кнопки:

Нажатие кнопки Значение на аналоговом пине
RIGHT 0-100
UP 100-200
DOWN 200-400
LEFT 400-600
SELECT 600-800
Клавиша не нажата 800-1023

Пример скетча работы с кнопками LCD Keypad Shield:

Int keyAnalog = analogRead(A0); if (keyAnalog < 100) { // Значение меньше 100 – нажата кнопка right // Выполняем какое-то действие для кнопки вправо. } else if (keyAnalog < 200) { // Значение больше 100 (иначе мы бы вошли в предыдущий блок результата сравнения, но меньше 200 – нажата кнопка UP // Выполняем какое-то действие для кнопки вверх } else if (keyAnalog < 400) { // Значение больше 200, но меньше 400 – нажата кнопка DOWN // Выполняем действие для кнопки вниз } else if (keyAnalog < 600) { // Значение больше 400, но меньше 600 – нажата кнопка LEFT // Выполняем действие для кнопки влево } else if (keyAnalog < 800) { // Значение больше 600, но меньше 800 – нажата кнопка SELECT // Выполняем действие для кнопки выбора пункта меню } else { // Все остальные значения (до 1023) будут означать, что нажатий не было }

В выбранном методе кодирования есть два главных недостатка:

  • Нельзя отслеживать одновременное нажатие нескольких кнопок;
  • Возможные искажения сигнала могут привести к ложным срабатываниям.

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

Пример скетча для работы с экраном и кнопками меню

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

#include LiquidCrystal lcd(8, 9, 4, 5, 6, 7); #define BTN_UP 1 #define BTN_DOWN 2 #define BTN_LEFT 3 #define BTN_RIGHT 4 #define BTN_SELECT 5 #define BTN_NONE 10 int detectButton() { int keyAnalog = analogRead(A0); if (keyAnalog < 100) { // Значение меньше 100 – нажата кнопка right return BTN_RIGHT; } else if (keyAnalog < 200) { // Значение больше 100 (иначе мы бы вошли в предыдущий блок результата сравнения, но меньше 200 – нажата кнопка UP return BTN_UP; } else if (keyAnalog < 400) { // Значение больше 200, но меньше 400 – нажата кнопка DOWN return BTN_DOWN; } else if (keyAnalog < 600) { // Значение больше 400, но меньше 600 – нажата кнопка LEFT return BTN_LEFT; } else if (keyAnalog < 800) { // Значение больше 600, но меньше 800 – нажата кнопка SELECT return BTN_SELECT; } else { // Все остальные значения (до 1023) будут означать, что нажатий не было return BTN_NONE; } } void clearLine(int line){ lcd.setCursor(0, 1); lcd.print(" "); } void printDisplay(String message){ Serial.println(message); lcd.setCursor(0, 1); lcd.print(message); delay(1000); clearLine(1); } void setup() { Serial.begin(9600); lcd.begin(16, 2); lcd.print("Arduino Master"); delay(3000); lcd.setCursor(0, 0); lcd.print("Arduino Master"); } void loop() { int button = detectButton(); switch (button) { case BTN_UP: printDisplay("UP"); break; case BTN_DOWN: printDisplay("DOWN"); break; case BTN_LEFT: printDisplay("LEFT"); break; case BTN_RIGHT: printDisplay("RIGHT"); break; case BTN_SELECT: printDisplay("SELECT"); break; default: //printDisplay("Press any key"); break; } }

Краткие выводы по плате расширения LCD keypad shield

Плата расширения LCD Keypad достаточно популярная, она проста и удобна для использования в проектах Arduino. Сегодня ее можно легко купить практически в любом интернет-магазине.

Плюсы LCD Shield:

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

Недостатки:

  • Стоимость шилда выше, чем стоимость отдельного экрана.
  • Не всегда нужна дополнительная функциональность в виде кнопок.
  • Шилд потребляет больше энергии, чем отдельные элементы платы.