Суббота, 06 октября 2012 04:44

Модуль для использования цветного дисплея от сотового телефона Featured

Written by
Rate this item
(0 votes)

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

 

 

Чтобы использовать в своей конструкции миниатюрное цветной дисплей, совсем не нужны особо мощные процессоры или дорогостоящие дисплеи. Если нужен размер экрана порядка 2.5”, то можно применить дисплеи от телефона. Например, LS022-LS024 от телефонов NOKIA N76, N82, N73, 6303, 6500. Подойдет и самый большой дисплей от N95 (2.6”).

Все эти дисплеи оснащены котроллером, имеющим небольшой, но достаточно полный, набор команд. Даташит на контроллер дисплея MC2PA8201, который является аналогом LS022-LS024 прилагается. Правда, не все функции 100% работают, как описано.

Дисплей имеет разрешение 240х320 пикселей и цветовую гамму 24 бит. Стоимость от 200 рублей. Разъём со шлейфом стоит столько же. Оборванный шлейф в ремонте могут отдать бесплатно. Известную трудность представляет только его пайка и изготовление под него платы.

Дисплей имеет три напряжения питания: 1,8 В, 2,5 В и 12 В. Последнее подается  на подсветку через ограничивающий резистор. Ток подсветки примерно равен 20 мА. Распиновка разъёма N76 показана рис.1.

 

alt

 

Сам этот разъем выглядит так:


alt

 

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

 

alt

 

  Основой модуля является распространенный микроконтроллер PIC18F452. Программа для него написана на Си.

Для питания дисплея я применил два стабилизатора LM1117 на соответствующее напряжение. Номинальное напряжение на сигнальных линиях1,8 В.

При упрощённом подключении (через делитель на резисторах), которое я использовал для согласования уровней выходных сигналов МК и входных дисплея, невозможно чтение из памяти дисплея, но это и не понадобилось. Однако, при желании, можно применить более правильное согласование этих уровней.

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

Достоинство рассматриваемого дисплея, как и его проблема, заключается в 24-битном цвете. То есть для вывода 1 пикселя надо передать 5 байт, что снижает скорость вывода и требует приличных объёмов для хранения изображений. Поэтому тактовую частоту процессора надо стараться выбирать как можно выше. Я использовал 40 МГц. При этом скорость рисования вполне устраивает, а скорость вывода картинки маловата. Как вариант, можно на время прорисовки больших заставок гасить экран.

Изображения, заставки, значки решил хранить на microSD-карточке. Небольшие сейчас мало где продаются, но стоят совсем копейки, объёма хватит с запасом, а удобство заключается в лёгкости редактирования отображаемых элементов прямо на компьютере в виде .bmp файлов. В последующем, карточку можно использовать также для записи, например, лога каких-нибудь событий.

В прилагаемой программе имеется библиотека необходимых графических функций (описанная в файле LS_driver.h):

1. вывод точки;

2. вывод символа;

3. вывод текста;

4. вывод байта значения;

5. рисование линии;

6. рисование прямоугольника (с заливкой или без нее);

7. рисование круга;

8. рисование окошка типа WINDOWS;

9. чтение из карточки и вывод рисунка  .BMP 24bit/pix

Детальные инструкции по функциям расписаны в файле LS_driver.h, и особо не требуют пояснений, за исключением 2-х моментов.

1. При выводе картинки следует придерживаться вертикальной ориентации экрана (сам файл картинки предварительно развернуть в редакторе)

2. При выводе файлов и рисовании картинок следует учитывать размеры экрана. Значения Х и Y меняются местами при изменении текущей ориентировки вывода с горизонтальной на вертикальную и наоборот, поэтому  проверка на превышение размеров не производится (не известен текущий максимум Х или Y)

Всё это, конечно, давно известно, но я попробовал собрать в кучу.

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

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

В качестве примера приведено рисование вертикальной шкалы в зависимости от значения АЦП (см. заглавное фото). В верхней части экрана выведена картинка – заставка.

 

Проект в MPLAB и PROTEUS можно скачать

Ссылка для скачивания доступна только авторизованным пользователям сайта !

Read 7892 times Last modified on Среда, 03 сентября 2014 11:51

Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru