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

Бегущая строка на ATmega8 - простая схема

:) Все сделано, работает, как на колесиках :) мягко так самому нравиться, НО минимальная скорость движения ограничена кадровой. Лично мне нормально когда кадровая 50-60 Гц мерцания уже не видно и скорость движения текста читабельная, НО я точно знаю что лицо которое заказало мне этот проект может придолбаться почему минимальная скорость ограничена и что он видел как бежит гдето медленней, поэтому я тут и пишу думал ктото както решил эту проблемку.

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


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

У меня частота кадров сейчас 60Гц. Было 75. Принципиально я могу замедлять и ускорять текст. Замедлять путём кратности (движение один раз за N кадров) и ускорять путём смещение на N пикселей за раз. С точки зрения изображения при замедлении выглядит не очень красиво. Но принципиально - живёт.

 

Теперь вообще. При размерах 1.2 метра движение при частоте кадров 60Гц мне кажется оптимальным. Медленнее не надо. Можно даже ускорить до 75Гц. При больших размерах наверное можно ещё подогнать. Если делать медленнее, то уснёшь читая. Правда у меня различные шрифты от 6х8 до 16х17. Поэтому на шрифте 16х17 движение выглядит как более медленное.

 

Когда отлаживал, то я всё это просматривал с близкого расстояния и, в связи с этим не видел общей картины. Попробуй просмотреть картинку с расстояния 20 метров. И пустить текст по-разному.

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


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

Собрал строку на самых дешёвых светляках, обкатал программу. Всё как на колёсиках, даже ввёл эффект, основанный на "вредном наклоне" шрифта. Теперь текст колеблется, как полотнище знамени.

Надо переходить на яркие светодиоды, а информации то и нет. Светодиодов куча, выбор большой и цена разная. Для наружной рекламы используем 180 градусов 0,6-1,0 кандел. Вечером и в сумерки смотрится очень хорошо, а вот днём явно мало. Вот и вопрос - кто какие применяет, какая яркость и угол обзора нужны для наружного и внутреннего применений. Нужна ли регулировка яркости для разной освещённости?

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


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

Интересует следущий вопрос:

 

Есть бегущая строка высотой 8 пикселей из матриц 8х8, как и описывалась выше проблема емеется наклон символов, причем если развертка по строкам снизу вверх то наклон в одну сторону а если наоборот то в другую.

 

Хочу сделать "двойную строку" 16пикселов в высоту. Т.к. скважность 1/16 не может устраивать, то разделю на 2 какбы отдельные с общими плюсовыми проводами в строках и удвою к-во регистров.

Получается просто 2 строки одна стоит на другой.

 

Во-первых с увеличением высоты наклон визуально увеличиться?

 

Во-вторых не получу ли я вместо наклона / /

/ /

 

наклон / /

/ / ???

 

Всетаки наверно получу так как получается это просто две строки а значит и наклонные линии будуд одинаковы.. :(

 

Кто делал строку 16 пикселей в высоту из матриц 8х8??? может надо както подругому? поделитесь опытом плиз :)

 

 

//////////////////////////////////////////////////////////

Во-вторых не получу ли я вместо наклона / /

/ /

 

наклон / /

/ / ???

////////////////////////////////////////////////////////

 

/ /

/ /

 

/ /

/ /

 

имел ввиду это..

 

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

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


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

Что лучше в бегущей строке статика или динамика?? В статике не пробывал поэтому и спрашиваю.То что придется делать из дискретных светодиодов и больше уйдет регистров и драйверов знаю. А вот с точки зрения управления и всяких нежелательных зрительных эфектов типа ломка, изгибы, подергивание букв. Видел уже не одну строку на сверхярких диодах, и никаких явлений типа наклонных символов нет.

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


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

здравствуйте уважаемые. прошу помощи и разъяснить пару весчей.

http://electronix.ru/forum/index.php?showtopic=38021

моя тема. Суть такая. Хочу собрать что то похожее на бегущую строку - плату в которой 400 диодов, но чтоб там ничего не "бегало", а просто при нажатии кнопки на компе (в с++) на плате загорался определённый диод. соединение через сом порт.

остановился на выборе платы под управлением ATmega32

http://www.terraelectronica.ru/catalog_inf...class_19_2_26_1

http://www.ldm-systems.ru/price_konstructors.htm

http://www.ldm-systems.ru/ldm-mp_2.01.htm

сам я программил на дельфи и с++, думаю потребуется Ваши советы по работе с Пони 2000.

с Уважением.

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


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

Здраствуйте, кто нибудь может объяснить как добиться плавности движения бегущей строки на светодиодах, я тут порыскал и ничего конкретного не нашел!

Кто то говорил о двойной буферизации, я не совсем понял как ее реализовать, я использую один буфер)

Параметры моей строки:

1. Кол - во светодиодов 8х128;

2. Частота 75 Гц (индикация динамическая);

3. Сдвиг стоит сейчас на 25 Гц;

Для бегущей строки задействовано 2 таймера, один для сдвига другой для динамической индикации.

Не могу понять почему сдвиг не плавно происходит, он какой то ступенчатый!

Как я понял т-щ Cd_Eater сведущ в этих делах, вопрос в основном адресован ему))

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


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

Посмотрите здесь. Там был похожий вопрос. Я уже отвечал на него (пост №11)

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


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

Спасибо за ссылку, Александр, прочел!

И сделал вывод:Частота сдвига должна быть >= Частоте развертки(кстати я в этих терминах слегка путаюсь, если не сложно скиньте ссылку на какую - либо книженцию, где есть описание сих терминов:"Развертка вертикальная, горизонтальная" и т.д.) => Имея частоту динамической индикации 75 Гц я и текст должен сдвигать с этой частотой, возникает вопрос, что делать если нужна меньшая частота???

 

А насчет двойной буферизации я все равно не совсем понял!

 

У меня реализация такова:

1. 4 массива по 8 элементов, каждый элемент по 32 бита, эти массивы "покрывают" как бы всю мою панель, их я и сдвигаю в программе;

2. 4 буферные переменные по 32 бита (это покрытие одной строки) в них я записываю информацию с буферных массивов(одну из восьми строк которую нужно в данный момент времени зажечь);

3. После того как я поджог одну строку я забиваю сдвиговые регистры MBI следующей строкой и жду прерывания от Т1 дабы поджечь следующую строку;

4. Сдвиг происходит от прерывания Т2 , я сдвигаю буферные массивы на одну позицию и снова идет цикл динамической индикации....

 

Блин, может дело в синхронизации я тупо не отключаю какой то таймер в какой то нужный момент времени??

Например: Т1, когда сдвигаю в Т2 буферные массивы, хотя сдвиг буферных массивов на одну позицию занимает 240 мкс.

 

Т1 -> 10 000 Гц;

Т2 -> 1 000 Гц;

Строка поджигается через каждые 1.6 мс;

 

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


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

...

Т1 -> 10 000 Гц;

Т2 -> 1 000 Гц;

Строка поджигается через каждые 1.6 мс;

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

Оставьте один основной таймер, по которому происходит развёртка, по нему будет отрисовываться одна за одной линии в вашей строке, когда будет отрисована последняя линия, т.е. следующая линия начнёт новый кадр, как в развёртке на ТВ или мониторе (кадровая синхронизация), вот тогда нужно будет сдвинуть видеобуфер на новую позицию и следующий кадр будет отрисован без дерганий.

Если сдвигать нужно медленне, чем 1 раз за "кадр", то сдвигайте видеобуфер 1 раз за 2, 3, 4, ... "кадра".

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


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

Я как раз думал об этом!))

 

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

 

Просто у меня В ТЗ изначально нужно было менять скорость сдвига строки и я почему то сразу решил делать это таймером)

 

Попробую этот путь...как реализую, сообщу))

Спасибо)

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


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

Да, эта стратегия мне помогла, заметно плавнее стало изображение!!!

Еще раз спасибо)

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


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

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

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

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

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

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

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

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

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

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