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

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

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

Сообщение radiokot__ »

Satyr писал(а):Ну запустишь, велико ли достижение ? Дальше то что ? :)))
Удел аврок - только моргать светодиодами, максимум парой-тройкой семисегментников

Бери stm32f2xx в 100 ногом - будет фигарить по экрану только в путь.


А чем интересно вам ATMEL не угодил?
Вот например камушек AT91SAM9M10
Ну и кто с ним будет соревноватся, я имею в виду STM да и LPC.
STM полный отстой, во всех планах.
По питанию дохнут как мухи, переферия глючная до безобразия, и ещё куча всяких какашек.
Ни один домашний кот незнает что он домашний.
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

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

Сообщение Satyr »

Можно не мелочиться

берем такой дисплей http://www.ebay.com/itm/180838675218
такие микросхемки
lcdset.JPG
(48.01 КБ) 799 скачиваний


и можно даже вертикальный плавный инерционный скрол сделать. При разрешении 800х480 :)))
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

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

Сообщение Satyr »

radiokot__ писал(а):А чем интересно вам ATMEL не угодил?
Вот например камушек AT91SAM9M10

Не вопрос, если научишь где под BGA заказать плату дешевле, чем купить простенький комп на атоме всборе

Ну и кто с ним будет соревноватся, я имею в виду STM да и LPC.

Как кто ? одноклассники SAM9 от этих контор. SPEAr и LPC3xxx соотв.

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

У кого как :)))
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

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

Сообщение SubDia »

radiokot__ писал(а):STM полный отстой, во всех планах.
По питанию дохнут как мухи, переферия глючная до безобразия, и ещё куча всяких какашек.

Доказательства? Пруфлинки, подробное описание прецедентов?
Кривые руки из жопы в качестве аргумента не рассматриваются. :)))
ЗЫ. Сколько ни гонял STM - ни разу не подвели. Сколько косяков встречал, всегда причиной были оные кривые руки.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

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

Сообщение HHIMERA »

radiokot__ писал(а):STM полный отстой, во всех планах.

Угу... :)))

stm32F103@72MHz & 240x320x16bit SSD1289 16bit color

Заливка одним цветом - 9,610 mS (104 FPS)
Картинка из флэша МК - 13,778 mS (72,5 FPS)
Картинка из SST25VF016B - 34,153 mS (29,3 FPS)

И это всё так... без применения FSMC, буферов и DMA...
Давай, похвастайся, на что способна Мега16... :)))
"Я не даю готовых решений, я заставляю думать!"(С)
Реклама
Аватара пользователя
radiokot__
Мучитель микросхем
Сообщения: 454
Зарегистрирован: Вс янв 15, 2012 19:58:40

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

Сообщение radiokot__ »

Малодец.
Ни один домашний кот незнает что он домашний.
Реклама
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

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

Сообщение Satyr »

HHIMERA писал(а):Давай, похвастайся, на что способна Мега16... :)))

Мосфеты стоамперные напрямую без драйвера дергать. ВСЁ :)))
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

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

Сообщение Satyr »

Про глючности и ошибки :)))

Как вам такое ?

"Multiply instructions do not work on Rev D
All the multiply instructions do not work.
Fix/Workaround
Do not use the multiply instructions."

Это на МК, который позиционируется как
"High Performance, Low Power 32-bit AVR® Microcontroller
– Compact Single-Cycle RISC Instruction Set Including DSP Instruction Set
– Read-Modify-Write Instructions and Atomic Bit Manipulation
– Performing up to 1.51DMIPS/MHz
• Up to 92DMIPS Running at 66MHz from Flash (1 Wait-State)"

И там еще много интересного -)))
Аватара пользователя
BigallS
Опытный кот
Сообщения: 752
Зарегистрирован: Пт апр 15, 2011 21:11:22
Откуда: Россия

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

Сообщение BigallS »

Коты!!! вы ушли от темы может отдельно ветку себе создадите?
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

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

Сообщение Satyr »

А что с темой ? Вроде как тема уж страниц 20 назад исчерпана.
Бери, подключай, рисуй. все типы подключений (i2c, spi, i8080/6 шина) упомянули, большинство распространенных контроллеров тоже.
Аватара пользователя
BigallS
Опытный кот
Сообщения: 752
Зарегистрирован: Пт апр 15, 2011 21:11:22
Откуда: Россия

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

Сообщение BigallS »

Не считаю так, человек спросил как работать с дисплеем S5230 и с AVR... CyberVad например написал по делу, а теперь посмотрим всю 27 страницу - там только у вас меряние процами.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

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

Сообщение Satyr »

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

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

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

Сообщение BigallS »

Раз человек спросил, значить есть желание узнать что то новое. А если считаете что всё уже сделано, тогда что вы здесь делаете? Продолжаете флудить... более отвечать не буду.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

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

Сообщение HHIMERA »

BigallS писал(а):Не считаю так, человек спросил как работать с дисплеем S5230 и с AVR... CyberVad например написал по делу, а теперь посмотрим всю 27 страницу - там только у вас меряние процами.

А я считаю по другому... тема не только для "избранных"...
Поэтому те, кто впервые сталкивается с подключением TFT дисплеев, должны знать весь расклад, в том числе и по МК... чтобы потом "не было мучительно больно"... за бесцельно потраченные время и деньги...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

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

Сообщение Satyr »

HHIMERA писал(а):Поэтому те, кто впервые сталкивается с подключением TFT дисплеев, должны знать весь расклад, в том числе и по МК... чтобы потом "не было мучительно больно"... за бесцельно потраченные время и деньги...

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

Ну а дальше (а дальше, я так понимаю, доходят единицы) все точь в точь как ты пишешь
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

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

Сообщение Satyr »

Собсно самый дешевый, гибкий, шустрый варинт работы с ЛЮБЫМИ вобще дисплеями до 1024x768 разрешением я кинул выше. и даже с местом, где дешевле всего заказать и сколько именно стоит -))

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

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

Сообщение CyberVad »

Часть вторая. Как я вывожу символы на дисплей.
Так как наш дисп графический, то это значит что мы сами должны организовывать прорисовку символов на экране. На первый взгляд сложно. Оно и в самом деле не очень просто, но тяжело в ученьи-легко в бою: когда мы всё настроим то выводить информацию на дисп будет не сложнее чем на банальный 16х2.
Нам понадобится файл со шрифтом, этот файл определяет какие символы как будут изображаться. Простейший шрифт - 5х7. Это значит по вертикали 7 точек, по горизонтали 5. Шрифт не слишком красивый но вполне читаемый. Скажу больше - я пробовал рисовать в ширину 3 точки - тоже читаемо, но очень коряво.
Как в файле шрифта кодируется символ. Каждому символу (в случае 5х7) отводится 5 байтов. Первый байт даёт нам левый столбец, второй - второй и 5й байт - правый столбец. Младший бит - верхняя точка столбца. Старший бит (7) - нижняя точка. Обычно он равен 0 - он служит как бы пробелом между строками, так что реально изображает символ максимум бит 6.
Что нам теперь нужно. Нам нужно вывести по очереди эти 5 байтов на дисплей, напомню первый байт слева, справа последний. Но если просто отправить байт в дисплей то ничего не выйдет. Дело в том что в файле шрифта каждый бит каждого байта означает отдельный пиксель (0-не светится, 1-светится). А нам нужно для того что бы пиксель светился отправить 3 байта. Видите? Нам нужно один бит превратить в 3 байта.
Я делаю так:
void CFB(unsigned char datf, unsigned char R, unsigned char G, unsigned char B)
{
if(datf & (1 << 0))
SDLCDcolor(R,G,B); else SDLCDcolor(fonR,fonG,fonB);
if(datf & (1 << 1))
SDLCDcolor(R,G,B); else SDLCDcolor(fonR,fonG,fonB);
if(datf & (1 << 2))
SDLCDcolor(R,G,B); else SDLCDcolor(fonR,fonG,fonB);
if(datf & (1 << 3))
SDLCDcolor(R,G,B); else SDLCDcolor(fonR,fonG,fonB);
if(datf & (1 << 4))
SDLCDcolor(R,G,B); else SDLCDcolor(fonR,fonG,fonB);
if(datf & (1 << 5))
SDLCDcolor(R,G,B); else SDLCDcolor(fonR,fonG,fonB);
if(datf & (1 << 6))
SDLCDcolor(R,G,B); else SDLCDcolor(fonR,fonG,fonB);
if(datf & (1 << 7))
SDLCDcolor(R,G,B); else SDLCDcolor(fonR,fonG,fonB);
}
Что происходит: мы передаём процедуре байт прочитанный из файла шрифта и цвет которым он должен отобразиться и один байт передётся 8х3 байтов. Переменные fonB..fonR - это у меня глобальные переменные которые означают цвет фона. Если цвет фона изменять не планируется, то их можно заменить конкретными цифрами.
Можно конечно упростить сделав цикл, хотите сделайте.
Так вот, мы передаём 5 байтов из шрифта - и - на экране символ!
Давайте передадим их:
void PrintL(unsigned int num, unsigned char R, unsigned char G, unsigned char B)
{
num=num*5;
temp=pgm_read_byte(&(Font_5x8[num+0]));
CFB(temp,R,G,B);
temp=pgm_read_byte(&(Font_5x8[num+1]));
CFB(temp,R,G,B);
temp=pgm_read_byte(&(Font_5x8[num+2]));
CFB(temp,R,G,B);
temp=pgm_read_byte(&(Font_5x8[num+3]));
CFB(temp,R,G,B);
temp=pgm_read_byte(&(Font_5x8[num+4]));
CFB(temp,R,G,B);
CFB(0,fonR, fonG, fonB);
}
Мы передаём процедуре код символа и цвет.

Но мы ещё не задали куда нужно выводить! Напрмер так:

void DSAT(unsigned int X, unsigned int Y)
{
//---Задаём область вывода текста (8 пикселей в высоту)---
LCDCommand(0x2A); //Команда по Y координате
temp=(Y >> 8) & 0xff;
LCDData(temp); //Данные начала Y координат (старший байт)
temp=Y & 0xff;
LCDData(temp); //младший байт
Y=Y+7;
temp=(Y >> 8) & 0xff;
LCDData(temp); //Данные конца Y координат (старший байт)
temp=Y & 0xff;
LCDData(temp); //младший байт
//----------
LCDCommand(0x2B); //Команда по Х координате
temp=(X >> 8) & 0xff;
LCDData(temp); //Данные начала X координат (старший байт)
temp=X & 0xff;
LCDData(temp); //младший байт
temp=(X >> 8) & 0xff;
LCDData(0x1); //Данные конца X координат (старший байт)
LCDData(0x90); //младший байт
}
Тут мы вызывем процедуру с координатами верхнего левого угла символа. Далее вычисляется и передаётся в дисплей нижний край области вывода, рассчётом правой границы я не стал заниматься - я задаю по максимуму (край дисплея), хватит всегда.
Теперь мы можем выводить символы на экран задав область вывода и передавая символ за символом. Но так уныло и не красиво. Я делаю красивее. Глубинной сути этого явления я не понял, но оно работает, хоть и пишет предупреждения.
Процедура такая:
void showstr(unsigned char *s, unsigned int X, unsigned int Y, unsigned char R,unsigned char G,unsigned char B)
{
D_PORT &= ~(1 << CS); //Ноль
DSAT(X, Y);
LCDCommand(0x2C); //Команда записи в память дисплея Что
//---------- собственно выводим текст-------------------------
while(*s != 0) PrintL(*s++,R,G,B);
D_PORT |= 1 << CS; //Единица
}
Мы вызываем задавая координаты вывода и цвет.
Но это ещё не все, пользуемся процедурой так:
showstr("Паяльника нет!",3,3,255,255,255); //Текст, начало X Y
Красиво жутко.

