🛒
0 товар.
0 руб.
Логотип

Интернет-магазин «Неглупый Дом»

☰
ИИ-консультант Wildberries OZON Яндекс Маркет
Поиск по сайту
Гугл таблица с ассортиментом

🌈 Проект: цветовой индикатор уровня на RGB-светодиоде KY-016, управляемый потенциометром

RGB-светодиод KY-016, встречавшийся в других проектах как вспомогательный индикатор, здесь главный герой: потенциометр плавно двигает цвет от зелёного через жёлтый к красному — как индикатор заряда или громкости в бытовых приборах.

Как это работает

Потенциометр читается `analogRead()` (0-1023). Вместо управления яркостью одного канала число используется для смешивания ДВУХ каналов: сначала горит только зелёный, затем добавляется красный (жёлтый = смесь), к концу зелёный гаснет, остаётся чистый красный.

Классический приём "зелёный=хорошо, жёлтый=внимание, красный=критично" — подходит для любого измеренного уровня (заряд, температура, расстояние) из других проектов, если заменить потенциометр на реальный датчик.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. Потенциометр: средний вывод → A0, крайние → 5V и GND.
  2. RGB-светодиод KY-016: R → D9, G → D10, через резисторы 220-330 Ом если их нет на плате.
  3. Общий вывод — к GND или 5V по типу светодиода (общий катод/анод); для анода инвертируйте ШИМ.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, я языковая
// модель, а не специализированный кодер, могу что-то упустить. Логика
// для общего катода — для общего анода инвертируйте значения ШИМ.

const int POT_PIN = A0;
const int RED_PIN = 9;
const int GREEN_PIN = 10;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int level = analogRead(POT_PIN);
  int redValue, greenValue;
  if (level < 512) {
    greenValue = 255;
    redValue = map(level, 0, 511, 0, 255);
  } else {
    redValue = 255;
    greenValue = map(level, 512, 1023, 255, 0);
  }
  analogWrite(RED_PIN, redValue);
  analogWrite(GREEN_PIN, greenValue);
  delay(50);
}
                

Дополнительных библиотек не требуется. Если цвета "вывернуты" — у вас светодиод с общим анодом, инвертируйте значения (`255 - значение`).

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 🔄 включение и выключение реле на…🔊 звуковая сигнализация отклонен… →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу: 120 ₽ 108 ₽ (экономия 12 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина

Поиск


Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA