Новый год не за горами, а это такой праздник, в который ни один уважающий себя ардуинщик не упустит случая, чтобы сделать что-то новенькое для его украшения. Понятное дело, что всяческие механические игрушки не каждому по силам (да и не по деньгам тоже). Чаще всего это новогодняя иллюминация: гирлянды, панно, настенные фигуры и многое другое. За годы существования Arduino придумали великое множество скетчей, обеспечивающих различные световые эффекты и многочисленные компьютерные программы, которые позволяют эти эффекты создавать.
Решил и я внести свои пять копеек в это благородное дело. Не то, чтобы другие программы мне не нравятся, просто для меня своё всё же милее. Итак, что же я предлагаю? Прежде всего компьютерную программу, написанную на моём любимом Delphi, которая создаёт световые эффекты для лент, построенных на светодиодах WS2812B и им подобных. В этой конкретно версии, которая вам предлагается, можно управлять лентами, содержащими от двух до трёхсот всетодиодов (т.е. лент длиной 5 метров с плотностью 60 диодов на метр).
Как создаются эффекты? Для этого используются… самые обычные рисунки! Вплоть до ваших личных фотографий. Но это ещё не всё. Программа умеет сама создавать подходящие для наших целей изображения в любом количестве и с любой цветовой гаммой. А если ещё и прибавить к этому целую галерею графических фильтров, позволяющих искажать рисунки, поворачивать, разворачивать, симметрировать, размывать и так далее… Это и обеспечивает нам бесконечное число уникальных световых эффектов.
Результаты ваших экспериментов можно сохранить на диске и в любой момент открыть нужный файл и воспроизвести его снова (или отредактировать). Мало того, из этих файлов, особенно если их уже много, можно составить длиннющую по времени комплексную программу светового шоу. Вы сами делаете наборку из отдельных, уже готовых, фрагментов, определяя время “звучания” каждого из них. Запустив эту наборку на воспроизведение, вы получите на выходе эффектное шоу, которое будет “крутиться” в цикле до тех пор, пока вам не надоест, и вы не нажмёте на кнопку “Стоп”.
Программа имеет несколько необычный, чисто “кнопочный” интерфейс. Ну, я же её для себя писал, мне так удобно. В принципе, ничего сложного - все кнопки, ползунки и поля ввода данных либо подписаны, либо имеют хинты. Файл с подробным описанием программы ещё не готов, но уже в работе. Если будет в том интерес со стороны посетителей форума, то выложу, когда допишу.
Комплекс рассчитан на использование Arduino Uno, Nano, Pro Mini и им подобных. Правда, в случае использования Pro Mini, не содержащей конвертора USB на борту, понадобится ещё и он. Но владельцы таких ардуин его, как правило, уже имеют. Сама Arduino использует для управления лентой любой выход, кроме 0, 1, A6, A7. Не забывайте подключить его к
входу данных светодиодной ленты через резистор от 100 ом до 1 ком. И всё, только один пин и кабель USB к компьютеру, больше никаких подключений! А, нет, ещё общий провод ардуины нужно соединить с общим проводом ленты. Но саму светодиодную ленту следует запитывать ТОЛЬКО от отдельного источника соответствующей мощности! Более подробно об этом сказано в пояснениях в скетче.
Несколько важных замечаний:
- В скетче и в компьютерной программе должно быть указано ОДИНАКОВОЕ количество светодиодов. Критической ошибки не будет, но на ленте вы увидите совсем не то, что ожидали.
- Цветовая гамма компьютера, увы, довольно значительно отличается от того, что “выдают” светодиоды, особенно в фиолетовой части спектра. Некоторую корректировку я сделал, но этого недостаточно. Придётся приспосабливаться, тем более, что и сами светодиоды различных производителей могут сильно различаться в этом плане.
- Прежде, чем запускать компьютерную программу, подключите питание ленты и кабель USB к компьютеру (о том, что в Arduino уже должен быть залит скетч, я умалчиваю). Когда программа загрузится, выберите нужный COM-порт в списке и нажмите кнопку с изображением электрической вилки. Если вы забыли подключить USB кабель до загрузки программы, то нужного порта в списке не будет. Подключите кабель, а затем нажмите кнопку с изображением круговой стрелки (справа от кнопки с вилкой). Список портов обновится, а дальше так, как сказано выше.
- Компьютерная программа не требует установки. Создайте какую-нибудь папку на диске и разархивируйте туда дистрибутив. Исполняемый файл - LedsImg.exe. Скетч для ардуино перепишите (вместе с папкой, в которой он находится!) туда, где хранятся ваши проекты.
Вот, пожалй, и всё об этом проекте. Но есть ещё и другие. Например, в той же самой компьютерной программе (LedsImg.exe) мы можем создавать и записывать файлы для другой, уже автономной от компьютера, конструкции, которая будет их считывать с SD карточки. Эта конструкция построена на двух Arduino Uno/Nano, LCD экране, аналоговой клавиатуре и резистивных регуляторах яркости и скорости воспроизведения. При этом одна ардуино обеспечивает всю функциональность, кроме вывода на ленту, а вторая - только вывод на ленту. Связаны ардуино между собой через Serial. Но есть версия, когда ардуины связаны между собой по беспроводной связи на NRF24. И ещё есть версия, где используется Arduino Mega2560, которая одна управляется со всем этим хозяйством, да ещё и обслуживает большее количество светодиодов.