Примечание. Если мы будем делать так как я всё описал, используя шрифт 5х8 то получим микроскопические буквочки которые нелегко читать, так как пиксели у нашего диспа очень мелюсенькие. Что делать? Если памяти программ мало (ведь в ней кроме собственно программы будет храниться и шрифт) то можно программно растягивать символы - один бит шрифта превращать не в 3 байта, а в 6 (передаём R G B R G B - получается по вертикали 2 одинаковых по цвету пикселя) и а так же выводить каждый байт шрифта дважды (получатся 2 одинаковых столбца).Но тогда символы будут корявоватые. А если памяти достаточно то можно использовать шрифты крупнее, например 12х16. Тогда символы будут красивые и не маленькие. Но тогда надо усложнить процедуры. В прилагаемом проекте я использовал как раз такой шрифт.
Просьба за мой проект ногами не пинать, это моя вторая программа на С. Этот проект - велоспидометр с одометром и часами (часы правда работают через раз, пока не понял почему), делал сыну, дисплей S5230, МК ATMEGA32. Датчик - датчик холла на вилке и 2 магнита на спицах.

:tea:
Вышел из себя.
Пришел в себя.
Ушел в себя.
И решил больше сегодня никуда не ходить
Аватара пользователя
CyberVad
Встал на лапы
Сообщения: 142
Зарегистрирован: Сб дек 24, 2011 12:39:03

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

Сообщение CyberVad »

Ещё раз скажу - я не мега-программер утверждающий что надо делать так, только так и никак иначе. Если угодно - я-быдлокодер. Я не ставлю перед собой задачи стать мега-программером, я ставлю конкретные цели и решаю их, пусть порой и не слишком красиво.
Целью моего "цикла статей" было не показать как надо делать, а рассказать как управлять графическим дисплеем, так как все выкладывают проекты, но никто и нигде (я не встречал) просто не объясняет. Так что если угодно, цель моего повествования - просветительская.
Насчёт того что атмеги - кроме как мигать светодиодами ни на что не способны. Как говорили древние "Главное что бы наши возможности совпадали с нашими потребностями". Да, атмегой32 12 Мгц видео на такой дисплей не повыводишь. Но мне этого и не надо! Да, весь экран перерисовывается долго (может секунду, может меньше, я не измерял), а мне быстрее и не надо. У меня экран заполняется цветом (синим) лишь раз - при старте. Далее раз в секунду обновляется время и напряжение батареи а километражи, скорость и стрелка обновляются и того реже (по мере надобности). Для таких задач и такого МК хватает с лихвой. Так что так.

:tea:
Вышел из себя.
Пришел в себя.
Ушел в себя.
И решил больше сегодня никуда не ходить
Аватара пользователя
CyberVad
Встал на лапы
Сообщения: 142
Зарегистрирован: Сб дек 24, 2011 12:39:03

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

Сообщение CyberVad »

CyberVad писал(а): В прилагаемом проекте :tea:


Упс, а вот обещанный проект:
Вложения
NFS.rar
В статье забыл сказать - кварц 13 МГц (сдёрнул SMDшный с какого то телефона)
(151.61 КБ) 655 скачиваний
Вышел из себя.
Пришел в себя.
Ушел в себя.
И решил больше сегодня никуда не ходить
Аватара пользователя
Кислый
Поставщик валерьянки для Кота
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар
Контактная информация:

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

Сообщение Кислый »

хмм. появилась одна идея :)
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Ответить

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