Перейти к содержанию
    

Текстовая коробочка

Добрый день! Не уверен что правильно выбрал раздел - если что перенесите пожалуйста.

Мне нужна помощь в выборе компонентов и технологии.

Нужно устройство с монохромным (белым) OLED дисплеем и рабочим полем размером 40*28 мм.

Устройство должно выводить текст в 4 строчки, с возможностью смены "кадров" сдвиганием текста как в телетексте влево! по 10 символов в строке на один "кадр"!

Шрифт должен быть похож на точечный, как в старых принтерах, где буквы печатались иголочками. Размер буквы 7*5 (8*6 с отступами) точек. Внешний вид букв очень важен для копийности устройства.

Выходит разрешение должно быть в рабочей области 40*28мм - (6*10 + 1)*3 / (10*4 + 3)*3 = 183 / 129 пикс. минимум (по 3*3 пикселя на рисование точки в шрифте и нужные отступы текста от края).

 

Теперь к сути: выходит что скорее всего придется самому делать шрифт и как-то его хранить, как то рисовать на дисплее все тексты и сами тексты тоже надо как-то хранить. Там что-то около 200-300 кадров с заранее известным текстом.

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

Есть опыт программирования AVRок, но с дисплеями и памятью никогда не работал.

Поэтому вопросы:

1) Какой микроконтроллер справится с этой задачей и будет не избыточен?

2) Какой дисплей (интерфейс) лучше выбрать для этих задач чтоб было проще всего освоить работу с ним и с минимальным геморроем выводить и листать тексты (с эффектом телетекста)?

3) Где и как проще всего хранить сами тексты и шрифт, есть ли что-нибудь готовое для таких задач? Опять же чтоб было просто разобраться и организовать связь память-МК?

Остальное вроде должно получиться, если все удачно пойдет - буду выкладывать результаты и вопросы в этом топике.

Заранее спасибо за любую помощь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 минут назад, mi1vus сказал:

Теперь к сути: выходит что скорее всего придется самому делать шрифт и как-то его хранить, как то рисовать на дисплее все тексты и сами тексты тоже надо как-то хранить. Там что-то около 200-300 кадров с заранее известным текстом.

Делать самому шрифт - это лишнее. Можно наковырять шрифтов из винды. Поищите в инете утилитку "The Dot Factory" - с помощью неё можно конвертить виндовые шрифты в удобный формат для включения в исходный код МК.

6 минут назад, mi1vus сказал:

1) Какой микроконтроллер справится с этой задачей и будет не избыточен?

Берите любой удобный, в котором есть достаточно ОЗУ для хранения видеобуфера размером по требуемому количеству точек экрана.

Видимо любой МК на базе Cortex-M будет наиболее подходящ для вашей задачи.

Почему беспокоитесь об "избыточности"? Нужно серийное производство?

6 минут назад, mi1vus сказал:

2) Какой дисплей (интерфейс) лучше выбрать для этих задач чтоб было проще всего освоить работу с ним и с минимальным геморроем выводить и листать тексты (с эффектом телетекста)?

Думаю - лучше взять какой-либо со встроенным контроллером и подключением по SPI. Например подобный этому: https://ru.aliexpress.com/item/SPI-TFT-LCD-Display-Module-Chip-ILI9340C-PCB-SD-Card-2-2-Serial-240x320-New/32266092912.html

Есть и OLED с SPI.

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

6 минут назад, mi1vus сказал:

3) Где и как проще всего хранить сами тексты и шрифт, есть ли что-нибудь готовое для таких задач? Опять же чтоб было просто разобраться и организовать связь память-МК?

В смысле где? В МК есть память (Flash и ОЗУ), там и храните. Зачем какая-то ещё память? У Вас же не мегабайты этих текстов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Успокоили. Я то имел дело с совсем маленькими AVRками с памятью в считанные байты, вот и по привычке был уверен что тексты в память МК не влезут)

Устройство не в серию, но для человек 5-10 наверное сделаю, поэтому переплата в лишние пару тысяч будет все-таки нежелательной.

Хотя кстати если удачно получится, возможно и до серии дойдет... (что то я размечтался и делю шкуру не убитого медведя))) )

 

А как насчет вывода текста на дисплей? Можете какую нибудь литературу посоветовать, потому что пока не знаю с чего начать. В голову лезет страшная мысль - делать попиксельный вывод на дисплей буковок самому...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, mi1vus сказал:

А как насчет вывода текста на дисплей? Можете какую нибудь литературу посоветовать, потому что пока не знаю с чего начать. В голову лезет страшная мысль - делать попиксельный вывод на дисплей буковок самому...

А что там такого страшного? Только не "попиксельный", а побайтный/пословный. И не "на дисплей", а в видеобуфер. А уже видеобуфер, после отрисовки всей страницы, отправлять на LCD. The Dot Factory создаёт пару массивов. Из них и несложно сделать вывод.

Можно взять готовую либу "EmWin" или подобную. Тут ничего подсказать не могу - не пользовался никогда, всю графику всегда писал сам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага, спасибо! Понял с чего начать. Прикуплю железо - думаю еще что нибудь спрошу!)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 минут назад, mi1vus сказал:

Устройство не в серию, но для человек 5-10 наверное сделаю, поэтому переплата в лишние пару тысяч будет все-таки нежелательной.

Больше всего на цену МК в вашей задаче будет влиять размер ОЗУ. Так что Вам в первую очередь советую продумать как более компактно хранить видеобуфер. Т.е. - сколько цветов нужно и т.п.

Например: при использовании только 16-битного цвета на том же разрешении 320x240 нужно всего <40КБ ОЗУ. А если хранить картинку в полном цветовом разрешении этого LCD, то потребуется в 4 раза больше ОЗУ.

1 минуту назад, mi1vus сказал:

Ага, спасибо! Понял с чего начать. Прикуплю железо - думаю еще что нибудь спрошу!)

Как бывшему AVR-щику сразу Вам советую покупать готовую отладочную плату со встроенным отладчиком (JTAG/SWD) или покупать отдельный J-Link. Потому что комфортно разрабатывать ПО без отладчика - очень затруднительно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такое устройство легче всего сделать на "ардуине". И библиотеки и экраны на любой вкус и цвет. После отработки уже можно адаптировать под свою плату. Из stm32 лучше всего развита работа с F103С8Т6. Ваша задача решается за вечер, если цель устройство, а не процесс разработки.

На али есть экраны 240х240пикс 40х40мм за 3-4 бакса.

Изменено пользователем Alex-lab

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 минут назад, Alex-lab сказал:

Такое устройство легче всего сделать на "ардуине". И библиотеки и экраны на любой вкус и цвет. После отработки уже можно адаптировать под свою плату. Из stm32 лучше всего развита работа с F103С8Т6. Ваша задача решается за вечер, если цель устройство, а не процесс разработки.

Что-ж за тяга такая - всё "решать" на F103С8Т6 ???

И сколько, позвольте узнать, ОЗУ в этом F103С8Т6? 20КБ всего? А если автору нужна цветная картинка где её строить? По частям? А нафиг оно надо такие усложнения? и медленно и артефакты...

А сколько флеша? Всего 64КБ? А куда позвольте спросить шрифты размещать? Может автору не один нужен? и не мелкий?

Решается "за вечер" на том, что хорошо знаешь. И если наработки есть и инструменты знакомые... А для автора тут всё новое.

 

И тем более не стоит советовать абдурину для таких размеров экрана. Чтоб пользователи потом в автора не плевались. :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Берем калькулятор (с запасом)

4 строки * 8 = 32 точки по вертикали

10 символов * 6 = 60 по горизонтали

Находим дисплей на ali 64х32 нужного размера с интерфейсом i2c

Далее начинается магия !

64 * 32 / 8 = 256 байт для видеобуфера (F103 Карл ? Конечно 20К не хватит !)

400 000 / 10 / 256 = 156 кадров в секунду максимальная скорость  перерисовки кадров (F103 Карл ? Это же надо 72 МГц как минимум !)

Берем подходящий AVR и применяем имеющиеся знания.

Меньше слущаем Карлуш и делаем людям счастье.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 minutes ago, x893 said:

Берем подходящий AVR и применяем имеющиеся знания

Я бы посоветовал, как бывший аврщик, что-нить типа STM32F030(051), если автор темы имеет время для изучения чего-то нового. ИМХО, Cortex-M0 более перспективно изучить, нежели оставаться на AVR. Поскольку автор не расказал подробно, что за устройство он делает, я рискну предположить, что кроме отображения текста, возможно нужно делать какую-либо ещё дополнительную работу, например вычисления. Если ничего этого нет, то можно хоть 51-й (MSC) взять...

4 hours ago, mi1vus said:

Где и как проще всего хранить сами тексты и шрифт, есть ли что-нибудь готовое для таких задач? Опять же чтоб было просто разобраться и организовать связь память-МК?

То, что не меняется (константы) можно и нужно хранить в ПЗУ (флеш-памяти МК), благо её много.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

58 minutes ago, jcxz said:

Что-ж за тяга такая - всё "решать" на F103С8Т6 ???

Повторю еще раз. В среде ардуины этот процессор имеет наиболее развитую поддержку. Плюс 32битный контроллер это уже шаг в сторону серьезных чипов.

Смысл делать на АВР тоже не вижу. Это сложнее, дороже и менее перспективно с точки зрения возрастающих потребностей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

49 минут назад, x893 сказал:

Находим дисплей на ali 64х32 нужного размера с интерфейсом i2c

А такие есть? OLED с точкой размером 0.67x0.875 мм? Дайте ссылку плиз.

Цитата

64 * 32 / 8 = 256 байт для видеобуфера (F103 Карл ? Конечно 20К не хватит !)

Я вообще-то писал про затребованное автором разрешение:

4 часа назад, mi1vus сказал:

183 / 129 пикс

Но если Вы знаете OLED с точкой размером == 0.67x0.875 мм - дайте ссылку.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 минут назад, Alex-lab сказал:

Смысл делать на АВР тоже не вижу. Это сложнее, дороже и менее перспективно с точки зрения возрастающих потребностей.

А кто предлагал на АВР?  :shok:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

28 minutes ago, jcxz said:

А кто предлагал на АВР?  :shok:

Вы тему читаете?

1 hour ago, x893 said:

Берем подходящий AVR и применяем имеющиеся знания.

Что может показаться логичным так как автор темы:

4 hours ago, mi1vus said:

Есть опыт программирования AVRок, но с дисплеями и памятью никогда не работал.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

40 minutes ago, jcxz said:

Но если Вы знаете OLED с точкой размером == 0.67x0.875 мм - дайте ссылку.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...