Arduino:Примеры/EsploraLedShow

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Перевел 364226 статей для сайта.</br>Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Световое шоу при помощи RGB-светодиода на Esplora[1]

Этот пример показывает, как считывать значения с джойстика, а затем выводить их на Serial Monitor и генерировать с их помощью определенный цвет на RGB-светодиоде. У джойстика есть две оси – X и Y. Каждая из осей будет управлять определенным цветом RGB-светодиода: X-ось будет отвечать за красный, а Y-ось – за зеленый. За синий цвет будет отвечать линейный потенциометр на Esplora.

Необходимое оборудование

  • Плата Arduino Esplora;

Цепь

Для этого примера нужна лишь Arduino Esplora.

Esplora ledShow ru.jpg

Расположение на 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 }

См.также

  1. readJoystickX()
  2. readJoystickY()
  3. readSlider()
  4. writeRGB()

Внешние ссылки