1 / 1 / 0
Регистрация: 28.03.2015
Сообщений: 94
|
|
1 | |
TFT дисплей с параллельным интерфейсом05.01.2021, 23:43. Просмотров 2760. Ответов 77
Метки нет Все метки)
(
Mega2560 в качестве обучающей платы. Код пишу на Си в AVR Studio 4. Разобрался по урокам как управлять знакогенерирующим дисплеем 16х2, и даже сделал на нем частотомер с которым бегал за домашними с требованием оценить мой успех ))
Теперь хочу освоить управление графическим TFT, также по параллельному интерфейсу. Перебираю варианты из магазина, совсем маленькие не рассматриваю, из "больших" по цене/размеру приглянулись 2.8"(2.8'' LCD 8-Bit Parallel Bus Monitor Module ILI9341 Criver For Mega2560) и 3.5"(480х320, ILI9486). На али позиционируются как шильды для меги, т.е. по идее она должна их потянуть ... в статических задачах наверняка (текст, цифры). А в графических, например, осциллограф, при условии что АЦП будет внешним?
1
|
|
05.01.2021, 23:43 | |
TFT дисплей Дисплей TFT 160x128 RGB и плата Arduino Mega 2560 + WiFi ESP8266 (micro usb) Подключение дисплея с параллельным интерфейсом Подключение внешней АЦП с параллельным интерфейсом |
|
1 / 1 / 0
Регистрация: 28.03.2015
Сообщений: 94
|
|
15.01.2021, 22:52 [ТС] | 61 |
Кстати, "механизация" этого процесса есть? Может нашлись энтузиасты и сделали. Насколько осведомлен сама Arduino IDE не переведет мне с индусского на оксфордский (Си). Выходит только руками через понимание индусского?
0
|
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
|
|
15.01.2021, 23:48 | 62 |
По сути вы предлагаете написать супер-оптимизатор, который бы мог разобрать алгоритм и изменить его на более правильный. Увы, искусственного интеллекта пока не изобрели.
А главное откуда ему (алгоритму, ИИ) знать какие функции и настройки вам понадобятся, а какие можно безболезненно выкинуть. В общем, не ленитесь, а изучайте чужой код (да, разного качества) и переписывайте под свой стиль. Нет, правда, даже просто переписать с ардуинского digitalWrite на прямую работу с регистрами, не говоря уж на нормальную - через макросы, а тем более через аппаратный модуль, уже в разы повысит эффективность и читаемость кода. При этом полезно писать комментарии к странным местам - лучше бы на английском, но можно и на родном. Тут дело в том, что мировому сообществу ваши "детские" комментарии вряд ли будут интересны, а вам или новичкам читать по-русски будет проще. Подопытный-то у вас уже есть? Если хотите тренироваться на телефонных дисплеях, лучше Nokia5110 вряд ли что найдете. У остальных слишком противные разъемы. А то и протоколы. Например, когда я подключал дисплей от Nokia2650, воткнулся в 9-битный SPI. А аппаратно такое никто не умеет, пришлось эмулировать. Ну и дисплей от 5110 вроде бы есть в Протеусе, так что если железки еще нет, можно поиграться там. Впрочем, утверждать не буду, с последними версиями Протеуса уже не знаком, могли и чего поинтереснее добавить.
0
|
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
|
|
16.01.2021, 11:08 | 64 |
Аппаратных float чисел в нем нет.
Но я к тому что его скорости достаточно для рисования плавной анимации через DMA->SPI. Параллельно считая трехмерку. Не забывайте, что у осциллографа требования существенно ниже как по сложности расчета изображения, так и по скорости вывода.
0
|
1856 / 1181 / 114
Регистрация: 04.01.2010
Сообщений: 4,208
|
|
16.01.2021, 11:11 | 65 |
а-да ). Я тоже, делал на AVR, и отправлял 9й бит прямо в прерывании SPI ).
а с этим экранчиком вообще было интересно. Он в проекте термометра и регулятора (на балконе ставил подогрев), пока было изменение данных - показывал, потом изображение исчезало. Оказалось, что на разъеме (у меня были контакты на стекле) отвалился контакт плюса питания. В итоге, я так понял, экранчик работал на сигналах управления (SPI). То есть пока шлется ему что-то - он показывает после этого минуту или больше. Если не шлешь - изображение исчезает ![]()
0
|
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
|
|
16.01.2021, 12:06 | 66 |
Так CS надо было к питанию притянуть или MOSI. Да и RESET обычно на питании висит, его к нулю прижимают только для сброса.
Но да, защитные диоды, особенно в малопотреблящих устройствах вроде КМОП-микросхем или вашего дисплея могут приводить к интересным эффектам.
0
|
16.01.2021, 14:29 | 67 |
Я не работал с STM 3D без аппаратной поддержки float не возможен с нормальной скоростью. Скорее всего на демке псевдо 3D или какая-то симуляция под 3D - не полноценное 3D.
Почитал немного : STM32 Cortex®-M4F с аппаратной поддержкой float
0
|
1856 / 1181 / 114
Регистрация: 04.01.2010
Сообщений: 4,208
|
|
16.01.2021, 15:35 | 68 |
...а есть еще целочисленная математика...
![]()
0
|
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
|
|
16.01.2021, 16:43 | 69 |
Расчет матриц преобразования и умножение их на радиус-вектора вершин происходит на программной реализации float'ов (лень было еще и это в фиксированную точку переводить), а растеризация и вывод на числах с фиксированной точкой. Там ведь есть ссылка на код. А если проявите немного настойчивости, можно даже найти статью по этой демке на Хабре.
С отображением было сложнее, чем с расчетом всех этих матриц. Контроллер ведь не может нормально все это рисовать на заднем буфере, потом переключить на передний и вывести все это на экран, у него памяти столько нет.
0
|
1856 / 1181 / 114
Регистрация: 04.01.2010
Сообщений: 4,208
|
|
16.01.2021, 21:22 | 70 |
Конечно, потому что умножение матриц 4х4 считаются относительно не сложно. Наверное, можно обойтись даже без итераций. И в случае динамики по графике - изменение точки камеры - не так уж критично, по сравнению с изменению формы объекта или сцены. Ну, и точно не понятно - у Вас, скорее всего изометрия, а не перспектива, которая сложнее. И навскидку - без Z-буфера, то есть рисуется все без проверки перекрытия (Z-буфера).
PS: все равно - работает здорово. Я и раньше это отмечал. Да, но визуально прорисовка кадра не заметна. По крайней мере на видео.
0
|
2743 / 1692 / 350
Регистрация: 09.09.2017
Сообщений: 7,069
|
|
17.01.2021, 12:32 | 72 |
Voland_, Z-буфер и задний буфер там есть, просто они не на весь экран, а на одну строку. То есть идет рисование одной строки, потом эта строка через DMA отправляется на дисплей, а ядро в это время считает следующую. Расчет поворотов и всего остального идет перед первой строкой очередного кадра.
Если интересно, вот тут описано подробнее. А в чем разница? Добавляется всего лишь умножение на матрицу. Разве что потом все координаты на 4-ю компоненту делить. Впрочем, вы угадали, перспективой я не заморачивался: для небольших моделей она не слишком заметна. Да и F1 могут начиная со стоногого корпуса. Но я говорил именно про stm32f103c8t6
0
|
1856 / 1181 / 114
Регистрация: 04.01.2010
Сообщений: 4,208
|
|
17.01.2021, 14:31 | 73 |
я читал, когда вы раньше это выкладывали. Я удивился, потому что очень давно пробовал в примерах на Спектрум рисовать поверхности (в виде линий) 3D-сцены. На его Бейсике это выглядело совсем медленно (400 поверхностей или 800 треугольников фигуры) рисовались минут 20. Скомпилированный код (да-да, для Бейсика на ZX он был) прорисовка занимала секунды 2. И с тех времен у меня сложилось впечатление - что рисовать на экране это долго ). Потом, правда, было много "эволюции" 3D-графики, и когда появился OpenGL - все как-то стало проще и "само собой". А, оказывается, это просто Z80 достаточно древний проц, и он просто не тянет такие задачи вычислений.
0
|
1 / 1 / 0
Регистрация: 28.03.2015
Сообщений: 94
|
|
18.01.2021, 23:38 [ТС] | 74 |
Не могу на али найти дисплей 320х240 который можно было бы подключать и по SPI, и по parallel 8 бит? Есть либо с SPI, либо с parallel, а оба на одном не нахожу, хотя знаю что их контроллеры поддерживают оба режима. Такие вообще есть?
0
|
![]() |
|
19.01.2021, 07:00 | 75 |
Ищите тут : https://www.buydisplay.com/
С параллельными интерфейсами, у которых заявлена возможность конфигурации по даташиту. Да, здесь есть даташиты, в отличие от aliexpress. Добавлено через 3 часа 25 минут Вот пример
0
|
1 / 1 / 0
Регистрация: 28.03.2015
Сообщений: 94
|
|
19.01.2021, 16:15 [ТС] | 76 |
Хороший магазинчик, только там подходящие по параметрам дисплеи с обязательным промежуточным шилдом между дисплеем и ардуиной, зачем он мне? Наверное чтобы оставался доступ к торцевым портам меги? Но 2,8" дисплей их не закрывает и без шилда.Сам шилд крепко сидит в ардуине, а дисплей на шилде держится на торце, я его 100% погну, или плата треснет.
Пока заказал монохром от Нокии 5110.
0
|
20.01.2021, 12:52 | 78 |
На Ali полно дисплеев. Вы не разобрались с поиском
Все дисплеи с широким разъёмом работают по любому протоколу. Просто почитайте внимательно Добавлено через 5 минут 1 SPI / RGB интерфейс 2 SPI / RGB интерфейс STM32 интерфейс 12P/8P SPI ILI9341 по-моему с любым интерфейсом на выводах Добавлено через 4 минуты на https://www.buydisplay.com/ может больший ассортимент и нагляднее описание, но дороже чем на Ali
0
|
20.01.2021, 12:52 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. TFT дисплей и ATMega8 TFT дисплей и AVR STM32VLDISСOVERY + TFT дисплей. Хелп!!!! TFT дисплей + TouchPad как выбрать STM32F3 и TFT дисплей (ILI9341) ЧЯДНТ ? Какой TFT-LCD дисплей на 3-4" лучше использовать для STM32 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |