Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Примеры/EsploraLedShow

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

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Световое шоу при помощи 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()

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

  1. Arduino - Led Show