Рисунок на колесе
-
8434163
- Открыл глаза
- Сообщения: 47
- Зарегистрирован: Ср дек 02, 2009 15:06:55
- Откуда: Украина
- Контактная информация:
Re: Рисунок на колесе
Наверно никому не интересно.
- Сериг
- Это не хвост, это антенна
- Сообщения: 1451
- Зарегистрирован: Пт фев 19, 2010 19:39:28
- Откуда: Москва
Re: Рисунок на колесе
мне интересно,я бы даже прошу написал,но не понимаю как работает эта чтука!точнее понимаю что светики моргают и тд ......
-
8434163
- Открыл глаза
- Сообщения: 47
- Зарегистрирован: Ср дек 02, 2009 15:06:55
- Откуда: Украина
- Контактная информация:
Re: Рисунок на колесе
При вращении планки светодиодов по кругу, в нужном месте зажигаются нужные светодиоды. За счет инерционности нашего зрения, мы видим на колесе картинку. На практике, нужно записать массив с картинкой в контроллер и в зависимости от скорости вращения выводить массив на светодиоды.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Рисунок на колесе
Извините, что спрашиваю тоже самое еще и в этой ветке, но ветки одинаковые, может помогут???
Сделал массив внешней библиотекой. Т.к. у меня 12 светодиодов, то числа в массиве большие. При компиляции грузит из этой внешней библиотеки только по 8 младших бит... А остальные отрезает, в итоге и загорается только 8 светодиодов. Что делать? Как сделать, чтобы по 12 бит грузилось????
Сделал массив внешней библиотекой. Т.к. у меня 12 светодиодов, то числа в массиве большие. При компиляции грузит из этой внешней библиотеки только по 8 младших бит... А остальные отрезает, в итоге и загорается только 8 светодиодов. Что делать? Как сделать, чтобы по 12 бит грузилось????
Станислав
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Рисунок на колесе
Как я понял из приведенной в той теме схемы, у вас использвуется встречно-параллельное включение СД -> используется динамическая индикация. Посмотрел код... Вам следует обратить внимание на такой замечательный ресурс контроллера как таймеры и прерывания. Вы организуете подпрограмму регенерации светодиодного столбца(можно всего кадра) и по мере надобности бросаете туда байтики из основной программы. Все остальное делает драйвер регенерации. Ну это как замечание по технике программинга.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Рисунок на колесе
uk8amk писал(а):и по мере надобности бросаете туда байтики из основной программы. Все остальное делает драйвер регенерации.
Спасибо, приму за хорошую идею и намотаю на ус. В дальнейшем, скорее всего так и переделаю. =)
А про массив??? Как сделать, чтобы из библиотеки вставлял не 8 бит, а 12??? Меня это сейчас больше всего интересует.
Додумался только до того, что числа разбить на 1-о байтные и из двух чисел составлять уже одно для 12 светодиодов....
Но мне кажется, что у других работает и больше, чем с 12 светодиодами... И на 30 и на 40 выводят...
Станислав
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Рисунок на колесе
Элементы массива - двухбайтовый integer?
Код: Выделить всё
char b1, b2;
b1=(char)massiv[i];//LSB
b2=massiv[i]>>8;//MSB- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Рисунок на колесе
Эээээ. Уже разбил массив с двубайтового Инегер, на однобайтовый чар. Получилось два элемента массива на одну строку светодиодов. Работает. =)
Спасибо.
Спасибо.
Станислав
-
8434163
- Открыл глаза
- Сообщения: 47
- Зарегистрирован: Ср дек 02, 2009 15:06:55
- Откуда: Украина
- Контактная информация:
Re: Рисунок на колесе
Может кому пригодится для експериментов, картинка как образец и она-же развернутая по кругу. Можно подогнать масштаб в фотошопе под свои нужды, перегнать в массив и наблюдать на колесе.




Последний раз редактировалось 8434163 Сб июн 04, 2011 09:42:22, всего редактировалось 1 раз.
Re: Рисунок на колесе
Ех, если бы кто нибуть выклал готовую, проверенную конструкцию с платами, прошивкой или написал статью на сайт.
Re: Рисунок на колесе
Эх, если просто мечтать, что кто-нибудь все сделает а потом подарит тебе комплект...
Или, лучше, еще и все сам установит на колесо
Схемы, платы, прошивки - все давно есть, только делай.
Напомню:
http://www.ianpaterson.org/projects/index.htm
аж два варианта.
Не уверен, что хватит вдохновения сделать такую штуку себе на велосипед, для начала просто написал маленькую программку-прототип для подготовки картинок. Дело то пустяшное...
Исходная картинка обязательно должна быть размером 512*512, монохромная либо черно-белая, в BMP формате.
Результат выводится под линейку из 32 светодиодов, в строке 256 точек.
Пока только на экран, но это потому, что еще не решил, в каком формате формировать выходной файл. Пока склоняюсь к двоичному файлу.
Если есть пожелания по формату или перестановке бит - излагайте, но только конкретно что и как реализовать (в смысле интерфейса, как удобнее задать эти перестановки), а не мечтать "вообще" с пальцем в носу
Или, лучше, еще и все сам установит на колесо
Схемы, платы, прошивки - все давно есть, только делай.
Напомню:
http://www.ianpaterson.org/projects/index.htm
аж два варианта.
Не уверен, что хватит вдохновения сделать такую штуку себе на велосипед, для начала просто написал маленькую программку-прототип для подготовки картинок. Дело то пустяшное...
Исходная картинка обязательно должна быть размером 512*512, монохромная либо черно-белая, в BMP формате.
Результат выводится под линейку из 32 светодиодов, в строке 256 точек.
Пока только на экран, но это потому, что еще не решил, в каком формате формировать выходной файл. Пока склоняюсь к двоичному файлу.
Если есть пожелания по формату или перестановке бит - излагайте, но только конкретно что и как реализовать (в смысле интерфейса, как удобнее задать эти перестановки), а не мечтать "вообще" с пальцем в носу
- Вложения
-
- pic2wheel.zip
- (37.37 КБ) 226 скачиваний
-
Fizikus
- Нашел транзистор. Понюхал.
- Сообщения: 164
- Зарегистрирован: Сб фев 27, 2010 19:23:52
- Откуда: Тула
- Контактная информация:
Re: Рисунок на колесе
Каким бы вы хотели видеть само устройство? Количество линеек, светодиодов, тип светодиодов, питание, способ загрузки картинок. Каким функционалом на ваш взгляд должен обладать софт для подготовки картинок? И наконец какова себестоимость?
Вот видео моего экспериментального образца
Вот видео моего экспериментального образца
- Вложения
-
- MOV00008.rar
- (830.97 КБ) 232 скачивания
Продаю SMD резисторы, конденсаторы.
Re: Рисунок на колесе
Fizikus писал(а):Каким бы вы хотели видеть само устройство? Количество линеек, светодиодов, тип светодиодов, питание, способ загрузки картинок. Каким функционалом на ваш взгляд должен обладать софт для подготовки картинок? И наконец какова себестоимость?
Imho, здесь тусуются те, кто хочет сделать, а не купить.
Купить линейку из 16 светодиодов можно в Китае за 350 руб. Проверено, покупка доходит в среднем за 3-4 недели.
Купить можно и у нас нечто в виде SpokePOV: 1700 за 1 линейку, 3800 - за три.
Китайские цены мне нравятся больше
P.S. Ваш экспериментальный образец "не вставляет":
1. синхронизация неустойчивая - изображение дергается
2. это не велосипед, а макет на столе, колесо крутится медленно, поэтому нужно как минимум три линейки, чтобы изображение было более-менее стабильным при разумной скорости езды.
-
Fizikus
- Нашел транзистор. Понюхал.
- Сообщения: 164
- Зарегистрирован: Сб фев 27, 2010 19:23:52
- Откуда: Тула
- Контактная информация:
Re: Рисунок на колесе
Это маркетинговый опрос?
Для меня да.
Imho, здесь тусуются те, кто хочет сделать, а не купить.
Согласен, но не надо додумывать за меня. Проект планируется как коммерческий(именно поэтому меня интересуют мнения людей, которые желают сделать подобную конструкцию), но будет открытым для повторения радиолюбителями.
Купить линейку из 16 светодиодов можно в Китае за 350 руб. Проверено, покупка доходит в среднем за 3-4 недели.
Купить можно и у нас нечто в виде SpokePOV: 1700 за 1 линейку, 3800 - за три.
А сдвиговые регистры на китайской линейке стоят? А 16 светодиодов можно купить и за 100 руб, причем в Москве.
Я не собираюсь продавать SpokePOV, ваши доводы по поводу цены не вставляют
Китайские цены мне нравятся большепоскольку 3 линейки * на 2 колеса = велосипед. Оно надо?
16 светодиодов*3 линейки*2колеса=2100 руб и это только светодиоды.
P.S. Ваш экспериментальный образец "не вставляет":
1. синхронизация неустойчивая - изображение дергается
Ключевое слово - экспериментальный, это не конечный продукт.
2. это не велосипед, а макет на столе, колесо крутится медленно, поэтому нужно как минимум три линейки, чтобы изображение было более-менее стабильным при разумной скорости езды.
Откуда вы знаете скорость вращения моего макета? Частота вращения примерно 5 Гц, что состовляет около 30 км/ч. 3 линейки по 32 RGB светодиода.
- Вложения
-
- макет.jpg
- (206.97 КБ) 495 скачиваний
Продаю SMD резисторы, конденсаторы.
Re: Рисунок на колесе
Fizikus писал(а):А сдвиговые регистры на китайской линейке стоят?
За 350 руб - это готовая конструкция, которую сразу можно ставить на колесо.
Например, вот:
http://www.aliexpress.com/product-fm/45 ... alers.html
Откуда вы знаете скорость вращения моего макета? Частота вращения примерно 5 Гц, что состовляет около 30 км/ч. 3 линейки по 32 RGB светодиода.
Почитайте, все же, обсуждение. Разумная скорость начинается примерно с 6 км/час - порог автоматического включения иллюминации.
30 км/час в сумерках/темноте ... не забудьте каску надеть
-
Fizikus
- Нашел транзистор. Понюхал.
- Сообщения: 164
- Зарегистрирован: Сб фев 27, 2010 19:23:52
- Откуда: Тула
- Контактная информация:
Re: Рисунок на колесе
Я так понимаю, 350 - это одна линейка, а как вы сами говорили - минимальное - 3 шт., да и заложенные 32 узора не очень-то устраивают, свои картинки все же лучше. 3 линейки в своей конструкции я заложил изначально, естественно прочитав не только этот форум. 30 км/ч - персчитанная скорость макета(на меньших скоростях камера нормально не снимает). На счет скоростей спорить не буду - этот вопрос давно уже исчерпал себя.
Продаю SMD резисторы, конденсаторы.
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Рисунок на колесе
bolek писал(а):Исходная картинка обязательно должна быть размером 512*512, монохромная либо черно-белая, в BMP формате.Результат выводится под линейку из 32 светодиодов, в строке 256 точек.Пока только на экран, но это потому, что еще не решил, в каком формате формировать выходной файл. Пока склоняюсь к двоичному файлу.Если есть пожелания по формату или перестановке бит - излагайте, но только конкретно что и как реализовать (в смысле интерфейса, как удобнее задать эти перестановки), а не мечтать "вообще" с пальцем в носу
Вот это мне нравится. А можете написать универсальную программу для похожих устройств?
Суть в том, чтобы количество строк (или столбцов, кому как нравится) можно было задавать, у меня например их 248 по колесу. Например, ставишь цифру и он автоматом круг разбивает на это количество секторов. =)))
И в строке (столбце) чтобы светодиодов было тоже по заданному количеству, т.е. у меня 12 штук, а завтра спаял на 30 штук, чтобы поставил цифру и тоже автоматом разбило круг на столько же окружностей. =)))
Теперь по выводу. =) На выходе надо делать массив *.h, который подключается библиотекой к файлу программы и записывается, например, во ФЛЕШ микроконтроллера. При этом массив получается двумерным: в одном измерении по строкам [248], а во втором по столбцам, только разбивая их по одному байту, т.е. при 16 светодиодах массив будет [248][2], а при 24 светодиодах - [248][3].
Первый светодиод на линейке особо нет разницы откуда считать, но лучше, чтобы тоже задавалось при конфигурации ближе к центру (к оси) или первый ближе к ободу колеса.
Также не полохо учитывать расстояние между светодиодами (не у всех они плотно стоят) и задавать радиус от того светодиода, который ближе к ободу.
Ну а потом уже картинку накладывать.... =)))
За эту программу будет очень много народу благодарно.
А вот пример массива, который у меня:
Код: Выделить всё
const unsigned char pic [248][2] PROGMEM =
{
{ 1 , 8 } ,
{ 1 , 8 } ,
{ 1 , 8 } ,
{ 1 , 8 } ,
{ 1 , 8 } ,
{ 1 , 8 } ,
{ 254 , 7 } ,
{ 254 , 7 } ,
{ 254 , 7 } ,
{ 240 , 0 } ,
{ 248 , 1 } ,
{ 158 , 7 } ,
{ 14 , 7 } ,
{ 6 , 6 } ,
{ 1 , 8 } ,
{ 1 , 8 } };
Последний раз редактировалось СКАЗОЧНИК Чт июн 09, 2011 11:55:37, всего редактировалось 1 раз.
Станислав
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Рисунок на колесе
Записи
и
абсолютно эквивалентны т.к. в любом случае данные последовательно сохраняются в одномерный массив, а N-мерность на высоком уровне придумана исключительно ради удобства использования. Аналогично следующие выражения будут давать одинаковый результат:
const unsigned char pic [248][2] PROGMEM =
и
Код: Выделить всё
const unsigned char pic [496] PROGMEM =абсолютно эквивалентны т.к. в любом случае данные последовательно сохраняются в одномерный массив, а N-мерность на высоком уровне придумана исключительно ради удобства использования. Аналогично следующие выражения будут давать одинаковый результат:
Код: Выделить всё
a=pic[1][1];
a=pic[1*2+1];/*по сути при обращении к ячеке памяти компилятор проводит данное действие*/- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: Рисунок на колесе
Чего умничать то???
Я знаю, что все элементы один за другим в памяти записываются. Но мне удобнее так обрабатывать, как я написал. И программа уже готова и для моих мозгов проще.
Так что прошу массив разбивать на строки и столбцы.

Я знаю, что все элементы один за другим в памяти записываются. Но мне удобнее так обрабатывать, как я написал. И программа уже готова и для моих мозгов проще.
Так что прошу массив разбивать на строки и столбцы.

Станислав
Re: Рисунок на колесе
Могу, но, скорее всего, не буду: такой универсализм требует совсем других затрат времени.СКАЗОЧНИК писал(а):...
Вот это мне нравится. А можете написать универсальную программу для похожих устройств?...
Сделать переменным количество точек в строке можно, я добавлю это в ini файл программы.
Возможно, добавлю задание количества светодиодов в столбце и это число должно быть кратным 8.
А вот учет диаметра ступицы, расстояние между СД и прочее...нет у меня желания вылизывать эту программу. Данные быстренько подготовил, залил, посмотрел живьем на колесе: живьем оно нагляднее.
...За эту программу будет очень много народу благодарно.
Это "очень много" - в лучшем случае 5 человек, поскольку скачали программу 6 раз, из них один - я (для проверки).