Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Светомузыка на AVR
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
radan
Подскажите, пожалуйста, ссылочки на схемы/программы световых эффектов на основе AVR.
Очень интересно полное интегрирование светомузыки без внешних фильтров на основе БПФ или цифровых фильтров, алгоритмы решения.
Nanobyte
Для начала посмотрите вот здесь:
http://elm-chan.org/works/akilcd/report_e.html
Вместо вывода на LCD можно выводить и на лампочки.
kada
ИМХО AVR не самый лучший вариант для реализации алгоритма БПФ и цифровых фильтров. Смотрите в сторону ARM или каких-нибудь ЦСП, например TMS320 от Texas Instruments.
А разумнее всего поставить внешние фильтры на ОУ и завести их в AVR. wink.gif
Nanobyte
Цитата(kada @ Feb 9 2007, 13:25) *
ИМХО AVR не самый лучший вариант для реализации алгоритма БПФ и цифровых фильтров. Смотрите в сторону ARM или каких-нибудь ЦСП, например TMS320 от Texas Instruments.
А разумнее всего поставить внешние фильтры на ОУ и завести их в AVR. wink.gif

Так человек прямо пишет о нежелании использовать внешние фильтры. А для ЦМУ контроллеры AVR вполне пригодны. Ведь ему сигнал не от РЛС или гидролокатора нужно обрабатывать.
Doka
Цитата(kada @ Feb 9 2007, 13:25) *
ИМХО AVR не самый лучший вариант для реализации алгоритма БПФ и цифровых фильтров. Смотрите в сторону ARM или каких-нибудь ЦСП, например TMS320 от Texas Instruments.
ага.. из пушки да по воробьям)
чем не устраивает результат по ссылке:
Код
The FFT operations are done in 16-bit fixed-point. These 128 point FFT processes, applying window, butterfly operations and scalar output, could be executed in real-time (within 7.3 msec). The sampling frequency is 9.6 kHz and the fundamental frequency (frequency resolution) becomes: 9.6k / 128 = 75Hz.
это притом что для классической цветомузыкальной установки нужно три канала - НЧ, СЧ, ВЧ: т.е. ресурсов AVR для задачи явно достаточно.

Цитата(kada @ Feb 9 2007, 13:25) *
А разумнее всего поставить внешние фильтры на ОУ и завести их в AVR. wink.gif
внимательно читать топик автора темы
el34
конечно хватит и трех частотных каналов....
большое количество каналов не улучшает (имхо) восприятия...
а вот подумать о создании визуальных эффектов основаных на выделении информации о темпе... и уровнях в этих каналах...
ну напр. в зависимости о уровня не просто изменять яркость , а менять форму.... ну что нибудь в таком духе...
думаю это будет значительно интереснее наблюдать....
я давненько делал такую штуку...так с одного стакана рубился если на нее долго пялился....smile.gif вот...
Nanobyte
Цитата(el34 @ Feb 9 2007, 13:47) *
... а вот подумать о создании визуальных эффектов основаных на выделении информации о темпе... и уровнях в этих каналах...

Если взять самый низкочастотный канал, то это и будет информация о темпе. Ну и ВЧ тоже. Путём небольшой доработки программы ИМХО это сделать несложно, и AVR отлично подойдёт для этой цели!
Цитата(el34 @ Feb 9 2007, 13:47) *
...так с одного стакана рубился если на нее долго пялился....smile.gif вот...

А в стакане что было? smile.gif
kada
Цитата(Doka @ Feb 9 2007, 15:37) *
ага.. из пушки да по воробьям)
чем не устраивает результат по ссылке:
Код
The FFT operations are done in 16-bit fixed-point. These 128 point FFT processes, applying window, butterfly operations and scalar output, could be executed in real-time (within 7.3 msec). The sampling frequency is 9.6 kHz and the fundamental frequency (frequency resolution) becomes: 9.6k / 128 = 75Hz.
это притом что для классической цветомузыкальной установки нужно три канала - НЧ, СЧ, ВЧ: т.е. ресурсов AVR для задачи явно достаточно.

Автор темы не уточнил какое количество каналов ему нужно. smile.gif
Хотя информация по ссылке безусловно заслуживает внимания.
С критикой согласен, благодарю.
el34
Nanobyte>доработки программы ИМХО это сделать несложно, и AVR отлично подойдёт для этой цели!

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

Nanobyte>А в стакане что было?
в стакане конечно водочка... но думаю и пара портвейна сойдет...smile.gif
rx3apf
Цитата(Nanobyte @ Feb 9 2007, 13:33) *
Цитата(kada @ Feb 9 2007, 13:25) *
ИМХО AVR не самый лучший вариант для реализации алгоритма БПФ и цифровых фильтров. Смотрите в сторону ARM или каких-нибудь ЦСП, например TMS320 от Texas Instruments.
А разумнее всего поставить внешние фильтры на ОУ и завести их в AVR. wink.gif

Так человек прямо пишет о нежелании использовать внешние фильтры. А для ЦМУ контроллеры AVR вполне пригодны. Ведь ему сигнал не от РЛС или гидролокатора нужно обрабатывать.

Да уж, если ставить что-то экзотическое - тогда не надо искать DSP, и кучу аналоговых фильтров городить глупо - берем LM4970, и вот оно, счастье (все уже придумано до нас. Вот только где их штучно брать ?) А вот чисто программно, практически без обвязки, на однобаксовом процессоре - это красиво. Даже если результат будет соответствовать простой трехканальной ЦМУ на россыпи. Самой идеей красиво. Давно хотел попробовать, но будучи дубом в ЦОС, на FFT и прочие "сложности" не замахивался. Попробовал было программно реализовать ЦМУ Максимова из "Радио" 1982 (?) года - что-то ничего хорошего не вышло. А вот глянул на ссылочку - прикольно. Большой человеческое спасибо ! Давно такой "вкуснятинки" не попадалось.Может быть, все ж сподоблюсь как-нибудь "по приколу" что-то типа этого смастерить...
radan
http://instruct1.cit.cornell.edu/courses/e...tmd29/index.htm
Цветомузыкальный фонтан, Фурье и ШИМ присутствуют в исходниках, 8 каналов.
Неплохое начало! Может быть объединим усилия по разработке своей ЦМУ?
el34
>Цветомузыкальный фонтан, Фурье...

вообще то там Walsh преобразование....

еще в догонку к пред. можно посоветовать сделать
"человечий интерфейс" (HID)
ну к примеру кнопочки джойстик и тп.....может быть интересно...
еще - иметь не один а несколько аудио/триггерных входов...
еще входы сделать не только линейными но и микрофонными...
(не надо цеплять к источнику сигнала)
еще сделать возможным прием и визуализацию MIDI....

(при таких возможностях можно будет в кабак снести и бабок срубить....smile.gif
.....
а если добавить DMX выход .....это прямо на Франкфурт-мессе ......smile.gif
rx3apf
Цитата(radan @ Feb 10 2007, 11:02) *
http://instruct1.cit.cornell.edu/courses/e...tmd29/index.htm
Цветомузыкальный фонтан, Фурье и ШИМ присутствуют в исходниках, 8 каналов.
Неплохое начало! Может быть объединим усилия по разработке своей ЦМУ?

Не впечатлило. Там ведь только управление клапанами, без "цвето". Причем управление с задержкой, потому заметно не в такт. А вот "в порядке бреда" - может, кто от безделья попробует - делаем что-то типа большого плоского аквариума (опционально с задней стенкой из зеркала или просто с металлизированной лавсановой пленкой на стекле), заполняем водой, на дно - воздухораспылители, совмещенные с светодиодной подсветкой (для богатых маньяков - трехваттные RGB-кристаллы по $20 каждый, для "бюджетников" - сделать оргстеклянный блок-световод и напихать в него мелких сверхярких). Распылители либо типа аквариумных, либо, наоборот, просто форсунки для получения крупных гирлянд пузырьков - это надо смотреть по обстановке. Другой вариант - прозрачная труба (такие бывают у некоторых типов ЛДС-светильников - или где-то добыть качественную стеклянную), и один распыляющий элемент в нее. И аквариумный же компрессор для "оживления". IMHO, должно выглядеть красиво. Еще вариант - подсвечивать ультразвуковой увлажнитель...
Nanobyte
Цитата(el34 @ Feb 10 2007, 11:19) *
... еще сделать возможным прием и визуализацию MIDI....
(при таких возможностях можно будет в кабак снести и бабок срубить....smile.gif

В кабаках MIDI и синтезаторов уже давно нет, все перешли на мини-диски и MP3. Но идея, конечно, хорошая, тем более MIDI официально применяется для управления всевозножной сценической аппаратурой типа дымогенераторов, фейерверков и светотехники. Ну а обработать его на AVR это проще простого, даже времени процессора почти не займёт, ну кроме реакции на приём байтов из UART.
Petrovich
Когдо то делал 8-ми канальную ЦМУ на dsPIC30f4012. Заказчику понравилось. Если интересно могу дать схему и основные алгоритмы.
rx3apf
Цитата(Petrovich @ Feb 17 2007, 21:52) *
Когдо то делал 8-ми канальную ЦМУ на dsPIC30f4012. Заказчику понравилось. Если интересно могу дать схему и основные алгоритмы.

Но прошивку-то ведь не дашь ? Была у меня когда-то "мечта идиота" попробовать именно на каком-нибудь младшем dsPIC сделать фильтровую ЦМУ, да так и осталась мечтой...
radan
Неплохо бы получить схему и алгоритмы, чем больше информации, тем быстрее она из количества превратится в качество.
Petrovich
Да не вопрос. Выкладываю.
Вот схема и процедура FIR фильтров
radan
А чем Можно посмотреть схемку, а то разрешение неизвестное?
rx3apf
Цитата(radan @ Feb 19 2007, 19:41) *
А чем Можно посмотреть схемку, а то разрешение неизвестное?

Это виндовый OrCAD
radan
http://members.cox.net/berniekm/organ.html
Color Organ
Flash-back to the 60's with this 5 channel unit with up to 100 watts per channel.
This unit uses a PIC16F84 with an 8 bit A/D. The signal from both stereo channels is combined and digitized. Each of 5 frequency bands is processed using a 16 point FFT. Then the level of each channel is output as PWM (pulse width modulation) to a set of solid state relays.
The device is housed in a cheap power distribution box. This provides the 110 volt outlets along with plenty of room for the electronics. The big trick here was to perform the FFT and the PWM with a single processor.
Wano
Люди а кто-нить предлагал вот например вращающиеся вещи,типа шаров smile.gif Выставить полоску светодиодов и модулировать их на вращающийся шар,другой формы можно.
Вот например была на форуме ссылка на маленькое зеркальце с x-y свободами.Движется от катушек вроде,точно не помню,угол отклонения 60 градусов вроде,и шевелится с бешенной скоростью. Там и текст писать на стенках можно.
blink.gif эт так идею просто подкинуть.
RomanVin
Цитата(Petrovich @ Feb 19 2007, 16:56) *
Да не вопрос. Выкладываю.
Вот схема и процедура FIR фильтров


Klasniy Project !!!!
Petrovich a ne mogli bi vi vilojit' Hex file k svoemu proektu ....
A to ya v programmirovanii ne spec, posmotrel vash kod i ujasnulsya , mne eto ne osilit' ....
Esli vam ne trudno podelitsya Hex
Spasibo !!!!!
Maik-vs
Цитата(rx3apf @ Feb 10 2007, 23:18) *
... "в порядке бреда" - может, кто от безделья попробует - делаем что-то типа большого плоского аквариума (опционально с задней стенкой из зеркала или просто с металлизированной лавсановой пленкой на стекле), заполняем водой, на дно - воздухораспылители, ....

Видел такой проект, двое, кажется, американцев делали. Пузырями рисовали картинки всякие, буквы там и т.д. То есть клапаны у них были управляемы каждый ну и гирлянды пузырьков образовывали картинку. Японцы - те наоборот, сделали струями воды, льющейся сверху то же самое.
Насчёт идеек - покопайте визуализацию у Winamp'a. Там формулки можно ручонками редактировать, очень увлекательно.
Ещё маленькая идейка в тему - вход звука должен быть с микрофона. Запели "ой мороз-мороз" оно мигаить красиво.
pokos
Цитата(radan @ Feb 19 2007, 02:58) *
Неплохо бы получить схему и алгоритмы, чем больше информации, тем быстрее она из количества превратится в качество.

Делал на Атмеге8, жило нормально на 16МГц тактовой. Споткнулся только об АРУ - биполяром регулировать микрофонный вход трудно.
radan
Вот что получилось - http://bascom.at.ua/publ/cvetomuzyka_quotd...01quot/1-1-0-20
pokos
Цитата(radan @ Dec 23 2009, 14:47) *

Отлично! Но на микрофонный вход надо бы аппаратный компрессор, иначе с микрофона будет совершенно неудобоваримо.
BSVi
Petrovich, а как вы обрабатывали сигнал после фильтров? Поидее, дальше нужно ставить AM-детектор и выделять огибающую сигнала. Или вы как-то подругому делали?
Petrovich
Цитата(BSVi @ Dec 25 2009, 15:59) *
Petrovich, а как вы обрабатывали сигнал после фильтров? Поидее, дальше нужно ставить AM-детектор и выделять огибающую сигнала. Или вы как-то подругому делали?


Хм... а тема долгоживущая оказалась...
Всех с Новым годом!
И подарок... вот весь проект со всеми исходниками.
Там много всего есть..... wink.gif
erroca
Spasibo za podarok !!!!!!! smile.gif

Petrovich, vi ispol'zovali compiller C30 ?
Pitalsya compilirovat', rugaetsya .... sad.gif

C:\DOCUME~1\Admin\LOCALS~1\Temp/ccMwgPuy.s: Assembler messages:
C:\DOCUME~1\Admin\LOCALS~1\Temp/ccMwgPuy.s:7357: Error: invalid attribute combination for .ydata
C:\DOCUME~1\Admin\LOCALS~1\Temp/ccMwgPuy.s:7357: Error: Attributes for section '.ydata' conflict with implied attributes
Petrovich
MPLABC30ComboAcad_v3_12 нормально компилируется
erroca
Цитата(Petrovich @ Mar 13 2010, 21:13) *
MPLABC30ComboAcad_v3_12 нормально компилируется


ne mogu ya skompelirovat' .... Rugaetsya... sad.gif
mojet pomojecte ....

A file Color.h ,dojen bit' pustoy ili .... ???

CODE
Color.c: In function 'main':
Color.c:77: warning: implicit declaration of function 'Set_Pot'
Color.c:116: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:64: warning: unused variable 'y'
Color.c:64: warning: unused variable 'x'
Color.c: In function 'Menu_Config':
Color.c:227: warning: array subscript has type 'char'
Color.c:229: warning: array subscript has type 'char'
Color.c:229: warning: array subscript has type 'char'
Color.c:229: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:235: warning: array subscript has type 'char'
Color.c:237: warning: array subscript has type 'char'
Color.c:238: warning: array subscript has type 'char'
Color.c:240: warning: array subscript has type 'char'
Color.c:241: warning: array subscript has type 'char'
Color.c:243: warning: array subscript has type 'char'
Color.c:245: warning: array subscript has type 'char'
Color.c:246: warning: array subscript has type 'char'
Color.c:254: warning: array subscript has type 'char'
Color.c:268: warning: array subscript has type 'char'
Color.c:271: warning: pointer targets in passing argument 1 of 'print' differ in signedness
Color.c:272: warning: array subscript has type 'char'
Color.c:274: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:280: warning: array subscript has type 'char'
Color.c:282: warning: array subscript has type 'char'
Color.c:283: warning: array subscript has type 'char'
Color.c:285: warning: array subscript has type 'char'
Color.c:286: warning: array subscript has type 'char'
Color.c:288: warning: array subscript has type 'char'
Color.c:290: warning: array subscript has type 'char'
Color.c:291: warning: array subscript has type 'char'
Color.c:294: warning: array subscript has type 'char'
Color.c:296: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:312: warning: array subscript has type 'char'
Color.c:326: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:331: warning: array subscript has type 'char'
Color.c:331: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:334: warning: array subscript has type 'char'
Color.c:335: warning: array subscript has type 'char'
Color.c:356: warning: array subscript has type 'char'
Color.c:362: warning: array subscript has type 'char'
Color.c: In function 'View_List_Config':
Color.c:390: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:391: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:392: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:393: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:394: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:395: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:396: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:402: warning: pointer targets in passing argument 1 of 'print' differ in signedness
Color.c: In function 'View_Edit_Menu':
Color.c:414: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:415: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:416: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c:417: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
Color.c: In function 'Load_Const_Time':
Color.c:435: warning: array subscript has type 'char'
Color.c:433: warning: unused variable 'i'
Color.c: In function 'Load_Correct_Ampl_Freq':
Color.c:452: warning: array subscript has type 'char'
Color.c:452: warning: array subscript has type 'char'
Color.c: In function 'Load_Shift':
Color.c:469: warning: array subscript has type 'char'
Color.c:469: warning: array subscript has type 'char'
Executing: "C:\Program Files\Microchip\MPLAB C30\bin\pic30-gcc.exe" -mcpu=30F4012 -c -
D__DEBUG "DataEEPROM.s" -o"DataEEPROM.o" C:\Soft -Wa,--defsym=__DEBUG=1
pic30-coff-gcc.exe: C:\Soft: linker input file unused because linking not done
Executing: "C:\Program Files\Microchip\MPLAB C30\bin\pic30-gcc.exe" -mcpu=30F4012 -x c -c
"DELAY.C" -o"DELAY.o" -D__DEBUG -g -Wall
Executing: "C:\Program Files\Microchip\MPLAB C30\bin\pic30-gcc.exe" -mcpu=30F4012 -x c -c
"FIR.c" -o"FIR.o" -D__DEBUG -g -Wall
C:\Users\VRL\AppData\Local\Temp/ccBiwPw7.s: Assembler messages:
C:\Users\VRL\AppData\Local\Temp/ccBiwPw7.s:7357: Error: invalid attribute combination for .ydata
C:\Users\VRL\AppData\Local\Temp/ccBiwPw7.s:7357: Error: Attributes for section '.ydata' conflict
with implied attributes
Halting build on first failure as requested.


Модератор. В данном разделе форума язык общения - русский. Потрудитесь сами до публикации своих сообщений перевести их с транслита на русский язык. Оправдываться отсутствием русификации клавиатуры или кириллицы на компьютере не нужно. Есть он-лайновые Интернет-сервисы типа http://www.translit.ru/ .
Petrovich
Чем компилируете?
erroca
Цитата(Petrovich @ Mar 29 2010, 14:46) *
Чем компилируете?


Mplab c30_3.12

А фаил color.h, пустоу, так должно быть ?
Petrovich
Цитата(erroca @ Mar 31 2010, 10:42) *
Mplab c30_3.12

А фаил color.h, пустоу, так должно быть ?


Да, он пустой. Если хотите, могу выслать мой компилятор с которым все копмпилируется
Кстати, на варнинги внимания не обращайте.
erroca
Да, если вам не трудно...
Спасибо за помощь !
Petrovich
Цитата(erroca @ Apr 10 2010, 15:13) *
Да, если вам не трудно...
Спасибо за помощь !

Куда слать то??
erroca
Цитата(Petrovich @ Apr 14 2010, 21:11) *
Куда слать то??


vinokurr@yahoo.com
vxzxc
кто нибудь работал с LM4970?
третий день бьюсь, не могу понять в чем дело.
ШИМ на выходе идет с паузами, т.е., например, 5мс идет правильный ШИМ(заполнение соответствует действительности), потом 5мс линия подтянута к +5V, потом опять правильный ШИМ, и тд.
что за фигня?
Petrovich
Цитата(erroca @ Apr 21 2010, 14:22) *
vinokurr@yahoo.com

Отправил
erroca
Цитата(Petrovich @ Apr 30 2010, 09:02) *
Отправил



Спасибо !!!!
Вот только сейчас выяснил,что ICD2 Clone не видет DsPIC30f..... sad.gif
erroca
Цитата(Petrovich @ Apr 30 2010, 09:02) *
Отправил


не хватает 7-й части архива !!!!
Petrovich
Цитата(erroca @ May 2 2010, 18:23) *
не хватает 7-й части архива !!!!

От меня ушло все... странно...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.