Футболка El Tricolor Tour (черная) – Los Bukis
Перейти к информации о продукте
1
/
из
3
Лос Букис
- Обычная цена
30,00 долларов США
- Обычная цена
-
0,00 долларов США
- Цена продажи
30,00 долларов США
- Цена за единицу
/
за
Распродажа
Распроданный
Размер
Маленький
Середина
Большой
X-большой
2Х
3X
Варианты продукта
Маленький
— 30 долларов США.
Середина
— 30 долларов США.
Большой
— 30 долларов США.
X-большой
— 30 долларов США.
2Х
— 30 долларов США.
3X
— 30 долларов США.
Количество
Футболка
Los Bukis El Tricolor Tour (черная) изготовлена из 100% гребенного и кольцевого прядения из хлопка airlume, облегающего кроя с отрывной этикеткой.
• 100 % хлопок Airlume гребенного и кольцевого прядения
• Даты тура 2021 года указаны на спине рубашки
• Воротник и рукава прошиты
• Размер унисекс
• Боковые швы
XS | S | М | л | XL | 2X | 3X | |
Ширина груди | 16,5 дюйма | 18 дюймов | 20 дюймов | 22 дюйма | 24 дюйма | 26 дюймов | 28 дюймов |
Длина корпуса | 27 дюймов | 28 дюймов | 29 дюймов | 30 дюймов | 31 дюйм | 32 дюйма | 33 дюйма |
Официальные товары Los Bukis.
Делиться
Посмотреть все
Управление трехцветными светодиодами WS2812 (они же NeoPixels), часть 5
Изображение предоставлено Adafruit
Мы узнаем, сколько времени требуется для загрузки 100 NeoPixels.
Клайв Максфилд Максфилд | 04 августа 2022 г.
Посмотреть этот веб-семинар
Приветствую вас и добро пожаловать в часть 5 этой трилогии, которая изначально планировалась состоять из трех частей. На самом деле, я не чувствую себя слишком плохо, потому что в легендарной Трилогии Брентфорда Роберта Рэнкина оказалось одиннадцать романов. Я только хотел бы, чтобы у меня был талант Роберта с названиями, такими как Треугольник Брентфорда , к востоку от Илинга и Ростки гнева .
В части 1 мы подошли к идее светоизлучающих диодов (СИД). Во второй части мы рассмотрели концепции прямого падения напряжения ( В F ), максимального прямого тока ( I F ) и токоограничивающих резисторов. В части 3 мы познакомились с понятиями широтно-импульсной модуляции (ШИМ) и трехцветного красного, зеленого и синего (RGB) светодиодов. И совсем недавно, в части 4, мы удивили себя, наконец встретившись с трехцветными светодиодами WS2812 (также известными как NeoPixels).
Итак, нам есть о чем поговорить? Что ж, как и моя дорогая старая мама, настоящая хитрость заключается в том, чтобы заставить меня перестать говорить , так что давайте посмотрим, куда мы пойдем дальше.
Существуют различные программные библиотеки, которые мы можем использовать для управления нашими NeoPixels. Мы начнем с того, что от Adafruit, потому что, хотя он может быть и не самым сложным, его легко обдумать и использовать. Первый шаг — перейти на веб-сайт Adafruit и узнать, как загрузить и установить библиотеку. Далее, давайте внимательно изучим и обдумаем следующую программу (или «набросок» на языке Arduino).
Изображение предоставлено Клайвом «Максом» Максфилдом
Инициализация всего.
В строке 1 мы включаем библиотеку Adafruit NeoPixel. В строке 3 мы определяем количество NeoPixels в нашей строке равным 8 (на самом деле в нашем коде мы будем ссылаться на них от 0 до 7). Причина использования этого числа заключается в том, что, прежде чем мы станем намного старше, мы собираемся провести несколько простых экспериментов для запуска на 8-элементном NeoPixel Stick. В строке 5 мы объявляем целочисленную переменную с именем PinLed 9.0231, которому мы присваиваем значение 6. Это контакт, который мы собираемся использовать для управления стиком. Единственная причина, по которой мы выбрали контакт 6, заключается в том, что шесть — мое счастливое число (или оно было бы им, если бы я был суеверным).
Изображение предоставлено Adafruit
8-элементный NeoPixel Stick.
Как вы увидите, мои личные правила кодирования включают использование прописных букв с символами подчеркивания для постоянных значений. Тем временем я использую CamelCase, также известный как PascalCase, для своих переменных, при котором несколько слов соединяются без символов подчеркивания или пробелов, а первая буква каждого слова пишется с заглавной буквы. На самом деле я использую UpperCamelCase для своих глобальных переменных (самая первая буква тоже заглавная) и LowerCamelCase для своих локальных переменных (самая первая буква строчная). Я также использовал отступ в 4 пробела, и мои символы «{» выровнены по вертикали над соответствующими аналогами «}».
В строке 8 мы объявляем наш объект NeoPixel Stick. Начнем с того, что дадим ему имя, которое может быть любым, если это не зарезервированное слово или ранее объявленное что-то или другое. Обычно я использую имя Neos , но здесь вы можете свободно импровизировать. У этого определения есть три аргумента. Первый — это количество NeoPixels в строке. Второй — это штифт, который мы собираемся использовать для их привода. А третий формируется как логическое ИЛИ двух ключевых слов: NEO_GRB определяет внутренний порядок светодиодов (об этом не беспокойтесь), а NEO_KHZ800 указывает частоту загрузки 800 кГц (об этом тоже не беспокойтесь).
В строке 13 мы инициализируем наш объект NeoPixel (включая отключение всех пикселей). В строке 14 мы загружаем эти новые значения в строку NeoPixel (сейчас мы обсудим этот аспект более подробно).
Следующее, что нам нужно представить, это setPixelColor() метод. Самый простой способ окунуться в эти воды — рассмотреть следующие определения и операторы (обратите внимание, что номера строк просто дают нам ссылку и никоим образом не связаны с нашим предыдущим примером кода).
Изображение предоставлено Клайвом «Максом» Максфилдом
Различные способы ведения дел.
Я думаю, что это достаточно очевидно, но я все равно не могу удержаться от небольшого объяснения. Метод setPixelColor() , используемый в строках с 13 по 19.может принимать два или четыре аргумента. Первый аргумент указывает номер пикселя, цвет которого мы хотим изменить (помните, что в этих примерах мы принимаем строку из 8 пикселей с номерами от 0 до 7).
При желании мы можем указать цвет, который мы хотим назначить, в виде трех 8-битных значений, соответствующих красному, зеленому и синему вспомогательным светодиодам соответственно. В качестве альтернативы мы можем указать цвет как одно 24-битное значение, что обычно намного удобнее. В мире Arduino unsigned long имеет размер 32 бита, и это то, что мы используем для хранения наших 24-битных цветов (старшие 8 бит игнорируются). Я лично использую тип данных uint32_t , который — для целей этих обсуждений — мы можем считать таким же, как тип данных Arduino unsigned long .
Самое интересное. Когда мы ранее использовали метод begin() в нашей функции setup() , одна из вещей, которая произошла, заключалась в том, что массив, соответствующий 3-байтовой (24-битной) области для каждого NeoPixel в нашей строке, был создан в ОЗУ Ардуино. Когда мы используем setPixelColor() , мы фактически не меняем цвет физического NeoPixel в реальном мире; вместо этого мы изменяем цвет соответствующего виртуального NeoPixel в памяти Arduino.
Изображение предоставлено Клайвом «Максом» Максфилдом
Виртуальные и физические NeoPixels.
Только когда мы используем метод show() , содержимое массива в виртуальном мире загружается в строку в реальном мире. Когда вы перестаете думать об этом, это имеет большой смысл. Если бы нас заставляли загружать строку каждый раз, когда мы меняем цвет, связанный с одним пикселем, мы бы тратили все свое время на загрузку.