И вот очередной новый год на носу.
Снега в этому году море.
Пора доставать снегокат дочкам.
В прошлом году взял им для украшения снегоката несколько гирлянд на батарейках (2хАА) и фонарь диодный на руль вместо фары.
А дальше речь пойдет о доработке «скучной гирлянды».
Гирлянды прикольные, брал гирлянды в fixprice, когда у них цена была еще «все по 29р».
Сейчас такие там не видел, нашел аналогичные на али чтобы понимали о чем речь.
Гирлянда в целом нормальная — 10 диодов, 1м примерно, батареек хватает надолго.
Можно обмотаться ими и стать елкой :) Мелкие кстати сначала так и делали. Идут гулять, наматывают на себя и типа праздник всегда со мной, вечером смотрится здорово.
Был у них только один на мой взгляд недочет — они СТАТИЧНЫ. :( т.е. тупо горят и все, никаких эффектов, никакого моргания.
СКУКОТЕНЬ!
Надо что-то с этим делать.
Одна беда очень маленький корпус.
Свободного места в корпусе было очень мало буквально по ~1см2 с каждой стороны от выключателя.
Как раз работа для attiny13!
Замерил потребление — зеленые 120ма максимум, без резистора. (Желтые и красные через резисторы стоят чтобы снизить ток).
Attiny13 в dip'е вместе со своим другом в soic.
Soic я ставить сюда не решился, поставил dip.
Размер мк в dip'e примерно 9мм*8мм.
А места реально мало.
Собираем по схеме
Размещаем с одной стороны мк, с другой транзистор и резистор.
Заливаем все клеем как лютые китайцы :)
И вуаля как будто так и было.
ТТХ attiny13 -1кб памяти, рандомными эффектами сильно не поразвлекаешься (RandSeed+ 1шт ramdom уже 800кб++) — зашил статичную программу.
Писал в старой версии arduino ide 1.0.6 т.к. там давно борды были настроены.
Есть библиотека специально под attiny13 для arduino ide — attiny13 core sourceforge.net/projects/ard-core13/. Размер кода получается в разы меньше, даже при использовании привычных урдуинсковых функций.
Размер сопоставим с работой через прямое управление портами и регистрами +-.
Код вышел 968 байт.
#define FIRST_LED_PIN 1 // LED connected this pin with pwm
#define LED_MAX_VALUE 255
#define LED_MIN_VALUE 0
void setup() {
pinMode(FIRST_LED_PIN, OUTPUT);
}
void led_on_off(int pin, int light_delay, int dark_delay)
{
analogWrite(pin, LED_MAX_VALUE);
delay(light_delay);
analogWrite(pin, LED_MIN_VALUE);
delay(dark_delay);
}
void loop()
{
for (int i=1;i<=5;i++)
{
led_on_off(FIRST_LED_PIN,(100*i),(100*i));
led_on_off(FIRST_LED_PIN,(100*i),(100*i));
led_on_off(FIRST_LED_PIN,(100*i),(100*i));
led_on_off(FIRST_LED_PIN,(100*i),(100*i));
led_on_off(FIRST_LED_PIN,(100*i),(100*i));
}
for (int i=1;i<=5;i++)
{
led_on_off(FIRST_LED_PIN,200*(i+1),100*(i+1));
led_on_off(FIRST_LED_PIN,(100*i),100*(i+1));
led_on_off(FIRST_LED_PIN,(100*i),100*(i+1));
led_on_off(FIRST_LED_PIN,(100*i),100*(i+1));
led_on_off(FIRST_LED_PIN,200*(i+1),100*(i+1));
}
delay(500);
int cnt=6;
for (int i=1;i<cnt;i++)
{
led_on_off(FIRST_LED_PIN,(100*cnt)-(100*i),(100*cnt)-(100*i));
led_on_off(FIRST_LED_PIN,(100*cnt)-(100*i),(100*cnt)-(100*i));
led_on_off(FIRST_LED_PIN,(100*cnt)-(100*i),(100*cnt)-(100*i));
}
for (int i=0;i<3;i++)
{
led_on_off(FIRST_LED_PIN,100,100);
led_on_off(FIRST_LED_PIN,100,100);
led_on_off(FIRST_LED_PIN,100,100);
}
led_on_off(FIRST_LED_PIN,1500,250);
for (int i=1;i<cnt;i++)
{
led_on_off(FIRST_LED_PIN,100,100);
led_on_off(FIRST_LED_PIN,100,100);
led_on_off(FIRST_LED_PIN,100,100);
}
led_on_off(FIRST_LED_PIN,2000,250);
for (int i=1;i<cnt;i++)
{
led_on_off(FIRST_LED_PIN,(100*i),(100*i));
led_on_off(FIRST_LED_PIN,(100*i),(100*i));
led_on_off(FIRST_LED_PIN,(100*i),(100*i));
}
led_on_off(FIRST_LED_PIN,2000,250);
led_on_off(FIRST_LED_PIN,1000,250);
led_on_off(FIRST_LED_PIN,500,250);
}
Фьюзы никакие не трогал, все по умолчанию в т.ч. частота.
Мне кажется гирлянда в итоге получилось гораздо лучше чем была, хотя бы какое-то разнообразие.
Стоимость апгрейда копеечная — тинька (последний раз брал года 2 назад рублей по 25-30, кажется), транзистор (bc517 500ma max) и резистор (220r подбирал от большего к меньшего по выходному току, с учетом того чтобы порт мк не выжечь).
Самое сложное было запихать это в мелкий корпус без переделок.
Небольшое видео работы
Минусы доработки
1 канал — побоялся что не запихну 2 транзистора и 2 резистора в очень ограниченное пространство, а так же не хотелось резать гирлянду на части
скудные эффекты — ну не мастер я придумывать как весело поморгать :) — жду ваши идеи предложения!
делал с рандомом — код вышел больше 2кб в 13ю — никак :(
п.с. засовывать в такую гирлянду attiny85 рука не повернулась
Планирую купить+8Добавить в избранноеОбзор понравился+51
+69
По формуле тока базы, используя коэф. усиления тр-ра. ===============Ладно, мне всё равно скучно и нечего делать===============
Ну вот на глаз прикинул: у вашего bc547 h12 от 90 в худшем случае. Ток вы написали, что гирлянда потребляет в пике 180мА, плюс через переход ещё упадёт 0,6-0,8В, ещё меньше, для запаса возьмём расчётный максимальнонеобходимый ток 200мА. Делим его на самый хреновый h12, получаем необходимость пропускать 2.2(2)мА через базу. Используем законы ома и знание, что переход отнимает у нас около 0.7В получаем, что при питании 3В нам хватит резистора в 1кОм. При этом на нём будет выделяться 5мВт тепла, вместо 24мВт в вашем случае. Да, экономия вышла более чем скромная моим первым прикидкам, не привык иметь дела с такими малыми напряжениями.
что-то я видимо сделал одно, написал другое
у меня лежали bc547 и bc517
должен был поставить все таки 517 т.к. у него 0.5а
у меня еще на столе остался комплекты под остальные гирлянды — замерю, спасибо
питание да 3в+- 2АА батареи
Нижнее белье, нижнее белье… Кто-то обзоры белья «проматывает» ради «результата на теле», а я вот подобного плана тоже. Не в обиду, а к тому, что в этом не особо смыслю, но результат одобряю)
Сам давно порываюсь собрать шилд под прошивку, да все думаю — пока дойдет все, уже забуду что хотел, так с макеткой и пляшу. В очередной раз подтолкнули меня к нормальной доделке, пост схоронил, спасибо =)
Еще вопрос как понимающему человеку, вот это для чего? Шилд под прошивку или для проверки работы залитого скетча? Смутил микро USB разъем и дополнительные элементы на плате. (я сам мало в этом понимаю, только ардуинкой на макетке и заливал по инструкции)
А вот это называется Digispark — модуль, который можно использовать в подобных проектах и программировать прямо из Arduino IDE. И что то мне подсказывает, что используя другую среду можно было в этот объем памяти запихать побольше эффектов.
Ссылка не на digispark
К тому же он идет на тиньке85 в которой 8кб памяти, в отличие от тиньки13 где 1кб.
Конечно туда войдет больше эффектов.
В 13 только на прямом доступе к портам и регистрам можно больше впихнуть. Ты попробуй поймешь насколько это геморно.
Но РАЗМЕР!!! или голый мк или куча обвеса который в конечном устройстве не нужен
Я шью тиньку из arduino ide через самодельный шилд
Digispark встраивать куда то неудобно и лишнего много, а тут голый мк.
Вот дижиспарк
Digispark kickstarter ATTINY85 модуль для Arduino развития борту usb s.aliexpress.com/RreAVZba
И вот 2й вариант
Digispark kickstarter Micro ATTINY85 модуль для Arduino развития борту usb s.aliexpress.com/vYbMvaYR
Там нет микросхемы для прошивки
Скорее это просто шилд к которому можно зацепить программатор (8 пинов справа от мк) типа такого s.aliexpress.com/RnquIBzA
Зачем там микро усб я не понял
Все равно не удобно. Надо на быстрых зажимах zip socket кажись называется как у меня
Там нет микросхемы для прошивки
Скорее это просто шилд к которому можно зацепить программатор (8 пинов справа от мк) типа такого s.aliexpress.com/RnquIBzA
Зачем там микро усб я не понял
Все равно не удобно. Надо на быстрых зажимах zip socket кажись называется как у меня
Сделай как у меня там 5 проводов спаять и зип сокет
Несколько лет уже пользуюсь доволен крайне ;)
Если надо фото кину как на уно стоит
Спасибо, вот из за юсби и затупил ) ну Ваш вариант будет практичнее конечно, просто думал, может у него снизу на плате еще чего есть и можно шить уже в таком виде, подключая к компу, а не к ардуинке.
;))) поморгать хватает, но ведь хочется эффектов веселеньких ;)
Рандома какого-то
Ладно уж за тини13 стремать не стоит
Я тут статью видел по продвижению intel galileo там один америкос использовал ее для обработки сигнала с pirа чтобы зажечь дидную лампу
Вот это #####
~100$ вложить в такое
И главное доволен как лось типа смотрите какое чудо я сделад на галилео. Могет!!!
Там по идее мк вообще нафиг не нужен, а если хочется какой то логики то тинька13 покроет ее за глаза
Где ардуино?
Голый мк, причем древний и оооочень малопроизводительный, но на удивление даже сейчас покрывает много простых задач аатоматизации
Сейчас, видимо по незнаю, люди называют мк которые ставят в платы arduino. Но это просто мк, а ардуино это как бы платформа.
Причем очень хороший ход в плане создания сообщества и распространения мк в массы. Взять к примеру ту же атмегу328 которая в уно/мини и прочих. Да мк хорош, но пока не появилось сообщество ардуинщиков его использовали только спецы которые писали жостко на асме и сях с прямой работой с портаии и регистрами — это не просто. Сейчас любой человек может взять ардуино подключить по усб в комп и за пару минут нарисовать программу которая будет работать так же как у спецов которые потратили, к примеру, несколько дней на ее разработку.
А в чем писать выбор каждого
Можно хоть в блокноте а заливать через avrdude
Можно было и не заморачиваться с контроллёром, а просто заменить диоды автоматически переливающимися всеми цветами радуги. Всего за 99 центов — ebay.com/itm/381374573296
;)))
Это уже проще сделать новую на 3-4 канала на другом мк
У меня лежат такие диоды — они просто переливаются
Имеет смысл взять часть так называемых fast flashing и low flashing и их как-то чередовать
Кстати спасибо что напомнилм про них;)
800кб на random ?!?!
Вам точно для мигания светодиодом рандом нужен криптографического качества?
Простого LFSR для этой задачи более чем достаточно: никто не обратит внимание, что через несколько миллионов итераций последовательность вспышек повторяется :) инитить можно шумом с ацп. Или просто константой: ну будет каждый раз послн вкл одинаковую последовательность мигать, и что?
Сотни байт на это хватит с головой
«Скучная» гирлянда, напомнила один древний анекдот:
Грустный мужик заходит в магазин:
— Здравствуйте, вы меня помните? Я у вас вчера шарики покупал.
— Узнаю. Вам ещё шариков?
— Нет. Я к вам с жалобой — они бракованные.
— В чём дело — воздух не держат?
— Да нет, с этим всё в порядке.
— А что тогда?
— Не радуют они меня…
скудные эффекты — ну не мастер я придумывать как весело поморгать :) — жду ваши идеи предложения!
Небольшой спойлер: делаю управление умными диодами на nodemcu/arduino, если успею за неделю-полторы — выложу обзор и скетч. Но на таких светодиодах, как у вас, гирлянда и будет скучной… Возможно вам имеет смысл присмотреться к чему-то более веселому, например к APA106 F8. Никаких резисторов или доп. микросхем для управления отдельными диодами не требуется: все что нужно уже встроено внутрь. По сути это аналог ws2812, только в другом исполнении. На все про все — 3 провода. Один для управления последовательно соединенными диодами, и еще по двум подаем питание от 3.3 до 5 вольт.
мк все равно нужен будет чтобы подавать сигнал какой диод зажигать и т.д.
и уверен что код в тиньку13 не велезет
и цена пока конечно конь 5мм 10 шт $6.78 дорого
но за инфо спасибо
Насчет контроллера вы правы — для управления нужно генерить правильную последовательность импульсов, в ардуине для этого используется библиотека NeoPixel и там много чего сделано на асме. Насчет ценника — мне 50 штук F8 обошлись в 16 баксов. Это уже конечно не 7 баксов за десяток, но тоже не мало. Ценник кусачий:( Но штучка-то красивая!
тут уже имеет смысл поискать на таобао: я бы ожидал цен порядка (условно) $8/50шт, $16/100шт + $5 за всё остальное (доставка по Китаю, посреднику, доставка сюда) — товар-то лёгкий и малогабаритный
Глянул по-быстрому на таобао, нашел предложение 108$ за тысячу штук. Ощутимо дешевле, чем на али за такое же количество — по моей ссылке тысяча стоит 198 баксов.
При свободном месте 1см2 я знаю что еще можно кроме тиньки впихнуть. Есп нервно курит в сторонке ;)
Неопиксель видел на про мини юзал когда делал аналог амбилайта
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Отлично!
Резюк 0.125вт
===============Ладно, мне всё равно скучно и нечего делать===============Ну вот на глаз прикинул: у вашего bc547 h12 от 90 в худшем случае. Ток вы написали, что гирлянда потребляет в пике 180мА, плюс через переход ещё упадёт 0,6-0,8В, ещё меньше, для запаса возьмём расчётный максимальнонеобходимый ток 200мА. Делим его на самый хреновый h12, получаем необходимость пропускать 2.2(2)мА через базу. Используем законы ома и знание, что переход отнимает у нас около 0.7В получаем, что при питании 3В нам хватит резистора в 1кОм. При этом на нём будет выделяться 5мВт тепла, вместо 24мВт в вашем случае. Да, экономия вышла более чем скромная моим первым прикидкам, не привык иметь дела с такими малыми напряжениями.
У меня 220 Ом
1 кОм много
Ставил больше 220 — на выходе было 50-80 ма потребление
у меня лежали bc547 и bc517
должен был поставить все таки 517 т.к. у него 0.5а
у меня еще на столе остался комплекты под остальные гирлянды — замерю, спасибо
питание да 3в+- 2АА батареи
www.chipdip.ru/product/bc517/
bc517g 1a
www.promelec.ru/catalog/4/215/220/0/37333/#37333
Еще вопрос как понимающему человеку, вот это для чего? Шилд под прошивку или для проверки работы залитого скетча? Смутил микро USB разъем и дополнительные элементы на плате. (я сам мало в этом понимаю, только ардуинкой на макетке и заливал по инструкции)
К тому же он идет на тиньке85 в которой 8кб памяти, в отличие от тиньки13 где 1кб.
Конечно туда войдет больше эффектов.
В 13 только на прямом доступе к портам и регистрам можно больше впихнуть. Ты попробуй поймешь насколько это геморно.
Но РАЗМЕР!!! или голый мк или куча обвеса который в конечном устройстве не нужен
Я шью тиньку из arduino ide через самодельный шилд
Digispark встраивать куда то неудобно и лишнего много, а тут голый мк.
Вот дижиспарк
Digispark kickstarter ATTINY85 модуль для Arduino развития борту usb
s.aliexpress.com/RreAVZba
И вот 2й вариант
Digispark kickstarter Micro ATTINY85 модуль для Arduino развития борту usb
s.aliexpress.com/vYbMvaYR
Скорее это просто шилд к которому можно зацепить программатор (8 пинов справа от мк) типа такого
s.aliexpress.com/RnquIBzA
Зачем там микро усб я не понял
Все равно не удобно. Надо на быстрых зажимах zip socket кажись называется как у меня
Скорее это просто шилд к которому можно зацепить программатор (8 пинов справа от мк) типа такого
s.aliexpress.com/RnquIBzA
Зачем там микро усб я не понял
Все равно не удобно. Надо на быстрых зажимах zip socket кажись называется как у меня
Сделай как у меня там 5 проводов спаять и зип сокет
Несколько лет уже пользуюсь доволен крайне ;)
Если надо фото кину как на уно стоит
Страшно представить, что будет через десять лет. Покупаешь хлеб, а там… ардруно!
Рандома какого-то
Ладно уж за тини13 стремать не стоит
Я тут статью видел по продвижению intel galileo там один америкос использовал ее для обработки сигнала с pirа чтобы зажечь дидную лампу
Вот это #####
~100$ вложить в такое
И главное доволен как лось типа смотрите какое чудо я сделад на галилео. Могет!!!
Там по идее мк вообще нафиг не нужен, а если хочется какой то логики то тинька13 покроет ее за глаза
Голый мк, причем древний и оооочень малопроизводительный, но на удивление даже сейчас покрывает много простых задач аатоматизации
Сейчас, видимо по незнаю, люди называют мк которые ставят в платы arduino. Но это просто мк, а ардуино это как бы платформа.
Причем очень хороший ход в плане создания сообщества и распространения мк в массы. Взять к примеру ту же атмегу328 которая в уно/мини и прочих. Да мк хорош, но пока не появилось сообщество ардуинщиков его использовали только спецы которые писали жостко на асме и сях с прямой работой с портаии и регистрами — это не просто. Сейчас любой человек может взять ардуино подключить по усб в комп и за пару минут нарисовать программу которая будет работать так же как у спецов которые потратили, к примеру, несколько дней на ее разработку.
А в чем писать выбор каждого
Можно хоть в блокноте а заливать через avrdude
Но ты согласись что хоть какая-то то динамика лучше статики
а эту статейку не смотрели?
28 октября 2014 Электронный «шар судьбы» на ATtiny13
Это уже проще сделать новую на 3-4 канала на другом мк
У меня лежат такие диоды — они просто переливаются
Имеет смысл взять часть так называемых fast flashing и low flashing и их как-то чередовать
Кстати спасибо что напомнилм про них;)
Вам точно для мигания светодиодом рандом нужен криптографического качества?
Простого LFSR для этой задачи более чем достаточно: никто не обратит внимание, что через несколько миллионов итераций последовательность вспышек повторяется :) инитить можно шумом с ацп. Или просто константой: ну будет каждый раз послн вкл одинаковую последовательность мигать, и что?
Сотни байт на это хватит с головой
en.wikipedia.org/wiki/Linear_congruential_generator
50в 3а
50 ШТ. SI2310 SI2310DS SI2310BDS SOT23 Оригинальные аутентичные и новый Бесплатная Доставка IC
https://aliexpress.com/item/item/32757683370/32757683370.html
(from AliExpress Android)
1.93$
__----------------------
пс. когда делал радио на attiny13 бился в коде за каждый байт.
Грустный мужик заходит в магазин:
— Здравствуйте, вы меня помните? Я у вас вчера шарики покупал.
— Узнаю. Вам ещё шариков?
— Нет. Я к вам с жалобой — они бракованные.
— В чём дело — воздух не держат?
— Да нет, с этим всё в порядке.
— А что тогда?
— Не радуют они меня…
Небольшой спойлер: делаю управление умными диодами на nodemcu/arduino, если успею за неделю-полторы — выложу обзор и скетч. Но на таких светодиодах, как у вас, гирлянда и будет скучной… Возможно вам имеет смысл присмотреться к чему-то более веселому, например к APA106 F8. Никаких резисторов или доп. микросхем для управления отдельными диодами не требуется: все что нужно уже встроено внутрь. По сути это аналог ws2812, только в другом исполнении. На все про все — 3 провода. Один для управления последовательно соединенными диодами, и еще по двум подаем питание от 3.3 до 5 вольт.
и уверен что код в тиньку13 не велезет
и цена пока конечно конь 5мм 10 шт $6.78 дорого
но за инфо спасибо
Неопиксель видел на про мини юзал когда делал аналог амбилайта
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.