На днях на Урале выпал первый снег. В начале октября! И душе захотелось праздника. Давно хотел использовать светодиоды с пиксельной адресацией в праздничной иллюминации и вот наконец реализовал свою задумку.
Корпус снежинки сделан из белого 3-х мм акрила, подложка из фанеры той же толщины. Нашел в нашем городе услугу по лазерной резке. Заготовки на две снежинки обошлись в районе 900 р вместе с материалами.
Высота снежинки по лучу 30 см. Используем полоски светодиодов, на которые я уже делал обзор, только не из 10, а из 8 светодиодов.
Наклеиваю полоски на белый герметик
Соединяю входы и выходы полосок (белыми проводами), а также питание (черный — минус, красный — плюс)
На 3М скотч прикрепляю Arduino Pro Mini и радиомодуль на 315МГц (для использования в системе управления в будущем)
Соединяем все проводами
Питаться все будет от любого источника 5В через USB разъем. Можно собирать изделие и приступать к программированию
Я использовал готовую библиотеку NeoPixel от Adafruit
Здесь можно скачать полный скетч на цвето-динамическую снежинку. WS2812 Подключен к 3-му выходу.
Скетч снежинки на Arduino. v2.oВключаю и замеряю потребляемый ток
Получаю до 500 мА во всех режимах, что позволяет питать устройство даже от USB компьютера.
Я подключаю к повербанку и вот результат
Гораздо лучше работу снежинки на WS2812 видно на видео
Итак себестоимость:
- Светодиоды WS2812B 48шт — $6.24
- (Можно взять готовую ленту с WS2812)
- Arduino Pro mini — $1.75
- Гетинакс, провода и прочее в столе у каждого радиолюбителя )))
- Ну и корпус 450 руб
Всего около 1000 руб.
Как всегда, госприемка, на этот раз очень ленивая
Чертежи снежинки
Чертеж снежинки... Чертеж снежинки DXF... Чертеж снежинки SVG...
Красивый проект, самое время к НГ готовиться. А нечто подобное можно сделать на ESP8266 с управлением по WiFi? Сам поэкспериментировать пока не могу, лента где-то в пути.
Скетч Ваш в Arduino IDE для ESP8266 пробовал — компилируется нормально. Управление эффектами прикрутить и вообще шикарно будет. Нет мыслей по этому поводу?
Пробовал собирать на ESP8266
Думал подключить SD-карточку и закачивать эффекты по WiFi
Все подключилось нормально, но у ESP-шки периодически раз в пару секунду возникает событие по прерыванию обработки WiFi функций.
И в это время снежинка замирает.
Получается эффект слегка дергается как паралитик.
Как достичь плавности я не знаю. Разве что попытаться WiFi отключать на время работы эффекта
Если ваш цикл на esp8266 дольше чем 50 миллисек то стек с wifi перестаёт работать.
В принципе посадил функцию обновления ленты на событие библиотеки ticker
Когда много обработки и время срабатывание менее 100мс вылетает по WDT
А расскажите пожалуйста как SD-карточку подключали и пример скетча.
SD карточку не подключал. Пока использовал EEPROM встроенный.
Но вроде особых сложностей в библиотеке SD нету
Слегка,,,, как паралитик! Это 5, просто писаю кипятком.
Классно, тоже хочу попробовать подобное только помасштабнее. А по поводу задержек, можно ли использовать 2 ардуинки, одна обслуживает вайфай или пду и формирует на выходе (несколько пинов) код, исходя из которого вторая играет тот или иной эффект. Не имею опыта только наброски в голове.
Я думаю что достаточно будет Arduino + ESP8266.
Проверка состояния WiFi или ПДУ вполне уместится в цикле эффекта
Наконец-то пришла лента. Собрал, залил сектч и вот какая проблема, почему-то в каждом луче первый диод не загорается, а в остальном эффекты все в норме. В коде попробовал разобраться, но не удалось, я только начинаю разбираться с ардуино.
P.S. Скетч залил в ESP8266. Все тестовые NeoPixel от Adafruit работают.
Ура! Сам разобрался.
Не подскажете в чем дело? Не хватает мне знаний разобраться.
Если я правильно понял, в оригинале тоже самое?
Здравствуйте.
Скажите, каким образом соединены полоски между собой и с arduino?
можно простую схемку нарисовать?
Питание и земля меду собой. Полоски последовательно вход на выход
Ардуино цифровой выход к входу первой полоски
А выход последней полоски никуда не цепляется?
Здесь нет. Можно к следующей снежинке для управления с одного контроллера
И еще вопрос, Arduino pro mini попадаются в сети на разных микросхемах Atmega 168 и 328. Есть разница для этого проекта?
Для этого нету. У 168 ОЗУ и Флэш в два раза меньше. Сам заказал 168-х по $1.2
Наконец и я получил ленту. Вечером опробую. В понедельник заберу снежинку с резки и буду собирать. Управлять планирую Digispark-ом на тини85. Валяется без дела, под нее компилируется.
Alexey, вы не поделитесь чертежом вашей снежинки?
Я не Алексей, но могу своей поделиться https://www.dropbox.com/sh/ia1nt49svem3nlx/AAD33DooCYqNxolerBA9xpSHa?dl=0
Спасибо. Только почему-то corel не смог открыть файл. Может у меня версия не та?
У меня она в X3 внрсии корела
У меня как раз x3. Если кликнуть по файлу — открывается пустой лист, а если выбрать в corel «открыть» — то сообщает что «невозможно импортировать с помощью выбранного фильтра или этот формат не поддерживается»
Добавил в SVG и DFX форматах
Я не помню версию корела. Попробуйте импортировать dxf.
Добавил в SVG и DFX
У вас в снежинке судя по фото используется 8 диодов в луче и один в маленьком луче,Заливал Ваш скетч, и 9 диод не добавился, что не так делаю ???
https://github.com/samopal-pro/snowflake_v2
Здесь можно настроить количество светодиожов в луче
Скажите пожалуйста, эти поделки могут работать без подключения к компьютеру и без SD? Хочу сделать эффект падающей звезды. Спасибо
Эта снежинка работает без SD. Так что можно.
Питание — любой источник 5В 0.5А
Спасибо большое. Можно ещё вопросик? Если я хочу только один эффект падающей звезды, можно ли как то сделать паузы между падениями? Или постоянно должно что то гореть? Во всех эффектах что я видел пауз нет. Спасибо
можно еще вопрос?
если делать на ленте, то ее можно сложить пополам и сделать двустороннюю снежинку. Вопрос: для этого надо переделывать код программы, чтобы диоды работали синхронно с двух сторон?
Сделал партию снежинок с акрилом с двух сторон.
Эффект на обратной стороне почти такой же как на лицевой
Так что смысла в двух лентах не вижу. А вот подключить несколько снежинок к одному контроллеру можно вполне. Нужно только немного программу доделать
Если кого заинтересует, могу дать координаты человека, который режет акрил в Москве. За 4 снежинки (25 см) он с меня взял 1000 рублей. форма правильная, но по краям есть следы оплавления. на конечном изделии этого не будет видно, в крайнем случае можно обработать напильником.
Здравствуйте.
Если можно, скиньте координаты резчика на Balzamalex гав mail.ru
Товарисчи, а никто не поделится 1 метром ленты, а то до Нового Года не дождусь из китая.
День добрый.
Подскажите, можно ли запрограммировать эту снежинку в atmega8?
Вроде библиотека Adafruit NeoPixel совместима со всеми мегами и даже с тини85
Так что все должно работать
я чайник в ардуине. подскажите что для этого нужно сделать? как в мегу8 залить этот код через usbasp?
В Arduino IDE
Выставить программатор USBASP
Затем:
Эскиз->Загрузить через программатор
Можно залить в Mega8 загрузчик от Ардуино и загружать через USB/TTL порт, как в любую Ардуину
еще вопросик. от внутреннего генератора меги будет работать?
Не пробовал. Если NeoPixel заработает то будет
Тип контроллера на Atmega8 надо найти и создать, прописать фьюз-биты
http://homes-smart.ru/index.php/oborudovanie/arduino/dobavlyaem-podderzhku-ne-rodnykh-m-k-v-sredu-arduino-ide
http://integrator.adior.ru/index.php/arduino/415-atmega8-v-srede-razrabotki-arduino
В скетче котором ошибка?
тип контроллера где-то надо указывать?
при проверке скетча выдает сообщение:
exit status 1
redefinition of ‘uint32_t buff [48]’
ошибка ушла. создал отдельную папку для snowflake_v2 и ошибка исчезла
Приветствую.
Подскажите, какой длинны готовить винты или шпильки?
Если акрил 3мм и ардуина спаяна компактно, то получается винт 12мм. Если менее компактно — 16мм
Обязательно рядом с платой со стороны кнопки ресет нужно что-нибудь положить, чтобы она не нажималась корпусом.
Идея хорошая, спасибо, опробовал на куске «самопал»ьной ленты, неплохо смотрится, но проблема в нехватке кол-ва эффектов, но ведь снежинка очень !красива! сама по себе, то есть напрашивается нечто более «ВАУ!!!», да, и так как она имеет всё-таки симметрию, то один из эффектов мне кажется не подходит, ихмо. Не очень силён в программировании, но мне кажется, что идею нужно развивать, а то скучно становиться. Всем Добра! И с Наступающим!
На этот НГ уже все висит, сверкает и радует сердце. А вот на следующий займусь разработкой новых эффектов.
чтобы в Digispark залить, в программе что-то нужно менять?
Народ собирал на тиньке 85, вродеработало.
Но сам я не пробовал. Не вижу никакой радости в Тиньке, когда за эти же деньги Мега ставится
просто есть в наличии тинька. вот и хочу поинтересоваться. к какому выводу тиньки цеплять диоды, тоже к 3? или надо что-то там изменять?
К любому. При инициализации NeoPixel там пин прописывается
И это радует, ещё раз спасибо!
Почему при компиляции snowflake_v2 выкидывает ошибку? Пишет:
Arduino: 1.6.7 (Windows XP), Плата:»Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)»
collect2.exe: error: ld returned 5 exit status
exit status 1
Ошибка компиляции.
V1 компилируется без проблем.
В этом случае народ рекомендует снести Arduino IDE и поставить заново
http://forum.amperka.ru/threads/%D0%9D%D0%B5%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%BD%D0%B0%D1%8F-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0.5372/
Если не поможет, попробуйте сменить версию IDE. У мея все работает на 1.6.5
У меня стоит ARDUINO IDE v1.6.7 Что удалить и поменять на v1.6.5?
Либо Arduino IDE на 1.6.5
Либо ESP8266 core на 2.0.0
А как можно переделать под 8 лучей? Тупо поменять
// Число лучей
int ray_number = 8;
ожидаемого результата не дало!
Попробуйте из этой статьи. Здесь более универсальный скетч
Спасибо, пробовал на обоих вариантах скетча 3 луча, 4, 5, 6 всё отрабатывает, а 7, 8 не хочет…. подсоединено все правильно, с другим скетчем куски лент работают…. И ещё вопрос, как сделать, добавить эффект, (где почитать ) чтобы лучи снежинки по кругу бегали, меняя цвета?
Спасибо за помощь. Да, действительно Arduino IDE v1.6.5 snowflake_v2 компилирует без проблем, а v1.6.7 совсем не хочет.
Москва дорогой город, но мне изгововление одной снежинки обошлось в 105 рублей вместе с материалом. Делал здесь: http://acryplast.ru/
Делали при мне. Так что, кто планирует к зиме — не ждите подорожания!
Это не реклама, просто захотел поделиться. (В одном месте за одну снежинку попросили 600, в другом 400 — они ОФИГЕЛИ!) Теперь не спеша можно заняться…
Скажи сколько высота пласмассвой платформы WS2812? то есть насколько он вставится во чтото если напаян на текстолит? в даташите только размер 5х5 мм
Если можно то напиши во ВК или на почту, тк могу забыть сюда зайти
Все как у обычных 5050
Все супер, собрал — работает. Может зальете скетч под 10 диодов в луче на 6 лучей, что бы метровую ленту целиком резать.
Доброго времени! Извиняюсь что беспокою. Помогите сделать что бы было 5 лучей по 2 пикселя. Нужно встроить в маленькую звездочку новогоднюю. Заранее благодарен
Там с скетче два параметра — число лучей и число светодиодов в луче. Правда два пикселя, это маловато. Эффекты будут практически неотличимы от просто мигающих диодов
Случайно сюда попал… На мой взгляд, намного удобнее все эффекты программировать на JavaScript. Прошивка ESP8266 для него есть на espruino.com
Прошил один раз, потом сидишь себе в среде, и шлешь по wifi новые программы. У меня так дети с гирляндой играются. Суперэффекты так, конечно, не сделать — скорости не хватает. У меня на 100 светодиодах где-то 150-200 мс скорость обновления (ну, то есть кадров 🙂 ) получается. Но большинство простых эффектов делается на ура. И меняется в любой момент по wifi. Если тема кому интересна, могу рассказать подробнее.
Расскажите конечно
Я в последний новый год написал свой язык сценариев для эффектов. Но трудоемкость довольно большая
Еще один новогодний проект на WS2812B и ESP8266
https://youtu.be/jOywT-22yaA
Здравствуйте, как изменить яркость???