Юзаем дисплеи от сотовых и других потаскунчиков.

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
BIGGGI
Нашел транзистор. Понюхал.
Сообщения: 166
Зарегистрирован: Сб июн 26, 2010 21:03:09

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение BIGGGI »

Здравствуйте.
Ни у кого не завалялось драйверов для S65 LPH8836 AVR, но адаптированных под WinAVR??
Буду очень благодарен
bravo24
Родился
Сообщения: 12
Зарегистрирован: Ср ноя 16, 2011 23:52:20
Откуда: Одесса

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение bravo24 »

КАШАК писал(а):Есть дисплей от Motorola v171 и его схема.
Изображение
Изображение
Изображение

Насколько я понял у него интерфейс SPI.

Как его можно подключить к Mega32? Может кто-нибудь с таким работал?


Мучаю такой же дисплей. В распиновке ошибка:
10-й пин это не GND, а D/C.
Источник - схема С155 с таким же дисплеем и простая логика - зачем вывод GND соединять с шиной GND через конденсатор.

Внимание вопрос: кто-нибудь победил такой дисплей? Есть исходнички для AVR?
Помогите пожалуйста разобраться.
Аватара пользователя
БАТАРЕЙКУС
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Сб фев 07, 2009 19:21:25

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение БАТАРЕЙКУС »

всем доброе время суток.
все знают дисплей от нокиа 1100, и как он работает, я втом числе. так вот, задался я целью сделать тахометр на свой скутер, ну и применить там дисплей от нокиа 1100, да вот беда захотел чтоб циферблат был аналогового типа, ну как его нарисовать и отобразить вопросов то нет, а как сделать подвижную стрелку, ума не приложу. в этом то собственно и вопрос кто знает какие нибуть варианты решения этой задачи, как отрисовывать стрелку на этом дисплеи.
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
Аватара пользователя
BigallS
Опытный кот
Сообщения: 752
Зарегистрирован: Пт апр 15, 2011 21:11:22
Откуда: Россия

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение BigallS »

БАТАРЕЙКУС писал(а):всем доброе время суток.
... да вот беда захотел чтоб циферблат был аналогового типа, ну как его нарисовать и отобразить вопросов то нет, а как сделать подвижную стрелку, ума не приложу. в этом то собственно и вопрос кто знает какие нибуть варианты решения этой задачи, как отрисовывать стрелку на этом дисплеи.


Думаю тебе поможет CyberVad, он правда в командировке сейчас, он делал на дисплее S5230 подобный девайс.
П.С. Поищи по форуму его сообщения.
Аватара пользователя
CyberVad
Встал на лапы
Сообщения: 142
Зарегистрирован: Сб дек 24, 2011 12:39:03

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение CyberVad »

Стрелка.
Прорисовка стрелки состоит из двух этапов:
1. Рисуем стрелку цветом фона (то есть фактически стираем её);
2. Рисуем стрелку нужным цветом
Как её рисовать.
Собственно рисует специальная процедура, ей передаём координаты начала линии, конца линии и нужный цвет.
Координаты начала линии – они заданы и известны. А вот координаты конца линии надо определить. Они зависят от величины которую надо изобразить.
Как определить? Можно рассчитать – координата X это cos угла отклонения стрелки а Y – sin. Но тригонометрические вычисления для МК сложноваты.
Тогда есть другой способ. Так как количество положений стрелки не бесконечно то проще рассчитать в компьютере (я писал сам программу на дельфи, но в данный момент у меня её нет под рукой) какой величине будет соответствовать какие координаты конца стрелки и потом брать нужные значения из таблицы и пользоваться ими. Я делал спидометр от 0 до 40 км/ч с дискретностью 1 км/ч – то есть положений всего 41, таблица заняла в памяти 41 байт. Почему так поясню позже. Кроме того, что так проще, это ещё сильно экономит память в сравнении с тригонометрией.
Собственно рисование.
Я непомню где взял алгоритм (алгоритм Брезенхэма), воспользовался им и получилась процедура:

/* Имя : DrawLine (X1, Y1, X2, Y2, R, G, B)
* Описание : Рисует линию между двумя точками (алгоритм Брезенхэма)
* Аргумент(ы) : x1, y1 -> абсолютные координаты начала линии
* x2, y2 -> абсолютные координаты конца линии */
void DrawLine(unsigned int X1, unsigned int Y1, unsigned int X2, unsigned int Y2, unsigned char R,unsigned char G,unsigned char B)
{
const int deltaX = abs(X2 - X1);
const int deltaY = abs(Y2 - Y1);
const int signX = X1 < X2 ? 1 : -1;
const int signY = Y1 < Y2 ? 1 : -1;
//
int error = deltaX - deltaY;
//
LCDPixel(X1, Y1, R, G, B);
while(X1 != X2 || Y1 != Y2) {
LCDPixel(X1, Y1, R, G, B);
const int error2 = error * 2;
//
if(error2 > -deltaY) {
error -= deltaY;
X1 += signX;
}
if(error2 < deltaX) {
error += deltaX;
Y1 += signY;
}
}
}

Процедура LCDPixel задаёт цвет (R, G, B) пикселя с координатами X1, Y1.

А вот применение этой процедуры:

//---------- стрелку-------------------------
if (skorold>20) //Если скорость > половины
{
X=pgm_read_byte(&(Arrow[(40-skorold)*2]))+160; //160 - Координата X начала стрелки
Y=pgm_read_byte(&(Arrow[(40-skorold)*2+1]))+33;
//33+160(координата Y начала стрелки)-127(координата Y начала стрелки относительно высшей точки циферблата)
DrawLine (160, 160, X, Y, 128, 128, 255); //Стираем стрелку
}
else //Если скорость <= половины
{
X=160-pgm_read_byte(&(Arrow[skorold*2])); //160 - Координата X начала стрелки
Y=pgm_read_byte(&(Arrow[skorold*2+1]))+33;
//33=160(координата Y начала стрелки)-127(координата Y начала стрелки относительно высшей точки циферблата)
DrawLine (160, 160, X, Y, 128, 128, 255); //Стираем стрелку
}
//---------- стрелку-------------------------
if (skor>20) //Если скорость > половины
{
X=pgm_read_byte(&(Arrow[(40-skor)*2]))+160; //160 - Координата X начала стрелки
Y=pgm_read_byte(&(Arrow[(40-skor)*2+1]))+33;
//33+160(координата Y начала стрелки)-127(координата Y начала стрелки относительно высшей точки циферблата)
DrawLine (160, 160, X, Y, 255, 255, 255); //Стираем стрелку
}
else //Если скорость <= половины
{
X=160-pgm_read_byte(&(Arrow[skor*2])); //160 - Координата X начала стрелки
Y=pgm_read_byte(&(Arrow[skor*2+1]))+33;
//33=160(координата Y начала стрелки)-127(координата Y начала стрелки относительно высшей точки циферблата)
DrawLine (160, 160, X, Y, 255, 255, 255); //Стираем стрелку
}
skorold – это предыдущее значение скорости
skor – новое значение
Это я поместил в процедуру Indikator(unsigned char skor, unsigned char skorold)
Вызывать её целесообразно не после каждого цикла измерений а только если отображаемая величина изменилась (зачем попусту напрягаться МК и напрягать дисплей?).
Почему размер таблицы = количеству положений стрелки (а не х2 ведь координат две – X и Y)? Наш циферблат симметричен, напротив числа 15 слева будет находиться число 25 – координаты Y у них будут одинаковы а Х симметричны относительно центра циферблата. Поэтому я проверяю условие if (skor>20).

Файл с таблицей генерируется моей программой автоматически и содержит примерно следующее (для экономии места в настоящей статье я выкинул строки про точки 2-18):
unsigned char Arrow[] PROGMEM =
{
/*****Таблица значений стрелки*******/
109, 190, //Точка №0
116, 178, //Точка №1
.
.
.
13, 0, //Точка №19
0, 0 //Точка №20
};
//Исходные данные:
//Радиус (длина стрелки) r=127
//Начальный угол а=60
//Угол отклонения b=120
//Начало стрелки (Y относительно высшей точки шкалы): Xo=0 Yo=127
//Координата Y, к которой нужно добавлять расчётные значения Y, равна Координата Y начала стрелки в микроконтроллере-Yo=...-127 Это высшая точка шкалы

Я делал на МК ATMEGA32 с кварцем 13 МГц (почему 13 – не нашёл я в закромах SMD кварца на 16), дисплей Samsung S5230. Стрелка выводится на глаз мгновенно, никаких долгих прорисовок.
Толщину стрелки задаёт процедура DrawLine – как Вы её напишете такая толщина и будет

Просьба вопросы писать не только тут но и в личку, так как я не каждый день бываю тут.
Вложения
Resize of DSC00655.JPG
Мой чудо-вело-спидометр сыну. В центре общий пробег и суточный
(74.64 КБ) 937 скачиваний
Вышел из себя.
Пришел в себя.
Ушел в себя.
И решил больше сегодня никуда не ходить
Аватара пользователя
CyberVad
Встал на лапы
Сообщения: 142
Зарегистрирован: Сб дек 24, 2011 12:39:03

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение CyberVad »

