Волшебная лампа на ws2812 и arduino

Волшебная лампа на ws2812 и arduino

Сегодня мы продолжим изучение светодиодов WS2812 и соберём Волшебную лампу. Если вы подумали, что лампу Алладины, то вы ошиблись. Это будет лампа Ардуино.

Вот небольшой пример работы чудо-лампы. Как я уже не раз говорил, что камера плохо справляется с записью светодиодов, и поэтому видео получается засвеченным, и не может воспроизвести всю красоту и переливы разноцветных огоньков. На самом деле всё намного красивее. Дальше в видео я покажу как лампа работает при разных освещениях. При свете, в полумраке и в темноте. И не забывайте, что это всего с использованием 8 светодиодов, а если их будет больше, то и эффект будет лучше.

Сначала, вместо Ардуино я хотел использовать DIGISPARK. Так как эта маленькая платка легко справилась бы с поставленной задачей. И в колбу пролезет, и пинов хватит. Так как я хотел управлять сразу 2 лентами. 
Одна лента в колбе, а вторая лента наверху. Но, или я не разобрался или это так не работает. В общем я не смог запустить две ленты одновременно. Всё время получалось, что сначала работает одна лента, а затем вторая. Может если бы это мне действительно нужно было, я бы разобрался. А так, нет да и не надо.
Поэтому я выкинул светодиоды снизу из колбы, и оставил только сверху.  Спаял вот такую вот конструкцию из 8 светодиодов. Чем больше светодиодов, тем более красочный эффект получается .  

Как и обещал показываю как лампа светится при разном внешнем освещении. Если честно, то это конечно не лампа освещения, и читать при неё не получится, Это скорее всего ночник. Такая лампа очень понравится детям и под неё можно рассказывать им сказки. Под неё хорошо засыпается. Вот говорю, а глазки сами по себе закрываются. Мне понравилось как она работает и скорее всего будет ещё одно видео. С управлением по блютуз или WIFI. А вообще я хотел найти большую керосиновую лампу, но смог достать только такую.
Собирается она очень просто. Дальше в видео я покажу схему соединения. Ссылка на скетч будет как всегда в описании. Хотя это стандартный пример из библиотеки FASTLED. Но я там установил свои значения. Пришлось довольно долго их подбирать. Это не трудно. Просто их там много и изменяя одни, приходилось подбирать другие. Я так и не попробовал все значения, так что у вас будет возможность поэкспереминтировать.

Теперь давайте перейдём к схеме.
В схеме нет ничего сложного. Так как я использовал для этого проекта не ленту, а отдельные светодиоды. Или как их называют NEOPIXEL. То надо при распайке следить за направлением. На каждом светодиоде есть стрелка. Это направление. Вот и собирать надо так, чтобы все стрелки смотрели в одну сторону. 
Если вы купили такие готовые платки, то вам надо будет их просто распаять соединив все плюсы и все минусы и подав на них 5 вольт. 
Если у вас просто отдельные NEOPIXEL, тогда вам надо к каждому установить резистор и конденсатор.
Каждый выход светодиода обозначенный DOUT надо подключить ко входу следующего обозначенного DIN. Последний выход никуда не подключается. А к первому входу надо припаять резистор номиналом от 200 до 500 Ом и соединить его с пином D7 Ардуино.

В лампе у меня всего 8 светодиодов, поэтому я не брал отдельный блок питания, а  подключал Ардуину через USB вход. Если вы будете использовать больше светодиодов, то вам понадобится отдельный блок питания.

Если у вас не установлена библиотека, то сейчас самый раз это сделать.  Эта библиотека применяется в большинстве разработок связанных с лентами WS2812. В ней большое число примеров и если вы ещё только начинаете знакомиться с этими светодиодами, то самое лучшее это начать с примеров из этой библиотеки.
Есть ещё и другая библиотека от компании Adafruit. Её тоже часто используют. И о ней я рассказывал в прошлых видео. Посмотреть можно здесь.
 В Ардуино IDE заходим в инструменты и нажимаем управлять библиотеками. В новом окне вводим название чтобы не искать самому. Нажимаем на кнопку Установить в нужной библиотеке. У меня она уже установлена, поэтому я просто закрою окно.
Теперь заходим в примеры к библиотеки Fastled и выбираем Огонь 2012 с палитрой. Вы можете использовать её, а можете скачать мой скетч по ссылке. Он от оригинала отличается только теми значениями, что я подобрал для себя, для лучшего восприятия.
Я буду показывать на своём скетче.

  • В начале идёт номер пина к которому подключена лента. У меня это пин №7.
  • Затем расположение цветов ленты. Оно почти всегда такое GRB.
  • Тип микросхемы управляющей светодиодами.
  • Количество светодиодов в лампе. У меня их 8 штук.
  • Яркость свечения ленты. Я установил на максимум.
  • Частота кадров в секунду. Чем меньше цифра, тем плавнее будут языки пламени.

Дальше много комментариев. Желающие смогут разобраться с помощью переводчика. Здесь можно менять цвет палитры, создавать градиенты тепловых цветов. Цвета в палитре динамически изменяются в каждом цикле.
Для использования палитры достаточно просто расскомментировать нужную палитру.
Я в этом примере использую палитру Тёмных оттенков.
Вот эти два параметры основные в настройке.
Первый это охлаждение
Охлаждение - это насколько остывает воздух при подъеме.
Чем меньше число тем выше пламя. И наоборот
Второй искрение.
Чем выше цифра, тем больше искр, и наоборот.
Я во всех значениях указал максимум. Вы же можете сделать свои значения подбирая их опытным путём.

Вот и ещё одно видео про WS2812 увидело свет. У меня их уже скопилось достаточно много. Посмотреть их все можно в плейлисте WS2812. Но есть ещё видео про гирлянды. Я думаю, что вам они могут быть тоже интересны. Также можете посмотреть про матрицы на этих светодиодах. 
Короче, чем больше вы посмотрите, тем вам будет интереснее и вы надеюсь узнаете много нового. А мне это поможет в продвижении канала.
Так что смотрите чаще и больше.  А ещё не забывайте ставить лайки и писать комментарии.
До встречи в новых видео.