Интернет-магазин «Неглупый Дом»
Джойстик KY-023: ось X управляет красным каналом, ось Y — зелёным, нажатие включает/выключает подсветку.
KY-023 — два независимых потенциометра в одном корпусе, связанных с общей рукояткой: ось X меняет сопротивление одного, ось Y — другого, плюс отдельная кнопка (SW) от нажатия на рукоятку.
Код читает оба аналоговых канала и через `map()` переводит их в диапазон ШИМ 0-255 для `analogWrite()` — наклон рукоятки меняет соответствующий цветовой канал.
Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.
// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.
const int xPin = A0;
const int yPin = A1;
const int swPin = 2;
const int redPin = 9;
const int greenPin = 10;
bool ledOn = true;
void setup() {
Serial.begin(9600);
pinMode(swPin, INPUT);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
}
void loop() {
if (digitalRead(swPin) == HIGH) {
ledOn = !ledOn;
Serial.println(ledOn ? "Включено" : "Выключено");
delay(300);
}
if (ledOn) {
int x = analogRead(xPin);
int y = analogRead(yPin);
analogWrite(redPin, map(x, 0, 1023, 0, 255));
analogWrite(greenPin, map(y, 0, 1023, 0, 255));
} else {
analogWrite(redPin, 0);
analogWrite(greenPin, 0);
}
}
Схему легко расширить третьим каналом, взяв за основу нажатие джойстика или второй потенциометр.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 140 ₽ 126 ₽ (экономия 14 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.