Тёмный

Ночник на Arduino и WS2812 

EvoGaz
Подписаться 919
Просмотров 8 тыс.
50% 1

Ссылка на архив проекта - yadi.sk/d/Y1P6...
Светодиодная лента WS2812B - alitems.com/g/...
arduino - alitems.com/g/...
atmega 328 - alitems.com/g/...
Кварц 16Мгц - alitems.com/g/...
Набор резисторов - alitems.com/g/...

Опубликовано:

 

2 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 47   
@kokotmkokot4926
@kokotmkokot4926 6 лет назад
автор, купите обычных RGB светодиодов и не мучайте ws2812, если не понимаете зачем они нужны..просто караул
@evogaz5100
@evogaz5100 6 лет назад
Kokot mKokot для чего по вашему мнению данные светодиоды?
@kokotmkokot4926
@kokotmkokot4926 6 лет назад
ws2812 предназначены для адресного управления каждым диодом, а Вы используете в своей конструкции исключительно групповое управление. Для этого можно использовать обычную RGB ленту, так как ее стоимость в разы ниже.Вам уже об этом написали ниже.
@evogaz5100
@evogaz5100 6 лет назад
Kokot mKokot действительно уже писали и писали, что только в четвёртом режиме используется потенциал адресных светодиодов, что бы получить результат как в четвёртом режиме, используя ргб ленту, понадобилось бы на каждую полосу повесить по 3 транзистора, всего 36, и как ими управлять? Можно конечно поставить сдвиговые регистры типа 74нс595 и не использовать транзисторы, но как быть с яркость для изменения цвета? Заморочиться с шим управлением для каждого регистра и написать отдельно для каждого свой алгоритм работы. Мне показалось проще переплатить 100 рублей за адресные светодиоды и использовать существующую библиотеку, к тому же если с фантазией все хорошо можно написать новый режим, к примеру анализатор звука. А писать одно и тоже, на тему зачем адресные, раз вы сами уже видели этот вопрос. Тоже могу спросить смысл задавать этот вопрос если вы видели, что такой уже был? Ну а если вам так хочется собрать на ргб успехов вам.
@АндрейКаменский-ш4б
А зачем здесь адресные светодиоды? Почему нельзя было сделать все то же самое на обычных rgb? Ведь как я понял во всех режимах, кроме 4го цвет всей конструкции одинаковый. Можно было бы нарезать полоски rgb ленты по три светодиода и управлять ими отдельно.
@evogaz5100
@evogaz5100 6 лет назад
Андрей Каменский зачем пользоваться автомобилем если можно идти пешком? На автомобиле проще, тоже самое и здесь, с адресной проще, к тому же в дальнейшем можно дописать новые режимы не изменяя плату. А с обычно лентой управлять каждым светодиодном по отдельности будет очень накладно
@omgoood
@omgoood 6 лет назад
Проект расширяемый благодаря этому решению адресная лента + выбор режима одной кнопкой - я добавил бегущие огни и эффект огня. Можно без переделки добавлять любое количество режимов. Да и сами читаете что пишете? Нарезать полоски rgb ленты по три светодиода и управлять ими отдельно. Можно ещё всё без ардуино сделать, на логике, чего тупить то, да? Так что спасибо автору, что сделал всё так, как есть)))
@smirpunk
@smirpunk 6 лет назад
В скетче вместо повторяющихся строк pixels.setPixelColor(1, pixels.Color(RED,GREEN,BLUE)); можно использовать цикл for (int k = 0; k < count_led; k++) { pixels.setPixelColor(k, pixels.Color(RED,GREEN,BLUE)); pixels.show(); }
@evogaz5100
@evogaz5100 6 лет назад
smirpunk Стараюсь не использовать цикл for т.к. в момент его выполнение мк больше ни чем не занимается. Например возьмём два светодиода и две кнопки, подключим к мк и напишем код If (digitalRead (but1) == HIGH) { for( i = 0; i < 255; i++) { analogWrite(led1, i); delay(10); } } И тот же код для but2 и led2, в итоге после нажатия первой кнопки запуститься цикл for для led1 и пока значения в цикле не достигнет 255 реагировать на нажатие другой кнопки мк не будет. Сталкивался с таким когда делали товарищу подсветку ног в авто, с плавным розжигом от открытия двери, использование цикла for привело к тому, что свет разгорался у того кто первый откроет, в итоге решили переделать используют if else. Хотя в данном случае цикл for не должен привести к такому т.к. в нем не будет временных задержек.
@smirpunk
@smirpunk 6 лет назад
for хороший цикл. Из него всегда можно выйти командой break. Или написать что-то вроде такого If (digitalRead (but1) == HIGH) { for( i = 0; i < 255; i++) { analogWrite(led1, i); delay(10); If (digitalRead (but2) == HIGH) { j = j++ if (j>254) { j = 0 } analogWrite(led2, j); { } } Там ещё чуть дополнить надо, но думаю свою мысль донесу
@evogaz5100
@evogaz5100 6 лет назад
Ну да согласен так будет работать, спасибо возьму на заметку!
@beelineg3307
@beelineg3307 6 лет назад
слушай, а не подскажешь, как написать скетч для управления режимами адресной ленты? мне нужно что бы при нажатии кнопки лента меняла режимы свечения, как в демо режиме NeoPixel
@evogaz5100
@evogaz5100 6 лет назад
int but = ;//укажи пин к которому будет подключена кнопка int B;// переменная для хранения количества нажатий на кнопку в сетапе pinMode(but, INPUT_PULLUP)// подтягиваем к плюсу управляем минусом в цикле If (digitalRead (but) == HIGH) { B++; delay(200); } if (B == 0) { //сюда пишешь один режим } if (B == 1) { //сюда другой } if (B == 2) { //третий режим и так далее }
@kalashono4ek
@kalashono4ek 4 года назад
Ссилочка непрацює, можна якось виложити проект по іншому?
@Partizanex
@Partizanex 5 лет назад
Респектос...Сам боялся взяться(.. В инете не было... Повторяю
@igorovcharov7424
@igorovcharov7424 4 года назад
Ну и какова польза от этого чудо-девайса?
@evogaz5100
@evogaz5100 4 года назад
«польза от девайса» там где их продают, а тут я показал что я придумал и как собрал, ну а если совсем плохо с фантазией, то я использую как ночник для ребёнка
@igorovcharov7424
@igorovcharov7424 4 года назад
@@evogaz5100 Ночник значит. :-)) Ясно.
@andre_q
@andre_q 6 лет назад
Нужна помощь...спецов При включении всегда включён режим гирлянды для смены какого либо режима надо держать кнопку замкнутой, если её отпустить и опять нажать то режим смениться.... Как инвертировать кнопку обратно??? Может надо в сетапе укизать кнопку по умолчанию замкн..Вот так: boolean but(HIGH) // или LOW
@evogaz5100
@evogaz5100 6 лет назад
Alpha RelaxAn судя по тому что вы описываете, вами не был установлен подтягивающий резистор
@andre_q
@andre_q 6 лет назад
Паяльня #6 Ставлю подтягивающий 470 1k 2k 10k 22k .... теперь включён только один режим, кнопка на нажатия не реагирует, что бы сменить режим надо резистор вытащить а потом вставить обратно (также как и с кнопкой, резомкнуть--замкнуть). Что делать уже не знаю, где то читал что подтягивающий можно включить програмно но только на 13пин(поставить 14 как выход ( именно 14 на nano) ...14(OUT); )Только встроеный подтягивает только к верху т.е. к плюсу.
@evogaz5100
@evogaz5100 6 лет назад
Alpha RelaxAn подтягивать нужно к минусу, а кнопка должна посылать плюс, проверяйте правильность коммутации кнопки. Программное подтягивание может быть только к плюсу, используется для этого режим INPUT_PULLUP и использовать его можно на любом контакте
@andre_q
@andre_q 6 лет назад
Паяльня #6 Всё заработало, напутал с подключением кнопки. Спасибо большое.☺☺☺
@Maksimkin1985
@Maksimkin1985 6 лет назад
Сделать ему корпус из дерева или из пластика с древесными волокнами
@omgoood
@omgoood 6 лет назад
Почему никто этого не делает на Atmega8? Весь интернет перерыл, везде ардуино в том или ином виде...
@omgoood
@omgoood 6 лет назад
А ещё надо добавить сохранение состояния в EEProm
@vr.bersek
@vr.bersek 6 лет назад
а что за 3д принтер у Вас?
@evogaz5100
@evogaz5100 6 лет назад
Айнур Хайретдинов anet A8
@vr.bersek
@vr.bersek 6 лет назад
Паяльня #6 а давно он у Вас? И может что нибудь можете сказать про flyingbear(летающего медведя) р905 который?) Вот думаю над приобретением) ночник класс!! Сохранил, светодиоды уже есть, как принтер возьму, сразу повторю Ваш проект!)
@evogaz5100
@evogaz5100 6 лет назад
Пол года, на канале есть видео, но там о касяках ни чего не сказана, т.к. выявил их позже, основные проблемы связанны с нагревом, расплавился разъём т.к. он не рассчитан на такой ток, убрал разъём и припаял на прямую к столу, в идеале нужен отдельный блок питания на 24 вольта для стола. Ещё были проблемы с нагревателем экструдера, китайце плохо обжали, контакт окислился и в последствии экструдер перестал греться прямо во время печати, просто пережал и почистил контакт и проблема ушла, пока других проблем не было. Насчёт летающего медведя ничего сказать не могу, да про анет не могу сказать что он отличный т.к. сравнить не с чем, но в целом меня устраивает.
@vr.bersek
@vr.bersek 6 лет назад
Паяльня #6 я его тоже в самом начале поисков и изучения про 3д принтеры хотел взять. Потом решил остановиться на летающем медведе, конструкция понравилась. А в каждом способе печати есть недостатки, и в анете, и в летающем медведе.
@ElectricNail
@ElectricNail 6 лет назад
Идея классная.А что если вместо регуляторов поставить энкодер? Как вам идея?
Далее
Arduino garland with LEDs ws2812
14:06
Просмотров 59 тыс.
Цифровой светодиод (WS2812 WS2812B)
3:48
Умный аквариум на Arduino
17:52
Просмотров 18 тыс.
Часы на WS2812B
1:03
Просмотров 27 тыс.