Оригинальное название: (механическая кнопка с LED SK6812)
Чип LED: SK6812

Кнопка с RGB-подсветкой

Где можно применить
  • Интерфейс пользователя (HMI)
  • Интерактивные панели
  • Игровые устройства
  • Индикация состояния
Это механическая кнопка с тактильной отдачей и встроенной RGB-подсветкой.

Позволяет:
  • получать ввод (нажатие),
  • управлять подсветкой (цвет, яркость).

Что это такое

Основные характеристики

Тип кнопки:
механическая (Blue switch)
Подсветка:
RGB (SK6812)
Яркость:
256 уровней
Интерфейс:
GPIO
Функции:
ввод + визуальная обратная связь
Пример кода

#include <FastLED.h> //библиотека для управления адресными светодиодами (LED).
#include <M5Stack.h> //библиотека для работы с платформой M5Stack, включает функции для инициализации и работы с устройством.
#define KEY_PIN 38 //пин кнопки
#define DATA_PIN 26 //пин светодиода
CRGB LED[1]; //Объявление массива из одного элемента типа CRGB (структура, представляющая цвет LED). Это управляет одним светодиодом.
void setup()
{
M5.begin(); //скорость порта
pinMode(KEY_PIN, INPUT_PULLUP); //указываем пин с кнопкой и что из него выходят значения
FastLED.addLeds<SK6812, DATA_PIN, GRB>(LED, 1); //настройка светодиода:/ Тип LED: SK6812./ Пин для передачи данных: DATA_PIN. /Цветовая схема: GRB. /Массив LED из 1 светодиода.
LED[0] = CRGB::GreenYellow; //установка цвета светодиода на зеленовато-желтый.
FastLED.setBrightness(0); //установка яркости на 0 (выключение).
}
void loop()
{
if (!digitalRead(KEY_PIN)) { //проверка, нажата ли кнопка: условие истинно, если кнопка нажата.
FastLED.setBrightness(255); //установка яркости на 255(максимум)
FastLED.show(); //обновляем светодиод, чтобы применить изменения.
while (!digitalRead(KEY_PIN)); // задержка до тех пор, пока кнопку не отпустят.
} else { //Если кнопка не нажата:
FastLED.setBrightness(0); //делаем светодиод невидимым (выключенным).
FastLED.show(); //применяем изменения.
}
delay(100); //задержка на 100 миллисекунд перед следующей итерацией цикла для более стабильной работы.
}