Компонент Adafruit NeoPXL8 FeatherWing
С тех пор как мы впервые начали использовать NeoPixels в 2012 году, цепные RGB-светодиоды завоевали весь мир. И большая часть этого успеха обусловлена простотой их подключения — всего один провод передачи данных, независимо от того, сколько у вас пикселей. Поэтому неудивительно, что они повсюду, мелькают на художественных выставках, демонстрациях maker faire, стендах ди-джеев, декорациях и костюмах.
Но в какой-то момент каждый пользователь Neopixel’a сталкивается с ограничениями этого единственного канала передачи данных: выбор времени очень требователен, и часто вашему коду приходится полностью останавливаться, чтобы он мог выдавать данные без каких-либо перерывов. Это требование затрудняет создание быстро обновляемых световых эффектов и ограничивает количество пикселей, которые вы можете управлять, прежде чем другие аппаратные периферийные устройства привлекут внимание.
Резидент pixel-pro Paint Your Dragon (который придумал название NeoPixel dont-cha-know!) принял этот вызов и блестяще преуспел. Внимательно изучив спецификацию ATSAMD21, он заметил, что вы могли бы использовать таймер 0 в режиме «форма сигнала» и создать 8 уникальных форм сигнала через DMA, которые обрабатывали бы все пиксельные изменения за вас.
Так родилась библиотека NeoPXL8 Arduino и NeoPXL8 Featherwing! Библиотека работает на наших устройствах Feather M0 (базовый Proto, Adalogger, Bluefruit, Express и других) и обрабатывает все функции неопикселирования за вас, до 8 потоков одновременного вывода DMA, каждый из которых может иметь длину 250 пикселей, в общей сложности 8 x 250 = 2000 пикселей. Это также оставляет вам немного оперативной памяти для запуска вашего кода — теоретический максимум составляет 340 пикселей на строку, но вы бы использовали всю оперативную память на чипе M0.
Чтобы упростить подключение, это устройство Featherwing выполняет за вас переключение уровней и расположение штифтов. Все 8 цепей имеют регулятор уровня, который преобразует логический уровень 3,3 В в логический уровень 5 В, есть небольшой преобразователь с переключателем-колпачком, который генерирует чистый источник питания 5 В для вас. Затем резистор на 100 Ом, подключенный к линии после буфера, уменьшает звон при длительных проводках.
Печатная плата
Схема
Список пинов
Пин | Тип |
---|---|
NEO3 | мама |
NEO3 | папа |
NEO2 | мама |
NEO2 | папа |
NEO1 | папа |
NEO1 | мама |
NEO0 | мама |
NEO0 | папа |
RESET | папа |
RESET | мама |
3.3V | папа |
3.3V | мама |
AREF | мама |
AREF | папа |
GND | мама |
GND | мама |
GND | мама |
GND | мама |
GND | мама |
GND | мама |
GND | мама |
GND | мама |
GND | папа |
GND | папа |
GND | папа |
GND | папа |
GND | папа |
GND | папа |
GND | папа |
GND | папа |
GND | папа |
GND | мама |
A0 | мама |
A0 | папа |
A1 | мама |
A1 | папа |
A2 | мама |
A2 | папа |
A3 | папа |
A3 | мама |
A4 | папа |
A4 | мама |
A5 | мама |
A5 | папа |
SCK | папа |
SCK | мама |
MOSI | папа |
MOSI | мама |
MISO | мама |
MISO | папа |
RX | папа |
RX | мама |
TX | папа |
TX | мама |
G | мама |
G | папа |
VBAT | папа |
VBAT | мама |
EN | мама |
EN | папа |
USB | папа |
USB | мама |
D13 | мама |
D13 | папа |
D12 | папа |
D12 | мама |
D11 | мама |
D11 | папа |
D10 | папа |
D10 | мама |
D9 | мама |
D9 | папа |
D6 | мама |
D6 | папа |
D5 | мама |
D5 | папа |
SCL | мама |
SCL | папа |
SDA | мама |
SDA | папа |
NEO4 | мама |
NEO4 | папа |
NEO5 | папа |
NEO5 | мама |
NEO6 | мама |
NEO6 | папа |
NEO7 | папа |
NEO7 | мама |
Мне очень важно получать обратную связь. Пожалуйста, оцените материал. Так я пойму в какую сторону его стоит изменить.