На семь светодиодов выходит слово. светодиоды вращаются на планке. скорость вращения планки считывается с энкодера. Хоть набросок в каком направлении идти. Спасибо (Атмегу взял потому как их купил штук 20 по доступной цене в свое время)
Не совсем бегущая строка...
Здравствуй, прошу помощи в написании проекта на atmega 16.
На семь светодиодов выходит слово. светодиоды вращаются на планке. скорость вращения планки считывается с энкодера. Хоть набросок в каком направлении идти. Спасибо (Атмегу взял потому как их купил штук 20 по доступной цене в свое время)
На семь светодиодов выходит слово. светодиоды вращаются на планке. скорость вращения планки считывается с энкодера. Хоть набросок в каком направлении идти. Спасибо (Атмегу взял потому как их купил штук 20 по доступной цене в свое время)
- Реклама
- Сообщения: 6
- Зарегистрирован: Пт сен 05, 2008 20:43:30
Смотрите журнал Схемотехника, там был аналогичный прект с прошивками.abodin писал(а):Здравствуй, прошу помощи в написании проекта на atmega 16.
На семь светодиодов выходит слово. светодиоды вращаются на планке. скорость вращения планки считывается с энкодера. Хоть набросок в каком направлении идти. Спасибо (Атмегу взял потому как их купил штук 20 по доступной цене в свое время)
сейчас поищу, а как устройство назвать?woroba писал(а):Смотрите журнал Схемотехника, там был аналогичный прект с прошивками.abodin писал(а):Здравствуй, прошу помощи в написании проекта на atmega 16.
На семь светодиодов выходит слово. светодиоды вращаются на планке. скорость вращения планки считывается с энкодера. Хоть набросок в каком направлении идти. Спасибо (Атмегу взял потому как их купил штук 20 по доступной цене в свое время)
Может сначала зайти сюда?abodin писал(а):Здравствуй, прошу помощи в написании проекта на atmega 16.
На семь светодиодов выходит слово. светодиоды вращаются на планке. скорость вращения планки считывается с энкодера. Хоть набросок в каком направлении идти.
http://radiokot.ru/circuit/digital/home/13/
Тоже самое что и рисунок на колесе.http://radiokot.ru/forum/viewtopic.php?t=14736
тлько у тебя будет частота вращения одинаковая. Хотя можно просто прошивку переписать под мегу ну и добавить несколько матриц с буквами (высота 14 светиков)
тлько у тебя будет частота вращения одинаковая. Хотя можно просто прошивку переписать под мегу ну и добавить несколько матриц с буквами (высота 14 светиков)
Чем больше думаеш, тем дольше уснуть не можеш...
- Реклама
Есть тут ещё для наброска направления:
http://radiokot.ru/forum/viewtopic.php?t=12864
Propeller clock
Скелет колобка состоит из черепа.
Спасибо буду разбираться только проблема в использовании энкодера (есть в наличии на 2500 импульсов) вход в 8кГц получится обработать?
Можно чтобы я сам разобрался кинуть кусок кода в CodeVisionAVR с таким примером: включение выходов синхронно поступающим сигналам по определенному входу. т.е. пришел сигнал на вход 1 включились выходы с 1 по 7, пришел следующий импульс на вход 1 включили выходы 1,7 тока написать все это в Си могу, но скорости думаю не хватит и программа раздуется на 200 и более строк. Можно как то описать все варианты включения выходов в какой то массив и потом только вызывать от туда нужный вариант включения, но опять повторюсь все сдвиги делать по входу к которому подключен энкодер. Спасибо.
Можно чтобы я сам разобрался кинуть кусок кода в CodeVisionAVR с таким примером: включение выходов синхронно поступающим сигналам по определенному входу. т.е. пришел сигнал на вход 1 включились выходы с 1 по 7, пришел следующий импульс на вход 1 включили выходы 1,7 тока написать все это в Си могу, но скорости думаю не хватит и программа раздуется на 200 и более строк. Можно как то описать все варианты включения выходов в какой то массив и потом только вызывать от туда нужный вариант включения, но опять повторюсь все сдвиги делать по входу к которому подключен энкодер. Спасибо.
Есть такая вещь MiniPov. http://www.ladyada.net/make/minipov3/index.html Сам в прошлом году сделал такую-же.там токо 8 светодиодов, вроде функция для определения скорости предусмотрена.
Также могу дать почти законченные исходники на си для такой штуки с 24 светодиодами, под atmega8, с регистрами 74HC164,без определения скорости,передача по SPI.
Также могу дать почти законченные исходники на си для такой штуки с 24 светодиодами, под atmega8, с регистрами 74HC164,без определения скорости,передача по SPI.
- Вложения
-
- makezine.c
- Вот образец для MiniPov
- (3.09 КБ) 364 скачивания
в этой задаче энкодер (тем более на 2500ppr) не нужен. Обычно достаточно одного датчика оборота, остальное - программно.abodin писал(а):А нельзя кусок кода с синхронным смещением выходов по входу от энкодера? Если можно с предварительным делением 2500 импульсов многовато както
"скорость вращения" - ну нафиг не надо при энкодере
Ну есть у человека энкодер, хули ему пропадать (энкодеру). (Ну или нет энкодера, но есть архисложная задача.)
Энкодер из вышесказанного выходит что инкрементный - т.е. повернули его на 2500 часть круга - он нам импульс.
(Если не так - сам автор виноват за постановку своего вопроса
т.е. об чём спрашивали то и получили)
Просит код, ну.... ежели хто дасть
А на пальцах:
Допустим в кругу будет 250 столбцов.
Объявляем массив с данными, данные байтовые, 250 байтов по одному на столбец.
Одна ячейка массива - 1 байт, данные об одном столбце из 7-ми светодиодов.
Задаём переменную S как байт - будем считать ей шаги энкодера.
Задаём переменную M как байт - будем считать элементы массива
s=0
m=0
Делаем внешнее прерыванине (например по возрастанию).
Начало цикла.
По внешнему прерыванию делаем
-------------------------
s=s+1
Проверяем:
.........Если s = 10 (отсчитали 10 шагов, а каждые 10 шагов энкодера в нашем кругу начинается новый столбец) то:
s=0
м=м+1
....если м=251 то м=1 (если достигли и вывели последний элемент массива (250), то выводить начинать с первого).
и передать на светодиоды данные из ячейки массива за номером м
........Конец Если (перврго)
------------------------------------------------
Вернутся в начало цикла.
Да, возможны варианты, но вот на этот алгоритм автор, я надеюсь, сможет написать свой код?
А потом можно дальше пообсуждать...
Удачи.
Ну есть у человека энкодер, хули ему пропадать (энкодеру). (Ну или нет энкодера, но есть архисложная задача.)
Энкодер из вышесказанного выходит что инкрементный - т.е. повернули его на 2500 часть круга - он нам импульс.
(Если не так - сам автор виноват за постановку своего вопроса
Просит код, ну.... ежели хто дасть
А на пальцах:
Допустим в кругу будет 250 столбцов.
Объявляем массив с данными, данные байтовые, 250 байтов по одному на столбец.
Одна ячейка массива - 1 байт, данные об одном столбце из 7-ми светодиодов.
Задаём переменную S как байт - будем считать ей шаги энкодера.
Задаём переменную M как байт - будем считать элементы массива
s=0
m=0
Делаем внешнее прерыванине (например по возрастанию).
Начало цикла.
По внешнему прерыванию делаем
-------------------------
s=s+1
Проверяем:
.........Если s = 10 (отсчитали 10 шагов, а каждые 10 шагов энкодера в нашем кругу начинается новый столбец) то:
s=0
м=м+1
....если м=251 то м=1 (если достигли и вывели последний элемент массива (250), то выводить начинать с первого).
и передать на светодиоды данные из ячейки массива за номером м
........Конец Если (перврго)
------------------------------------------------
Вернутся в начало цикла.
Да, возможны варианты, но вот на этот алгоритм автор, я надеюсь, сможет написать свой код?
А потом можно дальше пообсуждать...
Удачи.
Скелет колобка состоит из черепа.


