mi1vus 0 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба Добрый день! Не уверен что правильно выбрал раздел - если что перенесите пожалуйста. Мне нужна помощь в выборе компонентов и технологии. Нужно устройство с монохромным (белым) 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) Где и как проще всего хранить сами тексты и шрифт, есть ли что-нибудь готовое для таких задач? Опять же чтоб было просто разобраться и организовать связь память-МК? Остальное вроде должно получиться, если все удачно пойдет - буду выкладывать результаты и вопросы в этом топике. Заранее спасибо за любую помощь! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба 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 и ОЗУ), там и храните. Зачем какая-то ещё память? У Вас же не мегабайты этих текстов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mi1vus 0 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба Спасибо! Успокоили. Я то имел дело с совсем маленькими AVRками с памятью в считанные байты, вот и по привычке был уверен что тексты в память МК не влезут) Устройство не в серию, но для человек 5-10 наверное сделаю, поэтому переплата в лишние пару тысяч будет все-таки нежелательной. Хотя кстати если удачно получится, возможно и до серии дойдет... (что то я размечтался и делю шкуру не убитого медведя))) ) А как насчет вывода текста на дисплей? Можете какую нибудь литературу посоветовать, потому что пока не знаю с чего начать. В голову лезет страшная мысль - делать попиксельный вывод на дисплей буковок самому... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба 5 минут назад, mi1vus сказал: А как насчет вывода текста на дисплей? Можете какую нибудь литературу посоветовать, потому что пока не знаю с чего начать. В голову лезет страшная мысль - делать попиксельный вывод на дисплей буковок самому... А что там такого страшного? Только не "попиксельный", а побайтный/пословный. И не "на дисплей", а в видеобуфер. А уже видеобуфер, после отрисовки всей страницы, отправлять на LCD. The Dot Factory создаёт пару массивов. Из них и несложно сделать вывод. Можно взять готовую либу "EmWin" или подобную. Тут ничего подсказать не могу - не пользовался никогда, всю графику всегда писал сам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mi1vus 0 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба Ага, спасибо! Понял с чего начать. Прикуплю железо - думаю еще что нибудь спрошу!) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба 13 минут назад, mi1vus сказал: Устройство не в серию, но для человек 5-10 наверное сделаю, поэтому переплата в лишние пару тысяч будет все-таки нежелательной. Больше всего на цену МК в вашей задаче будет влиять размер ОЗУ. Так что Вам в первую очередь советую продумать как более компактно хранить видеобуфер. Т.е. - сколько цветов нужно и т.п. Например: при использовании только 16-битного цвета на том же разрешении 320x240 нужно всего <40КБ ОЗУ. А если хранить картинку в полном цветовом разрешении этого LCD, то потребуется в 4 раза больше ОЗУ. 1 минуту назад, mi1vus сказал: Ага, спасибо! Понял с чего начать. Прикуплю железо - думаю еще что нибудь спрошу!) Как бывшему AVR-щику сразу Вам советую покупать готовую отладочную плату со встроенным отладчиком (JTAG/SWD) или покупать отдельный J-Link. Потому что комфортно разрабатывать ПО без отладчика - очень затруднительно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex-lab 5 19 декабря, 2018 Опубликовано 19 декабря, 2018 (изменено) · Жалоба Такое устройство легче всего сделать на "ардуине". И библиотеки и экраны на любой вкус и цвет. После отработки уже можно адаптировать под свою плату. Из stm32 лучше всего развита работа с F103С8Т6. Ваша задача решается за вечер, если цель устройство, а не процесс разработки. На али есть экраны 240х240пикс 40х40мм за 3-4 бакса. Изменено 19 декабря, 2018 пользователем Alex-lab Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба 14 минут назад, Alex-lab сказал: Такое устройство легче всего сделать на "ардуине". И библиотеки и экраны на любой вкус и цвет. После отработки уже можно адаптировать под свою плату. Из stm32 лучше всего развита работа с F103С8Т6. Ваша задача решается за вечер, если цель устройство, а не процесс разработки. Что-ж за тяга такая - всё "решать" на F103С8Т6 ??? И сколько, позвольте узнать, ОЗУ в этом F103С8Т6? 20КБ всего? А если автору нужна цветная картинка где её строить? По частям? А нафиг оно надо такие усложнения? и медленно и артефакты... А сколько флеша? Всего 64КБ? А куда позвольте спросить шрифты размещать? Может автору не один нужен? и не мелкий? Решается "за вечер" на том, что хорошо знаешь. И если наработки есть и инструменты знакомые... А для автора тут всё новое. И тем более не стоит советовать абдурину для таких размеров экрана. Чтоб пользователи потом в автора не плевались. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба Берем калькулятор (с запасом) 4 строки * 8 = 32 точки по вертикали 10 символов * 6 = 60 по горизонтали Находим дисплей на ali 64х32 нужного размера с интерфейсом i2c Далее начинается магия ! 64 * 32 / 8 = 256 байт для видеобуфера (F103 Карл ? Конечно 20К не хватит !) 400 000 / 10 / 256 = 156 кадров в секунду максимальная скорость перерисовки кадров (F103 Карл ? Это же надо 72 МГц как минимум !) Берем подходящий AVR и применяем имеющиеся знания. Меньше слущаем Карлуш и делаем людям счастье. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба 34 minutes ago, x893 said: Берем подходящий AVR и применяем имеющиеся знания Я бы посоветовал, как бывший аврщик, что-нить типа STM32F030(051), если автор темы имеет время для изучения чего-то нового. ИМХО, Cortex-M0 более перспективно изучить, нежели оставаться на AVR. Поскольку автор не расказал подробно, что за устройство он делает, я рискну предположить, что кроме отображения текста, возможно нужно делать какую-либо ещё дополнительную работу, например вычисления. Если ничего этого нет, то можно хоть 51-й (MSC) взять... 4 hours ago, mi1vus said: Где и как проще всего хранить сами тексты и шрифт, есть ли что-нибудь готовое для таких задач? Опять же чтоб было просто разобраться и организовать связь память-МК? То, что не меняется (константы) можно и нужно хранить в ПЗУ (флеш-памяти МК), благо её много. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex-lab 5 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба 58 minutes ago, jcxz said: Что-ж за тяга такая - всё "решать" на F103С8Т6 ??? Повторю еще раз. В среде ардуины этот процессор имеет наиболее развитую поддержку. Плюс 32битный контроллер это уже шаг в сторону серьезных чипов. Смысл делать на АВР тоже не вижу. Это сложнее, дороже и менее перспективно с точки зрения возрастающих потребностей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба 49 минут назад, x893 сказал: Находим дисплей на ali 64х32 нужного размера с интерфейсом i2c А такие есть? OLED с точкой размером 0.67x0.875 мм? Дайте ссылку плиз. Цитата 64 * 32 / 8 = 256 байт для видеобуфера (F103 Карл ? Конечно 20К не хватит !) Я вообще-то писал про затребованное автором разрешение: 4 часа назад, mi1vus сказал: 183 / 129 пикс Но если Вы знаете OLED с точкой размером == 0.67x0.875 мм - дайте ссылку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба 8 минут назад, Alex-lab сказал: Смысл делать на АВР тоже не вижу. Это сложнее, дороже и менее перспективно с точки зрения возрастающих потребностей. А кто предлагал на АВР? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex-lab 5 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба 28 minutes ago, jcxz said: А кто предлагал на АВР? Вы тему читаете? 1 hour ago, x893 said: Берем подходящий AVR и применяем имеющиеся знания. Что может показаться логичным так как автор темы: 4 hours ago, mi1vus said: Есть опыт программирования AVRок, но с дисплеями и памятью никогда не работал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 19 декабря, 2018 Опубликовано 19 декабря, 2018 · Жалоба 40 minutes ago, jcxz said: Но если Вы знаете OLED с точкой размером == 0.67x0.875 мм - дайте ссылку. Зачем ссылку ? Сразу дисплей надо просить ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться