Скучная новогодняя гирлянда


И вот очередной новый год на носу.
Снега в этому году море.
Пора доставать снегокат дочкам.
В прошлом году взял им для украшения снегоката несколько гирлянд на батарейках (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);
}


Фьюзы никакие не трогал, все по умолчанию в т.ч. частота.

Шил по этой статье geektimes.ru/post/254970/

Для себя давно спаял шилд для Uno.


Получилась практичная, годная вещь.

Мне кажется гирлянда в итоге получилось гораздо лучше чем была, хотя бы какое-то разнообразие.
Стоимость апгрейда копеечная — тинька (последний раз брал года 2 назад рублей по 25-30, кажется), транзистор (bc517 500ma max) и резистор (220r подбирал от большего к меньшего по выходному току, с учетом того чтобы порт мк не выжечь).
Самое сложное было запихать это в мелкий корпус без переделок.
Небольшое видео работы



Минусы доработки
1 канал — побоялся что не запихну 2 транзистора и 2 резистора в очень ограниченное пространство, а так же не хотелось резать гирлянду на части
скудные эффекты — ну не мастер я придумывать как весело поморгать :) — жду ваши идеи предложения!
делал с рандомом — код вышел больше 2кб в 13ю — никак :(
п.с. засовывать в такую гирлянду attiny85 рука не повернулась
Планирую купить +8 Добавить в избранное +51 +69
+
avatar
  • svshamr
  • 10 декабря 2016, 16:40
+5
Наши руки не для скуки!
Отлично!
+
avatar
  • sssok6
  • 10 декабря 2016, 17:12
+1
Круто
+
avatar
0
резистор (220r подбирал от большего к меньшего по выходному току, с учетом того чтобы порт мк не выжечь).
А подобрали бы по уму, могли бы экономить до 10% энергии тупо на тепле.
+
avatar
  • 086dx66
  • 10 декабря 2016, 20:48
0
По какой формуле считать?
Резюк 0.125вт
+
avatar
+3
По формуле тока базы, используя коэф. усиления тр-ра.
===============Ладно, мне всё равно скучно и нечего делать===============
Ну вот на глаз прикинул: у вашего bc547 h12 от 90 в худшем случае. Ток вы написали, что гирлянда потребляет в пике 180мА, плюс через переход ещё упадёт 0,6-0,8В, ещё меньше, для запаса возьмём расчётный максимальнонеобходимый ток 200мА. Делим его на самый хреновый h12, получаем необходимость пропускать 2.2(2)мА через базу. Используем законы ома и знание, что переход отнимает у нас около 0.7В получаем, что при питании 3В нам хватит резистора в 1кОм. При этом на нём будет выделяться 5мВт тепла, вместо 24мВт в вашем случае. Да, экономия вышла более чем скромная моим первым прикидкам, не привык иметь дела с такими малыми напряжениями.
+
avatar
  • 086dx66
  • 11 декабря 2016, 06:31
0
Что-то не то
У меня 220 Ом
1 кОм много
Ставил больше 220 — на выходе было 50-80 ма потребление
+
avatar
+1
Расковыряли сопли чтобы проверить это? Замерьте-ка реальный коэф.усиления тока через мультиметр.
+
avatar
0
Не разводите дискуссию. У этого транзюка 100мА максимум ток коллектора. Он за пределами режима, да еще и 3 вольта всего питание.
+
avatar
0
Ох, ять, проглядел.
+
avatar
  • 086dx66
  • 13 декабря 2016, 10:17
0
что-то я видимо сделал одно, написал другое
у меня лежали bc547 и bc517
должен был поставить все таки 517 т.к. у него 0.5а
у меня еще на столе остался комплекты под остальные гирлянды — замерю, спасибо
питание да 3в+- 2АА батареи
+
avatar
0
Ух, 517ый это дарлингтоновская сборка, резистор можно поставить очень большого номинала. И он на 1А.
+
avatar
  • 086dx66
  • 13 декабря 2016, 19:19
0
+
avatar
+3
Нижнее белье, нижнее белье… Кто-то обзоры белья «проматывает» ради «результата на теле», а я вот подобного плана тоже. Не в обиду, а к тому, что в этом не особо смыслю, но результат одобряю)
+
avatar
0
По-моему, в обзорах нижнего белья в комментах самый сок:))
+
avatar
0
Угум-с. Девченкам там морали читают только так)
+
avatar
  • ResSet
  • 10 декабря 2016, 18:51
0
Сам давно порываюсь собрать шилд под прошивку, да все думаю — пока дойдет все, уже забуду что хотел, так с макеткой и пляшу. В очередной раз подтолкнули меня к нормальной доделке, пост схоронил, спасибо =)
Еще вопрос как понимающему человеку, вот это для чего? Шилд под прошивку или для проверки работы залитого скетча? Смутил микро USB разъем и дополнительные элементы на плате. (я сам мало в этом понимаю, только ардуинкой на макетке и заливал по инструкции)
+
avatar
  • marsel67
  • 10 декабря 2016, 19:57
0
А вот это называется Digispark — модуль, который можно использовать в подобных проектах и программировать прямо из Arduino IDE. И что то мне подсказывает, что используя другую среду можно было в этот объем памяти запихать побольше эффектов.
+
avatar
  • 086dx66
  • 10 декабря 2016, 20:08
+2
Ссылка не на 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
+
avatar
  • 086dx66
  • 10 декабря 2016, 20:13
0
Там нет микросхемы для прошивки
Скорее это просто шилд к которому можно зацепить программатор (8 пинов справа от мк) типа такого
s.aliexpress.com/RnquIBzA
Зачем там микро усб я не понял

Все равно не удобно. Надо на быстрых зажимах zip socket кажись называется как у меня
+
avatar
  • 086dx66
  • 10 декабря 2016, 20:18
0
Там нет микросхемы для прошивки
Скорее это просто шилд к которому можно зацепить программатор (8 пинов справа от мк) типа такого
s.aliexpress.com/RnquIBzA
Зачем там микро усб я не понял

Все равно не удобно. Надо на быстрых зажимах zip socket кажись называется как у меня

Сделай как у меня там 5 проводов спаять и зип сокет
Несколько лет уже пользуюсь доволен крайне ;)
Если надо фото кину как на уно стоит
+
avatar
  • ResSet
  • 10 декабря 2016, 22:37
0
Спасибо, вот из за юсби и затупил ) ну Ваш вариант будет практичнее конечно, просто думал, может у него снизу на плате еще чего есть и можно шить уже в таком виде, подключая к компу, а не к ардуинке.
+
avatar
  • 086dx66
  • 11 декабря 2016, 10:24
0
Я тоже года 2 назад так подумал когда ее увидел. Но фотт с другой стороны все прояснили
+
avatar
  • snows93
  • 10 декабря 2016, 23:05
0
Опять ардруно.
Страшно представить, что будет через десять лет. Покупаешь хлеб, а там… ардруно!
+
avatar
+1
Им 1Кб не хватает в тиньке чтобы светодиодами поморгать! Ой рукалицо!
+
avatar
  • abyrwalg
  • 11 декабря 2016, 02:02
0
хороший рэндом — функция дорогаая! здесь более чем достаточно простецкой; готовую сами можете предложить?
+
avatar
  • 086dx66
  • 11 декабря 2016, 06:47
0
;))) поморгать хватает, но ведь хочется эффектов веселеньких ;)
Рандома какого-то
Ладно уж за тини13 стремать не стоит
Я тут статью видел по продвижению intel galileo там один америкос использовал ее для обработки сигнала с pirа чтобы зажечь дидную лампу
Вот это #####
~100$ вложить в такое
И главное доволен как лось типа смотрите какое чудо я сделад на галилео. Могет!!!
Там по идее мк вообще нафиг не нужен, а если хочется какой то логики то тинька13 покроет ее за глаза
+
avatar
  • 086dx66
  • 11 декабря 2016, 06:40
+2
Где ардуино?
Голый мк, причем древний и оооочень малопроизводительный, но на удивление даже сейчас покрывает много простых задач аатоматизации
Сейчас, видимо по незнаю, люди называют мк которые ставят в платы arduino. Но это просто мк, а ардуино это как бы платформа.
Причем очень хороший ход в плане создания сообщества и распространения мк в массы. Взять к примеру ту же атмегу328 которая в уно/мини и прочих. Да мк хорош, но пока не появилось сообщество ардуинщиков его использовали только спецы которые писали жостко на асме и сях с прямой работой с портаии и регистрами — это не просто. Сейчас любой человек может взять ардуино подключить по усб в комп и за пару минут нарисовать программу которая будет работать так же как у спецов которые потратили, к примеру, несколько дней на ее разработку.

А в чем писать выбор каждого
Можно хоть в блокноте а заливать через avrdude
+
avatar
0
Дети радуются на какой-то минуте-секунде (за кадром). Это твоему творению? ;-)
+
avatar
  • 086dx66
  • 11 декабря 2016, 06:41
+1
На этом видео нет
Но ты согласись что хоть какая-то то динамика лучше статики
+
avatar
  • abyrwalg
  • 11 декабря 2016, 01:38
0
ещё ж целых писят шесть байт осталось на массивчик (и его обработку), из которого можно брать псевдослучайную последовательность

а эту статейку не смотрели?
28 октября 2014 Электронный «шар судьбы» на ATtiny13
+
avatar
  • virus_59
  • 11 декабря 2016, 01:47
