Четверг, 08.12.2016, 12:54
Приветствую Вас Гость

Портал светоэффектов

Меню сайта
Категории раздела
Наш опрос
Оцените мой сайт
Всего ответов: 580
Статистика

Онлайн всего: 3
Гостей: 2
Пользователей: 1
ivan-bezh
Форма входа
Главная » Статьи » Цветомузыкальные установки

24 канальная светомузыка с USB управлением
Двадцати четырех канальная светомузыка  с USB управлением от ПК.


Требования:  повторяющий данную конструкцию должен
1)иметь под рукой пк с установленной windows xp или  windows7
с подключением к интернету
2)уметь работать с паяльным инструментом
3)уметь запрограммировать ATMEGA16  готовой программой (это очень просто)
4)уметь компилировать программу  на С# (если потребуется что то изменить)

Найдя в интернете сайт  об управлении портами и другими регистрами микроконтроллера ATMEGA16
http://microsin.ru/content/view/812/44/  у меня появилась идея сделать светомузыку.  
Первое что необходимо - с сайта  скачать архив  090617atmega16-Csharp-class.zip .
Если у вас windows7 не следует устанавливать драйвер из этого архива, какой драйвер и как установить рассказано чуть ниже.

 
Рис.1 

Второе - это скачать и установить библиотеку bass.net   и  скачать файл  bass.dll


Рис. 2 Ссылка на BASS.NET
 

Рис.3 Ссылка на загрузку  bass.dll

При изготовлении светомузыки требуется  запрограммировать микроконтроллер ATMEGA16  файлом   fwsC#-mega16-16MHz.hex  и установить биты конфигурации микроконтроллера для работы с кварцевым генератором.

Третий шаг- собирается схема ,  приведенная  на рисунке 4
 
Рис 4 Принципиальная схема светомузыки

Чертеж печатной платы сделан в SprintLayot. Вид платы показан на рисунке 5. На каждый луч запаивается по 4 светодиода одинакового цвета свечения.  
Суммарный ток для микроконтроллера зависит от типа корпуса 
DC Current VCC and GND Pins......................... 200.0 mA and 400.0 mA TQFP/MLF
Для корпуса PDIP максимальный ток 200 мили Ампер,  следовательно резисторы R6-R29  ограничивают ток на светодиод до 7 мили Ампер.  Если использовать корпус TQFT  ток может быть в два раза больше, то есть 14 мили Ампер.  От этого зависит яркость свечения. Максимальный ток USB2.0 500 мили Ампер. 







 
Рис. 5 Вид печатной платы

Четвертое, после  того как плата собрана и проверена на отсутствие ошибок необходимо правильно и лучше с первого раза установить драйвер.
Папку с установщиком драйверов необходимо загрузить http://sourceforge.net/projects/libusb-win32/files/
,кликнув  мышкой по ссылке Download libusb-win32-bin-1.2.5.0.zip (913.8 kB).

 
Рис. 6 Ссылка на драйвер

Мною опробован и точно работает именно этот вариант установщика драйвера.
 Для системы windows XP особых трудностей это не вызывает, просто указывается папка с драйвером и система сама устанавливает драйвер.
После подключения устройства к USB в windows7 появится сообщение,  что драйвер на устройство не установлен. Запускам из папки \libusb-win32-bin-1.2.5.0\libusb-win32-bin-1.2.5.0\bin  файл  inf-wizard и выбираем устройство светомузыки.

 
Рис. 7

 
Рис. 8

После этого необходимо нажать Install Now
 

Рис. 9

Драйвер не имеет цифровой подписи поэтому будет предупреждение. 

 
Рис. 10

 
Рис. 11

После этого в диспетчере устройств появляется драйвер для светомузыки, как видно на рисунке 12. 

 
Рис. 12 Драйвер установленный для светомузыки на WINDOWS7

Можно проверить работоспособность исполнительного устройства светомузыки , запустив из архива  090617atmega16-Csharp-class.zip  файл управления одним светодиодом  LedTest.exe
 При нажатии на кнопку должен включаться либо выключатся  светодиод  на порте B.
Пятое, необходимо включить STEREO MIX или подключить микрофон к ПК.
Эксперименты проводились с ПК где звуковые устройства REALTEK и  SOUNDMAX.
REALTEK требует включения STEREOMIX, если необходимо брать звук который идет на колонки. 
Для этого требуется  кликнуть правой кнопкой мыши на изображении динамика в правом нижнем углу WINDOWS и перейти на вкладку Recording devices

 
Рис. 13 Recording devices

И там выбрать enable у stereo Mix.  

    
Рис. 14 Включение Stereo Mix

Если этого не сделать программа управления светомузыки  не сможет работать с "выходным” звуком , а будет работать со звуком с микрофона, или вообще выдаст ошибку о недоступности записывающего устройства.
Следует отметить что установка драйвера и включение Stereo Mix выполняются всего один раз, после выключения или перезагрузке ПК  Stereo Mix останется включенным  .
Если при подключении у вас установился драйвер и вы включили Stereo Mix , можно запустить  программу управления светомузыкой . 
При запуске программы  должны на пару секунд зажечься и погаснуть все светодиоды .
Далее работа будет продолжена под музыку.
На каждую полосу частот выведен свой регулятор и так же имеется общий для всех регулятор чувствительности.
Все управление реализовано в программе, на языке C#express  2010. 
Если необходимо вносить изменения в проект, то лучше всего создать проект заново и подключить bass.net для той версии windows, какая установлена на ПК.
Следует учитывать, что  программа ,скомпилированная на windows7 не работает на windowsXP и наоборот.
В свойствах проекта необходимо изменить  все, как показано на рисунке

 
Рис. 15 Настройка свойств проекта
 
На вкладке Build  разрешить использование unsafe code ( это необходимо для работы класса atmega16)
 

Рис. 16 Настройка свойств проекта

На форму в конструкторе необходимо добавить таймер, выбрать интервал срабатывания 1.

 
Рис. 17 Настройка таймера

Далее добавить 24 элемента pictureBox  .

 
Рис.18 Настройка pictureBox

Далее добавить 6 одинаковых  trackBar    и сделать для них настройки как показано на рисунке.
После добавить еще один  trackBar и сделать для него настройки как показано на рисунке
 

Рис. 19 Настройка trackBar 

 
Рис. 20 Настройка trackBar 

Затем добавить компонент bass.net 

 
Рис. 21 Подключение bass.net  к проекту

После этого  два раза кликнув левой кнопкой мыши на форме зайти в исполняемый код и скопировать весь код  из проекта в свой проект.

  
Рис. 22 Код проекта 

После этого необходимо в папки  проекта bin\DEBUGи bin\RELEASE скопировать bass.dll.
Программа по таймеру получает частоты , используя библиотеку bass 
Bass.BASS_ChannelGetData(_recHandle, buffer_bass, (int)BASSData.BASS_DATA_FFT4096);

После этого у нас есть массив  Buffer_bass[2048] с значениями амплитуд  для каждой частоты. 
Сравнив значения с определенным уровнем  выставленным на регуляторах , программа либо устанавливает бит порта либо сбрасывает его.
Для уменьшения количества передаваемой информации передаются 3 байта для каждого порта один раз при срабатывании таймера. 
Ps Есть возможность программного включения  Stereo Mix  пока не реализовал.
EXE файл из папки EXE_win7_32_64 работает на windows7 professional -64 bit- English  и на windows7 начальная- 32- bit- русская.


Но!!! Вместо светодиодов  используем твердотельные реле – и они будут  включать лампы 220 Вольт!
Собрал силовую версию на 220В и отдал в школу.











Видео работы 24-х канальной ЦМУ.









 С уважением, Алексей Заплатин.

Категория: Цветомузыкальные установки | Добавил: defaultNick (26.11.2013) | Автор: Radan
Просмотров: 11549 | Комментарии: 1
Всего комментариев: 1
1  
А если все небходимые файлы в одном месте выложить!? На каком-нибудь Яндекс диске ?

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
YOUTUBE LIGHTPORTAL
ALIEXPRESS
Поиск
Translation
Donate
QR
Часики
 
Облако тегов
Друзья сайта
Портал светоэффектов
Catcatcat Electronics
Color Music Beniamina Grinberg