Я ни для кого не открою секрета, если скажу что индикаторы можно рисовать самые разнообразные (любого (как угодно изменяющегося) цвета, любой формы - хватило бы фантазии) и любых количествах (хватило места бы дисплее и быстродействия МК).
Некоторые из возможных варианты на фотке.
Если начало стрелки находится на поле дисплея, то тогда стрелка будет отклоняться от неё (как у спидометра). А если начало стрелки будет где-то на n-пикселей внизу (или вверху, или сбоку), то тогда будет имитация микроамперметра, вот как на фотографии.
По-моему даже красиво замутить стерео индикатор уровня как на верхних картинках :music:
И никто не мешает пользоваться одним дисплеем попеременно для управления и для индикации
Вложения
01.jpg
Например такие
(197.05 КБ) 981 скачивание
Вышел из себя.
Пришел в себя.
Ушел в себя.
И решил больше сегодня никуда не ходить
eufs
Опытный кот
Сообщения: 772
Зарегистрирован: Вс апр 10, 2011 02:24:06
Откуда: г.Северодонецк

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение eufs »

Я рисовал шкалу со стрелкой алгоритмом Брезентхэма (на тахометр), но делал проще. Шкалу сделал не круглой,а прямоугольной. Это удобнее на прямоугольном экране с точки зрения экономии места для другой информации. Вдоль верхнего края - цифры и метки шкалы. Длину стрелки не высчитывал а просто рисовал от центра до нужной координаты на шкале. Сам центр украсил прямоугольником, чтобы стрелка не казалась нарисованной из ниоткуда. Стрелка при отклонении меняла длину - но это никому не мешает. Фото не делал, проект давно ездит на пассате, при случае сфотографирую.
C0FFEE=‭12648430‬
anaconda
Родился
Сообщения: 10
Зарегистрирован: Пн дек 28, 2009 15:26:22

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение anaconda »

Добрый вечер. Есть дисплей от Sony Ericsson Xperia X10(Китай), надпись на шлейфе TFT021-FPC-A HXD 01, 44pin. Если есть у кого распиновка на дисплей и даташит на используемый контроллер, поделитесь пож-та.
Серый_Ветер
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Вт ноя 12, 2013 00:11:33
Откуда: Калининград
Контактная информация:

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Серый_Ветер »

а acx526akm как нибудь к МК подключить можно?
а то на него ни даташита, ни схем не наблюдается...
Аватара пользователя
radiokot__
Мучитель микросхем
Сообщения: 454
Зарегистрирован: Вс янв 15, 2012 19:58:40

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение radiokot__ »

Конечно можно, только драйверок для него сперва нужно подобрать.
Ни один домашний кот незнает что он домашний.
Серый_Ветер
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Вт ноя 12, 2013 00:11:33
Откуда: Калининград
Контактная информация:

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Серый_Ветер »

хех, даже разводки ног не могу найти... а тут сразу драйвер((((
Серый_Ветер
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Вт ноя 12, 2013 00:11:33
Откуда: Калининград
Контактная информация:

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Серый_Ветер »

схему - драйвер, или схему подключения?
Chettuser

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Chettuser »

Поскольку тема и про "потаскунчики" (т.е. не телефонные дисплеи) задам вопрос тут.
Озадачился тем что на ebay можно заказать дисплей 5"-7" с контроллером SSD1963. Хотел проконсультироваться - с этим контроллером кто-нибудь общался и как он поддерживается различными производителями микроконтроллеров?
Аватара пользователя
radiokot__
Мучитель микросхем
Сообщения: 454
Зарегистрирован: Вс янв 15, 2012 19:58:40

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение radiokot__ »

Ни один домашний кот незнает что он домашний.
Chettuser

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение Chettuser »

Мде. Неплохо, а в живую никто не щупал?
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение ibiza11 »

стандартные интерфейсы 6800 и 8080 поддерживаются всеми производителями, выпускающими микроконтроллеры с модулем подключения дисплея.
что именно вы ходите узнать?
Ставим плюсы: )
srg320
Встал на лапы
Сообщения: 85
Зарегистрирован: Пт фев 01, 2013 17:47:26
Откуда: Украина, Луганская область

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение srg320 »

Брал себе год назад 5" на SSD1963 640х480 16бит шина, пробывал подключать к STM32F4DISCOVERY и через GPIO и через FSMC. Так вот, через GPIO нормально запускался, а через FSMC - приходилось ставить большие задержки для нормальной работы, т.к. при заливке нескольких точек подряд происходил сбой и дисплей становился тёмным, но я грешу на провода 15см, которыми подсоединял дисплей. Пока отложил его, но интересно попробовать подключить к ПЛИС с NIOS.
Аватара пользователя
VDLab
Встал на лапы
Сообщения: 108
Зарегистрирован: Ср июн 29, 2011 14:16:22
Откуда: __.DP.UA

Re: Юзаем дисплеи от сотовых и других потаскунчиков.

Сообщение VDLab »

Именно провода и виноваты, при нормально разведенной плате работает с почти минимальными задержками (а может и с вообще с минимальными, не пробовал)
[color=#FFBF00]На любой вопрос даю любой ответ[/color]
Ответить

Вернуться в «Периферия»