RGB светодиодная лента представляет собой длинную и гибкую печатную плату,
на которой размещаются токовые дорожки с трехцветными светодиодами и
резисторами для ограничения протекающего тока. Эти светодиодные ленты
называются RBG, потому что в них используются RGB-светодиоды
(см. RGB - светодиод). На них может быть включен
любой из цветов по отдельности, а также любой оттенок цвета за счет регулировки
яркости каждого канала цвета по отдельности, что дает возможность получить даже
белый свет.
#include "Adafruit_NeoPixel.h" // Подключаем библиотеку Adafruit NeoPixel.
#define LED_COUNT 4 // Указываем, какое количество пикселей у нашей ленты.
#define LED_PIN 11 // Указываем, к какому порту подключен вход ленты DIN.
// Создаем переменную led для управления нашей лентой.
Adafruit_NeoPixel led = Adafruit_NeoPixel(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
led.begin(); // Инициализируем ленту.
}
void loop()
{
// Включаем все светодиоды по очереди.
for (int i = 0; i < LED_COUNT; i++)
{
led.setPixelColor(i, led.Color(0, 255, 0)); // Зеленым i-й светодиод.
led.show(); // Передаем цвета ленте.
delay(100); // Ждем 100 мс.
}
// Выключаем все светодиоды по очереди.
for (int i = 0; i < LED_COUNT; i++)
{
led.setPixelColor(i, led.Color(0, 0, 0)); // Выключен i-й светодиод.
led.show(); // Передаем цвета ленте.
delay(100); // Ждем 500 мс.
}
}
Adafruit_NeoPixel led = Adafruit_NeoPixel(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);называется строкой инициализации. В ней переменная LED_COUNT - количество светодиодов в ленте, LED_PIN - к какому выводу подключена лента, NEO_GRB - цветовой формат вывода и NEO_KHZ800 - частота ШИМ.
#include "Adafruit_NeoPixel.h" // Подключаем библиотеку Adafruit NeoPixel.
// Создаем переменную strip для управления нашей лентой.
Adafruit_NeoPixel led = Adafruit_NeoPixel(4, 11, NEO_GRB + NEO_KHZ800);
void setup()
{
led.begin(); // Инициализируем ленту.
}
void loop()
{
// Включаем все светодиоды по очереди.
for (int i = 0; i < 4; i++)
{
led.setPixelColor(i, 0xFF0000); // Красным i-й светодиод.
led.show(); // Передаем цвета ленте.
delay(100); // Ждем 100 мс.
}
// Выключаем все светодиоды по очереди.
for (int i = 0; i < 4; i++)
{
led.setPixelColor(i, 0x000000); // Выключен i-й светодиод.
led.show(); // Передаем цвета ленте.
delay(100); // Ждем 500 мс.
}
}
#include "Adafruit_NeoPixel.h" // Подключаем библиотеку Adafruit NeoPixel.
#define LED_COUNT 8 // Указываем, какое количество пикселей у нашей ленты.
#define LED_PIN 11 // Указываем, к какому порту подключен вход ленты DIN.
// Создаем переменную led для управления нашей лентой.
Adafruit_NeoPixel led = Adafruit_NeoPixel(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
led.begin(); // Инициализируем ленту.
}
void loop()
{
// Включаем все светодиоды по очереди.
for (int i = 0; i < LED_COUNT; i++)
{
led.setPixelColor(i, led.Color(random(255), random(255), random(255))); // Зеленым i-й светодиод.
led.show(); // Передаем цвета ленте.
delay(100); // Ждем 100 мс.
}
int i=0;
}
В качестве практического задания: