Не совсем бегущая строка...

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
abodin
Родился
Сообщения: 4
Зарегистрирован: Пн июн 01, 2009 16:11:40
Откуда: Лобня МО

Не совсем бегущая строка...

Сообщение abodin »

Здравствуй, прошу помощи в написании проекта на atmega 16.
На семь светодиодов выходит слово. светодиоды вращаются на планке. скорость вращения планки считывается с энкодера. Хоть набросок в каком направлении идти. Спасибо (Атмегу взял потому как их купил штук 20 по доступной цене в свое время)
woroba
Родился
Сообщения: 6
Зарегистрирован: Пт сен 05, 2008 20:43:30

Re: Не совсем бегущая строка...

Сообщение woroba »

abodin писал(а):Здравствуй, прошу помощи в написании проекта на atmega 16.
На семь светодиодов выходит слово. светодиоды вращаются на планке. скорость вращения планки считывается с энкодера. Хоть набросок в каком направлении идти. Спасибо (Атмегу взял потому как их купил штук 20 по доступной цене в свое время)

Смотрите журнал Схемотехника, там был аналогичный прект с прошивками.
abodin
Родился
Сообщения: 4
Зарегистрирован: Пн июн 01, 2009 16:11:40
Откуда: Лобня МО

Re: Не совсем бегущая строка...

Сообщение abodin »

woroba писал(а):
abodin писал(а):Здравствуй, прошу помощи в написании проекта на atmega 16.
На семь светодиодов выходит слово. светодиоды вращаются на планке. скорость вращения планки считывается с энкодера. Хоть набросок в каком направлении идти. Спасибо (Атмегу взял потому как их купил штук 20 по доступной цене в свое время)

Смотрите журнал Схемотехника, там был аналогичный прект с прошивками.

сейчас поищу, а как устройство назвать?
Rokl
Друг Кота
Сообщения: 5232
Зарегистрирован: Пт авг 25, 2006 09:26:19
Откуда: Москва

Re: Не совсем бегущая строка...

Сообщение Rokl »

abodin писал(а):Здравствуй, прошу помощи в написании проекта на atmega 16.
На семь светодиодов выходит слово. светодиоды вращаются на планке. скорость вращения планки считывается с энкодера. Хоть набросок в каком направлении идти.


Может сначала зайти сюда?
http://radiokot.ru/circuit/digital/home/13/
Аватара пользователя
SeamaNCOS
Встал на лапы
Сообщения: 107
Зарегистрирован: Ср дек 10, 2008 15:10:59
Откуда: KPACHO9PCK
Контактная информация:

Сообщение SeamaNCOS »

Тоже самое что и рисунок на колесе.http://radiokot.ru/forum/viewtopic.php?t=14736
тлько у тебя будет частота вращения одинаковая. Хотя можно просто прошивку переписать под мегу ну и добавить несколько матриц с буквами (высота 14 светиков)
Чем больше думаеш, тем дольше уснуть не можеш...
Аватара пользователя
Аксель
Опытный кот
Сообщения: 800
Зарегистрирован: Ср апр 25, 2007 09:50:43
Откуда: Киев
Контактная информация:

Сообщение Аксель »

:))

Есть тут ещё для наброска направления:

http://radiokot.ru/forum/viewtopic.php?t=12864

Propeller clock
Скелет колобка состоит из черепа.
abodin
Родился
Сообщения: 4
Зарегистрирован: Пн июн 01, 2009 16:11:40
Откуда: Лобня МО

Сообщение abodin »

Спасибо буду разбираться только проблема в использовании энкодера (есть в наличии на 2500 импульсов) вход в 8кГц получится обработать?
Можно чтобы я сам разобрался кинуть кусок кода в CodeVisionAVR с таким примером: включение выходов синхронно поступающим сигналам по определенному входу. т.е. пришел сигнал на вход 1 включились выходы с 1 по 7, пришел следующий импульс на вход 1 включили выходы 1,7 тока написать все это в Си могу, но скорости думаю не хватит и программа раздуется на 200 и более строк. Можно как то описать все варианты включения выходов в какой то массив и потом только вызывать от туда нужный вариант включения, но опять повторюсь все сдвиги делать по входу к которому подключен энкодер. Спасибо.
Аватара пользователя
1995kenny
Вымогатель припоя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков
Контактная информация:

Сообщение 1995kenny »

Есть такая вещь MiniPov. http://www.ladyada.net/make/minipov3/index.html Сам в прошлом году сделал такую-же.там токо 8 светодиодов, вроде функция для определения скорости предусмотрена. :)

Также могу дать почти законченные исходники на си для такой штуки с 24 светодиодами, под atmega8, с регистрами 74HC164,без определения скорости,передача по SPI.
Вложения
makezine.c
Вот образец для MiniPov
(3.09 КБ) 361 скачивание
abodin
Родился
Сообщения: 4
Зарегистрирован: Пн июн 01, 2009 16:11:40
Откуда: Лобня МО

Сообщение abodin »

А нельзя кусок кода с синхронным смещением выходов по входу от энкодера? Если можно с предварительным делением 2500 импульсов многовато както
Аватара пользователя
maglev
Потрогал лапой паяльник
Сообщения: 316
Зарегистрирован: Пт апр 17, 2009 22:45:42
Откуда: Minsk
Контактная информация:

Сообщение maglev »

abodin писал(а):А нельзя кусок кода с синхронным смещением выходов по входу от энкодера? Если можно с предварительным делением 2500 импульсов многовато както

в этой задаче энкодер (тем более на 2500ppr) не нужен. Обычно достаточно одного датчика оборота, остальное - программно.
Аватара пользователя
Аксель
Опытный кот
Сообщения: 800
Зарегистрирован: Ср апр 25, 2007 09:50:43
Откуда: Киев
Контактная информация:

Сообщение Аксель »

"скорость вращения" - ну нафиг не надо при энкодере :))
Ну есть у человека энкодер, хули ему пропадать (энкодеру). (Ну или нет энкодера, но есть архисложная задача.)
Энкодер из вышесказанного выходит что инкрементный - т.е. повернули его на 2500 часть круга - он нам импульс.
(Если не так - сам автор виноват за постановку своего вопроса :))) т.е. об чём спрашивали то и получили)

Просит код, ну.... ежели хто дасть :)))

А на пальцах:
Допустим в кругу будет 250 столбцов.
Объявляем массив с данными, данные байтовые, 250 байтов по одному на столбец.
Одна ячейка массива - 1 байт, данные об одном столбце из 7-ми светодиодов.

Задаём переменную S как байт - будем считать ей шаги энкодера.
Задаём переменную M как байт - будем считать элементы массива
s=0
m=0

Делаем внешнее прерыванине (например по возрастанию).


Начало цикла.

По внешнему прерыванию делаем
----------
s=s+1
Проверяем:
.........Если s = 10 (отсчитали 10 шагов, а каждые 10 шагов энкодера в нашем кругу начинается новый столбец) то:
s=0
м=м+1
....если м=251 то м=1 (если достигли и вывели последний элемент массива (250), то выводить начинать с первого).

и передать на светодиоды данные из ячейки массива за номером м

........Конец Если (перврго)
----------


Вернутся в начало цикла.






Да, возможны варианты, но вот на этот алгоритм автор, я надеюсь, сможет написать свой код?

А потом можно дальше пообсуждать...
Удачи.
Скелет колобка состоит из черепа.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»