Arduino:Примеры/EsploraLedShow: различия между версиями
Myagkij (обсуждение | вклад) м (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">») |
Нет описания правки |
||
Строка 32: | Строка 32: | ||
Двигая джойстик и меняя положение линейного потенциометра, вы будете генерировать различные значения. Вывод этих значений будет осуществляться двумя способами – на '''Serial Monitor''' и через перемигивание '''RGB'''-светодиода. | Двигая джойстик и меняя положение линейного потенциометра, вы будете генерировать различные значения. Вывод этих значений будет осуществляться двумя способами – на '''Serial Monitor''' и через перемигивание '''RGB'''-светодиода. | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
/* | /* | ||
Версия от 12:32, 20 мая 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Световое шоу при помощи RGB-светодиода на Esplora[1]
Этот пример показывает, как считывать значения с джойстика, а затем выводить их на Serial Monitor и генерировать с их помощью определенный цвет на RGB-светодиоде. У джойстика есть две оси – X и Y. Каждая из осей будет управлять определенным цветом RGB-светодиода: X-ось будет отвечать за красный, а Y-ось – за зеленый. За синий цвет будет отвечать линейный потенциометр на Esplora.
Необходимое оборудование
- Плата Arduino Esplora;
Цепь
Для этого примера нужна лишь Arduino Esplora.
Расположение на Esplora джойстика, слайдера и управляемого ими RGB-светодиода.
Код
RGB-светодиод состоит из трех светодиодов, отвечающих за три основных цвета – красный, зеленый и синий. Каждым из этих цветов можно отдельно управлять тремя функциями из библиотеки Esplora:
- writeRed(),
- writeGreen() и
- writeBlue().
Но если вы хотите управлять сразу тремя цветами, то для этого есть функция writeRGB().
Двигая джойстик и меняя положение линейного потенциометра, вы будете генерировать различные значения. Вывод этих значений будет осуществляться двумя способами – на Serial Monitor и через перемигивание RGB-светодиода.
/*
Световое шоу при помощи RGB-светодиода на Esplora
Заставляет RGB-светодиод перемигиваться разными цветами
в зависимости от положения джойстика и потенциометра-слайдера.
Создан 22 ноября 2012 Энрико Гуэли (Enrico Gueli, <enrico.gueli@gmail.com>),
модифицирован 22 декабря 2012 Томом Иго (Tom Igoe).
*/
#include <Esplora.h>
void setup() {
// инициализируем последовательную передачу данных:
Serial.begin(9600);
}
void loop() {
// считываем значения от джойстика и потенциометра в переменные:
int xAxis = Esplora.readJoystickX();
int yAxis = Esplora.readJoystickY();
int slider = Esplora.readSlider();
// конвертируем эти значения в уровень яркости:
byte red = map(xAxis, -512, 512, 0, 255);
byte green = map(yAxis, -512, 512, 0, 255);
byte blue = slider / 4;
// Выводим информацию об уровне яркости на Serial Monitor:
Serial.print(red);
Serial.print(' ');
Serial.print(green);
Serial.print(' ');
Serial.println(blue);
// передаем информацию об уровнях яркости RGB-светодиоду:
Esplora.writeRGB(red, green, blue);
// делаем задержку, чтобы светодиод не моргал:
delay(10);
}
См.также
- readJoystickX()
- readJoystickY()
- readSlider()
- writeRGB()