Menu
CoddyTech

Цвета на кольце пикселей

Часть раздела Дисплеи и датчики путешествия по Arduino на Coddy. Урок 13 из 24.

В этом кольце 16 NeoPixels, подключённых к одному проводу данных. Первый пиксель передаёт остальные данные следующему, поэтому одного вызова show() достаточно, чтобы настроить их все. Их номера — от 0 до 15.

ring.Color(red, green, blue) упаковывает цвет в одно число, поэтому его можно сохранить в переменной и использовать снова. Его тип — uint32_t: целое число размером 32 бита, которое никогда не бывает отрицательным и достаточно велико, чтобы вместить все три компонента.

uint32_t purple = ring.Color(150, 0, 255);

ring.setPixelColor(3, purple);
ring.setPixelColor(7, purple);
ring.show();

Пиксель, которому не задан цвет, остаётся выключенным. Значение 255 для всех трёх компонентов даёт белый цвет.

challenge icon

Задание

Легко

Кольцо подключено к пину 6. Зажгите четыре пикселя, расположенных на четверть кольца друг от друга:

  • пиксель 0 — красный, пиксель 4 — зелёный, пиксель 8 — синий, пиксель 12 — белый
  • задайте каждый цвет с помощью ring.Color(), каждую составляющую установите в 0 или 255
  • оставьте остальные пиксели выключенными

Нажмите Run, затем Check.

Попробуйте сами

#include <Adafruit_NeoPixel.h>

// 16 пикселей, данные на выводе 6
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);

void setup() {
  ring.begin();

  // пиксель 0 — красный, 4 — зелёный, 8 — синий, 12 — белый

  ring.show();
}

void loop() {
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Дисплеи и датчики

Потренируйтесь самостоятельно: Песочница Arduino