+2
Можно было и не заморачиваться с контроллёром, а просто заменить диоды автоматически переливающимися всеми цветами радуги. Всего за 99 центов — ebay.com/itm/381374573296
+
avatar
  • 086dx66
  • 11 декабря 2016, 06:27
0
;)))
Это уже проще сделать новую на 3-4 канала на другом мк
У меня лежат такие диоды — они просто переливаются
Имеет смысл взять часть так называемых fast flashing и low flashing и их как-то чередовать
Кстати спасибо что напомнилм про них;)
+
avatar
  • Zolg
  • 11 декабря 2016, 09:11
0
800кб на random ?!?!
Вам точно для мигания светодиодом рандом нужен криптографического качества?
Простого LFSR для этой задачи более чем достаточно: никто не обратит внимание, что через несколько миллионов итераций последовательность вспышек повторяется :) инитить можно шумом с ацп. Или просто константой: ну будет каждый раз послн вкл одинаковую последовательность мигать, и что?
Сотни байт на это хватит с головой
+
avatar
  • 086dx66
  • 11 декабря 2016, 09:28
0
Можете пример выложить?
+
avatar
+1
Ленивые люди пошли, однако. Сложно поискать самому?
en.wikipedia.org/wiki/Linear_congruential_generator
+
avatar
  • Anathema
  • 11 декабря 2016, 09:15
0
вот тут мигает, правда чуть дороже. на плате одна деталька в корпусе to-92, некий hr706
+
avatar
  • 086dx66
  • 11 декабря 2016, 09:27
0
Спасибо за инфо почитаем что это такое
+
avatar
+1
заказал n полевики в Китае для подобных поделок.
50в 3а
50 ШТ. SI2310 SI2310DS SI2310BDS SOT23 Оригинальные аутентичные и новый Бесплатная Доставка IC
aliexpress.com/item/32757683370/32757683370.html
(from AliExpress Android)

1.93$
__----------------------

пс. когда делал радио на attiny13 бился в коде за каждый байт.
+
avatar
  • bakinec
  • 11 декабря 2016, 11:42
+1
«Скучная» гирлянда, напомнила один древний анекдот:
Грустный мужик заходит в магазин:
— Здравствуйте, вы меня помните? Я у вас вчера шарики покупал.
— Узнаю. Вам ещё шариков?
— Нет. Я к вам с жалобой — они бракованные.
— В чём дело — воздух не держат?
— Да нет, с этим всё в порядке.
— А что тогда?
— Не радуют они меня…
+
avatar
0
Плюсик за обзор!
скудные эффекты — ну не мастер я придумывать как весело поморгать :) — жду ваши идеи предложения!
Небольшой спойлер: делаю управление умными диодами на nodemcu/arduino, если успею за неделю-полторы — выложу обзор и скетч. Но на таких светодиодах, как у вас, гирлянда и будет скучной… Возможно вам имеет смысл присмотреться к чему-то более веселому, например к APA106 F8. Никаких резисторов или доп. микросхем для управления отдельными диодами не требуется: все что нужно уже встроено внутрь. По сути это аналог ws2812, только в другом исполнении. На все про все — 3 провода. Один для управления последовательно соединенными диодами, и еще по двум подаем питание от 3.3 до 5 вольт.
+
avatar
  • 086dx66
  • 11 декабря 2016, 13:46
0
мк все равно нужен будет чтобы подавать сигнал какой диод зажигать и т.д.
и уверен что код в тиньку13 не велезет
и цена пока конечно конь 5мм 10 шт $6.78 дорого
но за инфо спасибо
+
avatar
0
Насчет контроллера вы правы — для управления нужно генерить правильную последовательность импульсов, в ардуине для этого используется библиотека NeoPixel и там много чего сделано на асме. Насчет ценника — мне 50 штук F8 обошлись в 16 баксов. Это уже конечно не 7 баксов за десяток, но тоже не мало. Ценник кусачий:( Но штучка-то красивая!
+
avatar
  • abyrwalg
  • 11 декабря 2016, 14:48
0
тут уже имеет смысл поискать на таобао: я бы ожидал цен порядка (условно) $8/50шт, $16/100шт + $5 за всё остальное (доставка по Китаю, посреднику, доставка сюда) — товар-то лёгкий и малогабаритный
+
avatar
0
Глянул по-быстрому на таобао, нашел предложение 108$ за тысячу штук. Ощутимо дешевле, чем на али за такое же количество — по моей ссылке тысяча стоит 198 баксов.
+
avatar
  • 086dx66
  • 11 декабря 2016, 20:16
0
При свободном месте 1см2 я знаю что еще можно кроме тиньки впихнуть. Есп нервно курит в сторонке ;)
Неопиксель видел на про мини юзал когда делал аналог амбилайта