Микроконтроллеров на базе RP2040, чипа от Raspberry Pi Foundation, становится все больше. Совсем недавно мы рассказывали о наиболее удачных экземплярах. Теперь появилась еще одна система, которая называется Pimoroni Plasma 2040.
Использовать этот микроконтроллер можно во многих проектах, но все же он заточен под одну-единственную задачу — работу с RGB светодиодами, точнее, системами светодиодов, к примеру, с NeoPixels и DotStars. Plasma 2040 работает на базе RP2040 и оснащен коннектором Stemma QT. Есть еще и специальная система клемм для простого подключения контактов светодиодов. Обо всем этом — под катом.
Кроме неплохих возможностей «железа», микроконтроллер может похвастаться и поддержкой специализированного ПО, включая библиотеку MicroPython и CircuitPython от Adafruit. Все хорошо, но что такого особенного в новинке? Ведь для управления светодиодными системами можно использовать и Raspberry Pi Pico.
Многие платы подходят для этой цели, не только микроконтроллеры от Pimoroni или Raspberry. Но все же у Pimoroni Plasma есть одна особенность — с ним взаимодействие со светодиодами становится очень простой задачей. Никаких танцев с бубном и дополнительных операций вроде подключения сопротивления или конденсатора для предотвращения повреждения светодиодов. Все, что нужно — подключить светодиоды, загрузить ПО и все. Ничего больше делать не надо.
Характеристики Pimoroni Plasma
SoC | RP2040 | |
Двухъядерный Arm Cortex M0+ процессор | ||
264KB SRAM и 2 МБ внутренней памяти | ||
GPIO | Коннектор для работы с WS2812 / NeoPixels / SK6812 и APA102 / DotStar / SK9822 RGB LEDs | |
USB C (3A max) для зарядки и данных | ||
Stemma QT | ||
Current Sensing | ||
Breakout pins for 3 x Analog inputs | ||
Отладка | ||
I2C (плюс Stemma QT) | ||
5V, 3V3 и GND | ||
3 x пользовательских линий ввода (A, B и BOOT) | ||
Размер | 50 x 28 x 12 мм |
Использование Pimoroni Plasma 2040
Здесь можно повторить сказанное выше — микроконтроллер позволяет работать со светодиодными системами без особых проблем. Нужно их подключить, загрузить код и все — цветомузыка готова. Это почти plug and play система.
Подключение контактов при помощи клемм — отличная идея. Они обеспечивают достаточно надежный контакт при подключении, да и само по себе подключение выполняется быстро.
Клеммы можно использовать для подключения светодиодов RGB APA102 (четыре провода) и WS2812 (три провода) с питанием от порта USB C до 3 А при 5 В. Используя этот источник питания и допуская 90 мА для Plasma 2040 можно обеспечить работу 48 NeoPixels на полной яркости (60 мА на светодиод). Если снизить яркость до 90%, мы теоретически можем запустить до 100 светодиодов.. Количество светодиодов, которые могут работать от источника питания 3A, зависит от яркости, цвета и используемых анимаций / рисунков. Белый — самый «неэкономный» цвет, требующий включения каждого из красных, зеленых и синих светодиодов внутри пакета NeoPixel. Если требуется запитать более длинные цепочки светодиодов RGB, потребляемый ток которых часто превышает 3 А, питание потребуется подавать напрямую через светодиоды, а не через винтовые клеммы. Просто не забудьте подключить GND внешнего источника питания к GND светодиодов RGB.
Отличное дополнение к Plasma 2040 — разъем Stemma QT, обычно используемый в платах Adafruit и SparkFun (сейчас Qwiic). Мы протестировали Plasma 2040 с платой емкостного сенсорного датчика MPR121, и все, что понадобилось — несколько строк кода и библиотека mpr121.mpy. Stemma QT лучше всего использовать с CircuitPython, но Pimoroni предлагает версию MicroPython, которая поддерживает и библиотеки CircuitPython.
DIY-электроника — весьма интересная тема, но у нас есть и другие статьи, оцените — мы рассказываем о:
→ Объединение проектов в разных дата-центрах
→ Что общего в работе заводского конвейера и микропроцессора?
→ Selectel File Storage (Beta): места много не бывает
В ходе тестирования микроконтроллера мы протестировали светодиоды WS2812, точнее, ленту из 96 светодиодов, которые показывали радугу. Затем протестировали APA102. Всего несколько минут — и эффект удалось получить тот же, что и в случае WS2812.
MicroPython, специальный релиз от Pimoroni готов к работе сразу же после прошивки образа. Начиная с версии 0.2.5, есть поддержка Plasma 2040. У нас есть достоверные сведения, что версия 0.2.6 будет включать несколько примеров использования библиотеки Plasma 2040. Мы установили версию 0.2.5 на Plasma 2040, а затем применили примеры, предоставленные Пиморони на GitHub. Все заработало сразу же.
При подключении светодиоды со 100% яркостью. Для того, чтобы регулировать этот показатель, необходимо отредактировать скрипт — в этом случае можно задать собственные параметры. Библиотека Plasma 2040 MicroPython без труда дает сделать это, являясь крайне несложной в использовании. Так, необходимо создать объект led_strip, который хранит тип светодиодов RGB, количество светодиодов в цепочке и к каким контактам они подключены. Три кнопки ввода также обрабатываются через библиотеку.
Юзкейсы Pimoroni Plasma 2040
За $18 вы приобретаете недорогую и простую в использовании плату для, к примеру, управления новогодней иллюминацией дома или для создания особой атмосферы дома. Микроконтроллер подходит как для любителей, так и для профессионалов, кто желает добавить в свои проекты элементы работы со светодиодными системами.
Наличие разъема Stemma QT означает, что Pimoroni Plasma 2040 может использоваться в научных проектах, а также проектах, которым необходимы светодиоды RGB в качестве средства отображения данных, например, светодиоды с температурным контролем.
В качестве вывода
Если вы хотите окунуться в мир светодиодов RGB, но понятия не имеете, с чего начать, то Plasma 2040 для вас. Точно так же, если вы опытный специалист в интерактивных световых инсталляциях и хотите облегчить себе работу, то эта плата — для вас. Низкая стоимость, высокий уровень надежности и отличное программное обеспечение означают, что Pimoroni Plasma 2040 будет активно использоваться ближайшие несколько лет.
Комментарии (20)
DanilinS
02.09.2021 08:29+1Использовать этот микроконтроллер можно во многих проектах, но все же он заточен под одну-единственную задачу — работу с RGB светодиодами
За 18$ мы имеем плату, основной задачей которой является мигание светодиодом. И все?! Там хотя-бы информационные линии на USB распаяны? А PD (PPS) поддерживается?
Amor-roma
02.09.2021 09:58+4Закопайте стюардессу)))
(Esp32 +ws2812) * WLED = СЧАСТЬЕ
Все остальное просто шлак.
nochkin
02.09.2021 19:10Потенциально RP2040 может прокачать больше светодиодов и в это время ещё делать что-то другое.
commanderxo
20.09.2021 16:23+1А откуда взяться данным для чего-то другого? Вот был бы там WiFi или Bluetooth, чтоб поднять веб-сервер с API и получать команды с телефона/браузера, тогда бы другое дело.
nochkin
20.09.2021 18:36WiFi/BT -- это не единственный источник данных. Они даже не во всех проектах необходимы как бы не казалось это странным в 2021-ом.
gudvinr
Это шутка что-ли?
nochkin
Всё же относительно. Но уверен, что есть такие, для кого $5 -- это уже дорого.
Bobnecat
Все же не понимаю чего хорошего в этой плате за $18?? Такое ощущение что только маркетинг..
У меня дома стоит подсветка на 100 ws2812 управляемая кастомным аналогом Arduino Pro, к которой дополнительно подсоединены PIR, LDR, BME280 и INA219 сенсоры плюс беспроводной трансивер, и все это на модуле в 5 раз дешевле.
P.S. конденсатор для предотвращения выгорания диодов должен быть желательно на 1000uF если идет расчет на использование полных мощностей и он должен находиться вблизи ленты а не на контроллере. Его во первых не видно даже нигде, во вторых это неудачных маркетинг..
nochkin
Если Arduino Pro хватает, то это хорошо. Не все же задачи умещаются в 8-битный ATMega микроконтроллер.
Некоторые задачи вообще умещаются в тиньку, но это не значит, что Arduino Pro -- ненужная и бесполезная плата.
P.S.: у меня нет такого конденсатора и светодиоды не выгорают. Почему они должны выгорать? Тем более, что лента не такая уж и большая тут.
И если он должен быть находится на ленте, то при чём тут плата микроконтроллера?
Bobnecat
Вот как-раз таки поморгать диодиками вполне хватает 8-битного контроллера, Двухъядерный Arm Cortex M0+ для этого оверкилл.
По поводу конденсатора на power линии, как и резистора на data line - это все "good practices". Почитайте любой туториал (например от Adafruit кто "изобрел" NeoPixels). Не обязательно что без них у вас ничего не будет работать.
Вопрос к маркетингу девайса, не ко мне. Если вы не читали статью, то ниже отрывок из нее, который подразумевает что про конденсатор за вас уже подумали. В теории там должен быть супер-конденссатор, которого нигде не видно на фото и вообще он должен быть не на плате а ближе к ленте, о чем я и написал выше (особенно если от платы до ленты идут длинные провода).
Многие платы подходят для этой цели, не только микроконтроллеры от Pimoroni или Raspberry. Но все же у Pimoroni Plasma есть одна особенность — с ним взаимодействие со светодиодами становится очень простой задачей. Никаких танцев с бубном и дополнительных операций вроде подключения сопротивления или конденсатора для предотвращения повреждения светодиодов.
nochkin
Я спрашивал про выгорание если нет кондёра на такую ёмкость, а не просто про "good practices" и резистор. Меня удивило выгорание. Я могу понять резистор, но не конденсатор. Мы говорим про конденсатор по питанию, верно?
И уж точно не вижу смысла именно в супер-конденсаторе ради "невыгорания". Да и "ближе к ленте" решается лентой, а не платой.
По поводу "маркетинга":
Я не знаю о каком конденсаторе речь "для предотвращения повреждения". Может, просто какой-то мелкий для подавления помех или что-то типа этого? Ведь никто не будет встраивать супер-конденсатор внутри МК для этого.
Bobnecat
Просто так "good practices" не пишутся. Если вы это не понимаете то возможно для вас будет новостью что например у Arduino Uno можно убрать большинство компонентов и она все равно будет работать и выполнять свои функции (в большинстве случаев).
Про маркетинг: Опять же, вопросы к авторам. Они упомянули про конденсатор когда его там нет и он там и не нужен (на плате). Никакие мелкие конденсаторы на линиях питания или уж тем более data не нужны кроме тех которые обычно итак встроены перед каждым диодом.
По поводу всего остального можете прочитать тут:
Ссылочка на туториал от Adafruit
https://learn.adafruit.com/adafruit-neopixel-uberguide?view=all
nochkin
Выполнять функции -- это одно. Но тут была речь о том, что выгорают светодиоды если нет супер-конденсатора. Хочу понять почему.
Пока я слышу в ответ, что это "good practice". Но я лично часто встречаю что некий "good practice" -- это очередной вредный совет, который появился из-за каких-то стереотипов или заблуждений и потом был просто слепо скопирован налево и направо.
Про конденсатор на data я ничего не говорил. Вот пример заблуждения.
madcatdev
Тоже не понял, для чего там конденсатор.
nochkin
Мало того -- в одном из комментов написано, что лучше даже супер-конденсатор поставить. Иначе светодиоды горят. Во как.
Bobnecat
Я так понял вам скучно и вы решили дое... Я не инженер и всего лишь владею той информацией которая написана в application notes к разного рода девайсам, в данном случае к NeoPixels, к которой ссылается статья. Да и не в этом была суть моего первого комментария если честно, но раз вам угодно, то я уже привел ссылочку где про это написано от первоисточника. Если у вас есть прeтензии к данного рода информации то можете адресовать их туда-же. Так-же эта тема легко гуглится (но наверное только в англоязычной среде).
Прямой текст из этой же статьи - можете спросить и у них:
nochkin
Мне было просто любопытно и потому спросил. Это не повод грубить в ответ.
На той ссылке ничего про супер-конденсатор не сказано. Или я пропустил?
eurol
Здесь всё верно. Вы приобретаете НЕДОРОГУЮ. Но она стоит 18 баксов. Может стоить и больше, и меньше. Но сама по себе она недорогая. :)