Распиновка матрицы 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 он же гребёнка
ПИН | 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
Краткие выводы по плате расширения LCD keypad shield
Плата расширения LCD Keypad достаточно популярная, она проста и удобна для использования в проектах Arduino. Сегодня ее можно легко купить практически в любом интернет-магазине.
Плюсы LCD Shield:
- Упрощает подключение жидкокристаллического экрана.
- Уменьшает общие размеры устройства, т.к. убирает выступающие провода и монтажные платы.
- Сокращает количество ошибок, связанных с неправильным монтажом и подключением.
- Добавляет функциональность кнопочного управления, если на плате установлены кнопки (LCD Keypad shield).
Недостатки:
- Стоимость шилда выше, чем стоимость отдельного экрана.
- Не всегда нужна дополнительная функциональность в виде кнопок.
- Шилд потребляет больше энергии, чем отдельные элементы платы.