Arduino:Примеры/EsploraLedShow
Поддержать проект | Содержание | Знакомство с 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-светодиода.
1 /*
2
3 Световое шоу при помощи RGB-светодиода на Esplora
4
5 Заставляет RGB-светодиод перемигиваться разными цветами
6 в зависимости от положения джойстика и потенциометра-слайдера.
7
8 Создан 22 ноября 2012 Энрико Гуэли (Enrico Gueli, <enrico.gueli@gmail.com>),
9 модифицирован 22 декабря 2012 Томом Иго (Tom Igoe).
10
11 */
12
13 #include <Esplora.h>
14
15 void setup() {
16 // инициализируем последовательную передачу данных:
17 Serial.begin(9600);
18 }
19
20 void loop() {
21 // считываем значения от джойстика и потенциометра в переменные:
22 int xAxis = Esplora.readJoystickX();
23 int yAxis = Esplora.readJoystickY();
24 int slider = Esplora.readSlider();
25
26 // конвертируем эти значения в уровень яркости:
27 byte red = map(xAxis, -512, 512, 0, 255);
28 byte green = map(yAxis, -512, 512, 0, 255);
29 byte blue = slider / 4;
30
31 // Выводим информацию об уровне яркости на Serial Monitor:
32 Serial.print(red);
33 Serial.print(' ');
34 Serial.print(green);
35 Serial.print(' ');
36 Serial.println(blue);
37
38 // передаем информацию об уровнях яркости RGB-светодиоду:
39 Esplora.writeRGB(red, green, blue);
40
41 // делаем задержку, чтобы светодиод не моргал:
42 delay(10);
43 }
См.также
- readJoystickX()
- readJoystickY()
- readSlider()
- writeRGB()
Внешние ссылки