Декор квадратного стола RGB, управляемый Arduino - сетка ...
Создайте потрясающий декор стола RGB с помощью управления Arduino!
Преобразите любое пространство с помощью этого простого в сборке настольного декора RGB, управляемого Arduino, с сеткой ярких квадратов 3x3. Каждый квадрат подсвечивается настраиваемыми цветами, что идеально подходит для добавления динамического освещения в ваш дом, офис или на мероприятия. Этот проект, работающий для удобства через USB, прост в настройке и предлагает безграничные возможности для цветовых комбинаций и узоров. Независимо от того, являетесь ли вы энтузиастом DIY, новичком в Arduino или любителем технологического декора, этот стол с RGB-подсветкой станет ярким примером, сочетающим в себе функциональность и креативность!
Ключевые особенности:
Макет квадратной сетки RGB 3x3
Контролируется Arduino для создания пользовательских цветовых шаблонов
Питание от USB для простой настройки и использования
Идеально подходит для декора дома или праздничного стола
Необходимые компоненты:
9 неопиксельных RGB-светодиодов
Ардуино Нано
USB-кабель для питания и программирования
Создайте свою собственную таблицу RGB и добавьте уникальный элемент освещения в свое пространство уже сегодня!
Вот код Ардуино:
#include
#define PIN 6 // Пин, подключенный к NeoPixels
#define NUM_PIXELS 9 // Общее количество пикселей (сетка 3х3)
Полоса Adafruit_NeoPixel = Adafruit_NeoPixel(NUM_PIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Определяем позиции сетки 3х3 (всего 9 пикселей)
int PixelPositions[9] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
// Определить уникальные цвета для каждого блока
uint32_t цвета[9] = {
Strip.Color(255, 0, 0), // Красный
Strip.Color(0, 255, 0), // Зеленый
Strip.Color(0, 0, 255), // Синий
Strip.Color(255, 255, 0), // Желтый
Strip.Color(255, 0, 255), // Фиолетовый
Strip.Color(0, 255, 255), // Голубой
Strip.Color(255, 165, 0), // Оранжевый
Strip.Color(75, 0, 130), // Индиго
Strip.Color(255, 255, 255) // Белый
};
// Функция для постепенного изменения цвета каждого пикселя
void FadeToColor (int Pixel, uint32_t targetColor, int DelayTime) {
uint8_t r = (targetColor >> 16) & 0xFF;
uint8_t g = (targetColor >> 8) & 0xFF;
uint8_t b = targetColor & 0xFF;
uint8_t currentR = (strip.getPixelColor(пиксель) >> 16) & 0xFF;
uint8_t currentG = (strip.getPixelColor(пиксель) >> 8) & 0xFF;
uint8_t currentB = Strip.getPixelColor(пиксель) & 0xFF;
// Постепенное затемнение цветов
for (int я = 0; я <= 255; я++) {
uint8_t newR = currentR + (r — currentR) * i/255;
uint8_t newG = currentG + (g — currentG) * i/255;
uint8_t newB = currentB + (b — currentB) * i/255;
Strip.setPixelColor(пиксель, newR, newG, newB);
полоса.шоу();
задержка (время задержки);
}
}
недействительная настройка() {
полоса.начать(); // Инициализируем полосу
полоса.шоу(); // Инициализируем все пиксели как выключенные
}
недействительный цикл() {
// Постепенно переходим к каждому цвету для каждого блока сетки
for (int i = 0; i FadeToColor (я, цвета [я], 20); // Переход к цвету с задержкой для плавного затухания
}
задержка(1000); // Сохраняем цвета в течение 1 секунды, прежде чем снова перейти к переходу
}





























