Меню Закрыть

Содержание

Вступление


Восьмиканальная цветомузыкальная установка для самостоятельной сборки на микроконтроллере ATmega328p, с использованием элементов поверхностного монтажа (SMD) и микросхем в DIP (Dual In-line Package) корпусе.

Сложность:
Средний уровень

Для реализации данного устройства понадобятся навыки изготовления печатных плат, монтажа SMD компонентов и “прошивания” микроконтроллеров, а так же наличие программатора для AVR микроконтроллеров. 

Пример работы

Руководство по эксплуатации

Принципиальная схема

Устройство можно поделить на несколько основных блоков:

1. Микроконтроллер ATmega328p с обвязкой и элементы управления / индикации устройства.


2. Фильтр низких частот на базе операционного усилителя (ОУ) LM358N

Печатная плата

Плату разводил из расчета, что элементы управления и индикации будут прикручиваться/встраиваться в корпус устройства, а соединяться с основной платой будут посредством штыревых разъемов. Тактовые кнопки были предназначены для предварительного бескорпусного тестирования. Особой необходимости их установки нет.

Варианты разводки плат:

Разводка 1 вариант включает:

  • Микропроцессор ATmega328p
  • Фильтр низких частот на ОУ LM358N

Контактные разъемы:

  • 3 вывода на кнопки управления (Demo, Fade Speed, Runlight)
  • 3 вывода для индикации скорости затухания (Fade Speed status LED)
  • вывод на светодиодную ленту со светодиодами ws2812b (Dout)
  • стерео вход (Audio IN)
  • вход для микрофонного предусилителя / линейный вход (Mic Amp IN)
  • вывод для индикации наличия питания (Power LED)

Не выведены:

  • 3 вывода для индикации режима работы (Mode status LED)
  • вывод индикации нажатия (Button press blink)

Ширина дорожек 0,5. Посадочные места под SMD резисторы и конденсаторы для типоразмера 0603 или 0805. Если между контактами проходит дорожка, то практичнее использовать 0805. При монтаже главное контролировать отсутствие замыканий при установке последних.

Аудио сигнал подается одним из способов:

1. Сигнал с линейного выхода подаётся на 3-х пиновый вход “AUDIO IN”. Сумматор каналов предусмотрен на плате (по резистору в 1 кОм на каждый канал).

2. При использовании микрофонного усилителя сигнал в обход сумматора подается на “MicAmp IN”.


Если необходимо подключить регулятор громкости, то предварительно суммированный стереосигнал через регулятор громкости (переменный резистор в 10кОм) подается на вход “MicAmp IN” (в обход сумматора на плате). Сумматор в простом исполнении – по резистору в 1 кОм на каждый канал.

Разводка 2 вариант

Модифицированная разводка варианта 1 – выведены все задействованные выводы микроконтроллера и убраны перемычки. Здесь также используются элементы в DIP корпусе для микросхем и в SMD для остальных элементов. Данная разводка на железе еще не была проверена.

Разводка платы от Александра (от 19.06.2019)

Модифицированная разводка варианта 1 – выведены все задействованные выводы микроконтроллера и убраны перемычки. В отличии от остальных вариантов Александр развел плату под дискретные компоненты, за что ему огромное спасибо. Данная разводка на железе еще не была проверена.

Разводка платы от посетителя сайта - Алексея (от 06.12.2019)

Появился еще один вариант разводки. В данном исполнении плата была максимально уменьшена в размере без потери функционала. Работоспособность данной разводки успешно проверена на железе.

Перечень компонентов

РезисторыКоличествоКонденсаторыКоличествоДругоеКоличество
Итого:14123
100 kΩ11.5 nF1ATmeag328p1
10 kΩ2100 nF = 0.1 μF5LM358n1
150 Ω110 nF1Quartz 16 (20) MHz1
1 kΩ222 pF2
2.4 kΩ327 nF1
220 kΩ2470 nF = 0.47 μF1
330 Ω3470 μF 16v1

Прошивка

Светодиодные ленты WS2812B

37 комментариев

  1. bronepoezd
    bronepoezd

    Добрый день. Есть вопрос. Подключил матрицу 16*16 256 светодиодов. Но “расширяется” только до 240, не горит одна полоска из 16 штук. “Допилите” пожалуйста прошивку до новой версии, чтобы работало на 256 диодов

      • m1x
        m1x

        Привет! Код лежит в одном архиве вместе с прошивкой в папке “Sources”.
        Мне известны несколько ошибок в работе и есть пару предложений от пользователей сайта. Поэтому уже достаточно материала для выпуска новой версии, но пока тупо нет времени. =)
        Думаю на выходных получится немного покопаться в коде по поводу 256.

      • m1x
        m1x

        Максимально количество светодиодов задает переменная MAXLEDS в mydefs.h, но возможно что-то перестанет работать или не будет работать вовсе =). Кое-где придется переводить 8-и битные массивы на более емкие.

    • m1x
      m1x

      Привет!
      Весь код написан в Atmel Studio, поэтому исходники можно ковырять только там.
      Как скетч для Arduino IDE данный исходный код использовать не получится.

  2. Magali2012
    Magali2012

    Здравствуйте! Собрал цму с лентой на 144 светодиода. с последней прошивкой горят только 24, при регулировке количества регулируется от 8 до 24, с ранней версией прошивки на 144 светодиода всё нормально, горит вся лента

    • m1x
      m1x

      Доброго!
      Количество подключаемых светодиодов настраивается в рабочем порядке на самом устройстве. Описание есть в разделе “Руководство по эксплуатации”.
      Только 180 не кратно 8 каналам. Лучше 176 или 184, а еще лучше в районе 120 =). Чем больше светодиодов подключено, тем медленнее работают алгоритмы.

    • m1x
      m1x

      Судя по описанию WS2812B ECO это какая-то урезанная версия WS2812B:
      – яркость на ~30% меньше;
      – не имеет конденсаторов по цепи питания светодиодов;
      – в процессе изготовления используется какое-то золото с примесями вместо чистого.

    • m1x
      m1x

      Доброго! Это будет по 60 светодиодов на 1 метр, т.е. всего 120 светодиодов на 2-х метрах ленты.
      Резать можно как угодно, но желательно так, чтобы оставалось количество светодиодов кратно 8.
      Ленты можно и параллельно, и последовательно соединять. Главное, чтобы порядок RGB был одинаковый и блок питания позволял.

  3. SP634
    SP634

    Добрый день!
    В Вашей цветомузыке есть очень полезная опция смены цветового пространства для совместимости с некоторыми лентами на ws2811, учитывая их разнообразие. А как понять, какая именно последовательность цветов выбрана? В контроллерах SPI-лент в режиме установки последовательно устанавливаются цвета красный -зелёный – синий (сначала вся лента должна засветиться красным, затем зелёным и затем синим цветом, дальше нажимаем “SET” – лента помигала, цветовая последовательность записалась в память контроллера).

    • m1x
      m1x

      Здравствуйте! Сейчас правильность цветового пространства можно проверить только на эффекте “радуга”. Цвета должны отображаться в порядке очередности их в радуге, от красного до фиолетового. Поморгать же последовательностью цветов при смене цветового пространства не проблема. Сделаю в новой версии прошивки. Только когда эта самая новая версия будет пока не ясно.

  4. samand587
    samand587

    Здравствуйте автор! Хочу посоветоваться с заказом светодиодов с сайта aliexpress.com
    К сожалению не могу прикрепить скрин. Заказываю следующее: “Испускаемый цвет: WS2812B Black PCB” и “Цвет: 1m 96 IP30”. Это правильно? Спасибо!

    • m1x
      m1x

      Да, то что нужно. =) Будет 96 светодиодов на 1 метр без влагозащиты.
      Потом можно еще попробовать 2m 60 IP30, если желание будет. Тоже неплохо смотрится.

    • m1x
      m1x

      Спасибо кстати, хорошая идея! Надо будет потом замутить пару ссылок на товары/магазины которым я доверяю. Чтобы можно было сразу заказать то, что необходимо.

    • m1x
      m1x

      Увы, но придется еще уточнить. =) Тут модулей никаких нет… Одна плата и одна лента.
      Все светодиоды соединены последовательно и управляются одной шиной данных (цифровым каналом). Светодиод, на котором заканчивается один канал и начинается другой, задается программно (алгоритмом).

      • m1x
        m1x

        Если имелось ввиду видео, то оно уже старое. Там использовались 8 платок по 12 светодиодов на каждую. Они также соединены параллельно. Теперь лучше использовать ленту, т.к. можно в любой момент варьировать количество светодиодов. Число будет всегда кратно 8.

Добавить комментарий

Translate »