Елочка на WS2812 и ATTiny13A

402Уже на за горами новогодние праздники и душа периодически просит праздника. Душа радиолюбителя может эти праздники создавать.

В прошлом году я делал новогодние снежинки с эффектом метеора из светодиодов WS2812 и из ленты этих же светодиодов, что оказалось гораздо проще. В этом году долго ломал голову, что бы сделать, пока на глаза не попалась елочка из фикспрайса, купленная в прошлом году на сувенир.hwhtvv6j2w9ux8sux3hpw В елочке стоял трехцветный мигающий светодиод и три часовых батарейки

000

Решил, что эффект метеора или стартующей ракеты в данной елке будет неплохо смотреться. Но не Ардуину же туда ставить! Нужно что-то предельно простое и миниатюрное, работающее от батарейки. И чудо — получилось создать эффект метеора на самом младшем AVR контроллере — Attiny13. Итак, статья о том что и как получилось.

 

Использованные компоненты

Итоговый бюджет около $3

Если запитать елочку от USB Или зарядника, то не нужна схема преобразователя и держатель батареек и бюджет уменьшается до $2 — $2.5, а если найти готовую игрушку, в которую можно встроить схему, то и во все 100 руб.

Для микроконтроллера с 64 байтами!!! оперативной памяти и 1 Кбайтом флэша под программу нечего думать об использовании ардуиновских библиотек вроде NeoPixel, которые я использовал в предыдущих проектах с WS2812. Для маленьких тинек я нашел библиотеку с минимумом возможностей, написанную на ассемблере и влезающую даже в ATtiny10.

Светодиоды WS2812 очень прожорливые и яркие и работают от 5В (ну хотя бы от лития 3.7В). Поэтому никакие литиевые CR2032 И прочие в этом проекте не годятся. Использовал повышающий стабилизатор на BL8530 о котором рассказывал в этой статье. Получилось, что для экономии места можно запитать мою поделку от 1-й или 2-х батареек (АА или ААА).

Правда одного аккумулятора ААА хватает только на два часа непрерывной работы, зато двух уже на 5 часов, а одной алкалиновой батарейки АА часов на десять. Можно упростить питание и использовать литиевый аккумулятор 3.7В напрямую или 5В от USB или на худой конец три штуки ААА. Тогда преобразователь можно не делать.

Я же сделал универсальную схему для встраивания в различные елочные игрушки, макушечки и прочее.

%d1%81%d1%85%d0%b5%d0%bc%d0%b0-attiny13-1

В качестве микроконтроллера подойдет любая тинька начиная с ATtiny13A

AVR-ки я прошиваю через самодельный программатор на Arduino Nano

102

Подробнее о программировании тинек в Arduino IDE я рассказывал в этой статье.

На программаторе сразу удобно прогнать все эффекты до впаивания микроконтроллера в плату.

101

И проверять их в корпусе елочки.

403

Вырезаю на станке простейшую миниатюрную плату с монтажом на стороне меди

%d0%bf%d0%bb%d0%b0%d1%82%d0%b0

Размер платы 40х10 мм, что вполне позволяет ей замещать одну батарейку в держателе.

Лета припаивается прямо к плате либо при помощи трех проводков.

200

Загрузив программу, можно все это добро собирать вместе с елочкой

Дизайн этой платы немного другой, в корпусе DIP8 на панельке, на котором удобнее отлаживаться.

400

И вот елочка собрана

402

Эффект метеора или ракеты на ATtiny13

Полученный эффект можно посмотреть здесь

Эффект радужной волны

Прошлогоднего эффекта метеора или стартующей ракеты (в зависимости от направления) мне показалось мало и я сделал елочке эффект радужной волны.

К сожалению, оба эффекта в память ATtiny13 не влезли. Зато отлично поместились в новогодний фонарик-ночник вместе с другими эффектами и управлением по хлопку через микрофон в память ATtiny85. Но это уже совсем другая статья.

300

Скетчи, подправленная библиотека (выкинул немного кода) и чертеж платы можно взять здесь.

 

Вы можете оставить отзыв или трекбек со своего сайта.

23 комментария на «Елочка на WS2812 и ATTiny13A»

  1. Алексей, а можно то же самое, только на пять лучей на 13-й или только на ардуино?

    • Alexey Alexey:

      На 13-й тиньке больше 10 диодов не далось подключить
      Разве что всех лучей у звездочки/снежинки соединить вход данных параллельно
      А так 85-я тинька или Мега любая

  2. Алексей, у вас комменты то на русском то на инглиш

    • Alexey Alexey:

      На инглиш в основном только спам, который отсекается
      Все таки аудитория русскоязычная

  3. Игорь:

    Скажите Алексей, а у Вас нет hex файла для прошивки тиньки через usb asp?

  4. Игорь:

    Извините Алексей, забыл спросить, какие фьюзы выставлять?

    • Alexey Alexey:

      9.6МГц без делителя. BOD без разницы

      • Игорь:

        Спасибо.

        • Игорь:

          Собрал, всё работает, ещё раз спасибо. Понравился эффект метеор, подскажите какое максимальное количество пикселей потянет тинька с данным эффектом?

          • Alexey Alexey:

            15 у меня работала, 16 вставала от переполнения памяти

          • Игорь:

            А Вы прошивки на заказ делаете? Мне нужен не совсем обычный датчик движения с подсветкой на ws2812b.

          • Alexey Alexey:

            Делаю. Правда до января не возьмусь. Иного работы.
            Присылайте на E-mail что снизу странички задание. Обсудим

  5. лом:

    light_ws2812.cpp:72:5: error: #error «Light_ws2812: Sorry, the clock speed is too low. Did you set F_CPU correctly?»

    выдает при компиляции, 9.6 мгц

    • Alexey Alexey:

      Может 9.6 МГц с делением частоты?

      • лом:

        подскажите, как она у вас во boards.txt описана?

        • Alexey Alexey:


          attiny13at9m_bod.name=ATtiny13 @ 9.6MHz (internal 9.6 MHz clock, Preserve EEPROM, BOD - 2.7V )
          attiny13at9m_bod.upload.tool=arduino:avrdude
          attiny13at9m_bod.upload.using=arduino:usbtiny

          attiny13at9m_bod.bootloader.tool=arduino:avrdude
          attiny13at9m_bod.bootloader.low_fuses=0x32
          attiny13at9m_bod.bootloader.high_fuses=0xFB

          attiny13at9m_bod.upload.maximum_size=1024
          attiny13at9m_bod.upload.maximum_data_size=64
          attiny13at9m_bod.upload.speed=57600
          attiny13at9m_bod.build.mcu=attiny13
          attiny13at9m_bod.build.f_cpu=9600000
          attiny13at9m_bod.build.core=core13

      • Игорь:

        Алексей а Вы получили моё письмо? А то с этим оутлуком никак не мог разобраться.

  6. serenya:

    Алексей, можно Вас попросить исходники «фонарика с хлопком» или хотя бы подправленный hex? Хочу в елочку засунуть бесхозную digispark без микрофона и управления.

Ваш отзыв