
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Часто, когда люди хотят управлять своей светодиодной лентой RGB с помощью Arduino, используются три потенциометра для смешивания красного, зеленого и синего цветов. Это работает и может идеально соответствовать вашим потребностям, но я хотел сделать что-то более интуитивно понятное, что-то вроде цветового круга.
Этот проект кажется идеальным приложением для энкодера. Это устройство, которое преобразует движение своего вала в цифровой выходной сигнал. Когда вал поворачивается, энкодер отправляет сигнал (импульс), который может быть измерен Arduino. Чтобы узнать больше о поворотных энкодерах, вы можете посмотреть это видео, которое объясняет это более подробно.
В этом руководстве я покажу вам, как сделать контроллер светодиодной ленты Arduino RGB с помощью поворотного энкодера. В этом руководстве описывается конструкция схемы на макетной плате. Однако вы можете создать свою собственную печатную плату, чтобы создать щит Arduino!
Шаг 1: Детали


Для контроллера светодиодной ленты RGB вам потребуются следующие материалы:
- 1x Arduino Nano
- 3x IRLB8721PBF, любой N-канальный MOSFET логического уровня подойдет, если он рассчитан на минимум 12 В и ток, потребляемый вашей светодиодной лентой.
- 1x поворотный энкодер
- Блок питания 1x 12V 2A, сила тока, которую должен обеспечивать блок питания, может зависеть от длины используемой светодиодной ленты.
- 16x перемычек между мужчинами
- 1x макетная плата без пайки, подойдет любая макетная плата, если она достаточно велика.
Шаг 2: Схема


Подключите Arduino к шине 12V и GND на макетной плате. Затем соедините остальные детали следующим образом:
Поворотный энкодер
Контакт A - D4
Штифт B - D3
GND - GND
MOSFET Красный
Ворота - GND
Слив - светодиодная лента красный провод
Источник - D11
МОП-транзистор GreenGate - GND
Слив - светодиодная лента зелёный провод
Источник - D9
МОП-транзистор BlueGate - GND
Слив - светодиодная лента синий провод
Источник - D6
Шаг 3: Код
// Контакты Arduino PWM
int redPin = 11; int greenPin = 6; int bluePin = 9; // Контакты кодировщика Arduino int encoderPinA = 3; int encoderPinB = 4; // Цветовые переменные int colorVal; int redVal; int greenVal; int blueVal; // Переменные кодировщика int encoderPos; int encoderPinACurrent; int encoderPinALast = HIGH; // Другой int counter; void setup () {pinMode (encoderPinA, INPUT_PULLUP); pinMode (encoderPinB, INPUT_PULLUP); } void loop () {readEncoder (); encoder2rgb (счетчик); analogWrite (redPin, redVal); analogWrite (greenPin, greenVal); analogWrite (bluePin, blueVal); } int readEncoder () {encoderPinACurrent = digitalRead (encoderPinA); if ((encoderPinALast == LOW) && (encoderPinACurrent == HIGH)) {if (digitalRead (encoderPinB) == LOW) {encoderPos = encoderPos - 1; } еще {encoderPos = encoderPos + 1; }} encoderPinALast = encoderPinACurrent; counter = encoderPos * 8; если (счетчик 1535) {счетчик = 0; } счетчик возврата; } int encoder2rgb (int counterVal) {// От красного к желтому if (counterVal <= 255) {colorVal = counterVal; redVal = 255; greenVal = colorVal; blueVal = 0; } // От желтого к зеленому иначе if (counterVal <= 511) {colorVal = counterVal - 256; redVal = 255 - colorVal; greenVal = 255; blueVal = 0; } // Зеленый в голубой иначе if (counterVal <= 767) {colorVal = counterVal - 512; redVal = 0; greenVal = 255; blueVal = colorVal; } // Голубой в синий иначе if (counterVal <= 1023) {colorVal = counterVal - 768; redVal = 0; greenVal = 255 - colorVal; blueVal = 255; } // От синего к пурпурному иначе if (counterVal <= 1279) {colorVal = counterVal - 1024; redVal = colorVal; greenVal = 0; blueVal = 255; } // Пурпурный в красный else {colorVal = counterVal - 1280; redVal = 255; greenVal = 0; blueVal = 255 - colorVal; } вернуть redVal, greenVal, blueVal; }
Рекомендуемые:
Контроллер светодиодной ленты: 8 шагов (с изображениями)

Контроллер светодиодных лент: в этом руководстве я расскажу вам, как использовать и управлять своими светодиодными лентами, создав интерфейс управления. Я получил много удовольствия от этих огней, и я уверен, что вы тоже. Если вам нравится эта инструкция, пожалуйста, убедитесь
Практичный контроллер светодиодной ленты для беспроводной настенной розетки Arduino ESP32: 6 шагов

Практичный контроллер светодиодной ленты для беспроводной настенной розетки Arduino ESP32: это очень практичный контроллер для беспроводной настенной розетки DIY для недорогих светодиодных лент. Он заменяет дешевые контроллеры Wi-Fi, продаваемые на EBay. Они хорошо работают с полосами RGB Led. Контроллер EBay Wifi плохо сконструирован и легко ломается. Еще
3-канальный контроллер цифровой светодиодной ленты WS2812: 9 шагов (с изображениями)

Контроллер 3-канальной цифровой светодиодной ленты WS2812: мне всегда был нужен недорогой способ управления несколькими цифровыми светодиодными полосами. В этом руководстве показаны все шаги, которые я прошел при разработке и создании этого проекта
Контроллер светодиодной ленты Arduino для крутых фонарей ПК: 5 шагов

Контроллер светодиодной ленты Arduino для крутых светильников для ПК: у меня есть эта крутая светодиодная лента с RGB-подсветкой с aliexpress, и я хочу использовать ее для освещения ПК. Первая проблема - это горячая проблема, чтобы ее контролировать, а затем как его включить. Это руководство показывает вам, как чтобы сделать это с помощью кода github arduino, видео рабочего проекта и пошагово
ИК-контроллер светодиодной ленты Arduino RGB DIY: 5 шагов

Сделай сам Arduino RGB LED Strip ИК-контроллер: Привет, ребята. В сегодняшней инструкции я покажу вам, как вы можете создать свой собственный контроллер светодиодной ленты RGB на базе Arduino с инфракрасным управлением. Принцип работы контроллера довольно прост. Плюс 12 В подключается напрямую к 12 В