Arduino:Примеры/Esplora TFT Color Picker

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

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


Изменение фонового цвета TFT-экрана на Esplora[1]

Этот пример для платы Esplora (с подключенным к ней экраном Arduino) считывает входные данные со слайдера и двух осей джойстика, а затем использует их для изменения цвета на экране.

Для обработки цвета на этом TFT-экране используются 8-битные числа (диапазон 0-255). Однако библиотека трансформирует эти значения в 5-битные (диапазон 0-31; для красного и синего цветов) и 6-битные (диапазон 0-63; для зеленого цвета).

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

  • Плата Arduino Esplora;
  • TFT-экран Arduino;

Цепь

Подсоедините экран к сокету на Esplora. Надпись «SD Card» должна быть вверху.

Код

Чтобы использовать экран, вам для начала нужно подключить библиотеки SPI и TFT. Но не забудьте и о библиотеке Esplora.

#include <Esplora.h>
#include <GLCD.h>
#include <SPI.h>

В блоке setup() запускаем последовательную передачу данных, чтобы вы могли считывать значения, используемые для фонового цвета. Также запускаем экран и делаем фон белым.

void setup() {
  Serial.begin(9600);
  EsploraTFT.begin();
  EsploraTFT.background(255, 255, 255);
}

В секции loop() считываем значения от слайдера и джойстика, а затем приспосабливаем их к диапазону 0-255. Определяем фоновый цвет и выводим данные на Serial Monitor.

void loop() {
  int xValue = map(Esplora.readJoystickX(), -512, 512, 0, 255); 
  int yValue = map(Esplora.readJoystickY(), -512, 512, 0, 255); 
  int slider = map(Esplora.readSlider(), 0, 1023, 0, 255); 

  EsploraTFT.background(xValue, yValue, slider);

  Serial.print("background(");
  Serial.print(xValue);
  Serial.print(" , ");
  Serial.print(yValue);
  Serial.print(" , ");
  Serial.print(slider);
  Serial.println(")");

  delay(33);

}

Весь код полностью – ниже:

/* 
Изменение цвета TFT-экрана на Esplora

Этот пример для платы Esplora с подключенным к ней
TFT-экраном Arduino. Он считывает данные, идущие от джойстика
и слайдера, используя их для смены цвета экрана. 

Этот код не защищен авторским правом.

Создан 15 апреля 2013 Скоттом Фитцджеральдом (Scott Fitzgerald)

http://www.arduino.cc/en/Tutorial/TFTColorPicker
*/

#include <Esplora.h>
#include <TFT.h>  // библиотека LCD-экрана Arduino
#include <SPI.h>

void setup() {
  Serial.begin(9600);

  // Инициализируем LCD-экран:
  EsploraTFT.begin();

  // Начинаем с экрана белого цвета:
  EsploraTFT.background(255, 255, 255);

}

void loop() {

  // Преобразовываем значения от датчиков:
  int xValue = map(Esplora.readJoystickX(), -512, 512, 0, 255);  // считываем X-позицию джойстика
  int yValue = map(Esplora.readJoystickY(), -512, 512, 0, 255);  // считываем Y-позицию джойстика
  int slider = map(Esplora.readSlider(), 0, 1023, 0, 255);   // считываем позицию слайдера

  // Меняем фоновый цвет на основе преобразованных значений:
  EsploraTFT.background(xValue, yValue, slider);

  // Выводим эти значения на Serial Monitor:
  Serial.print("background(");  //  "Фоновый цвет("
  Serial.print(xValue);
  Serial.print(" , ");
  Serial.print(yValue);
  Serial.print(" , ");
  Serial.print(slider);
  Serial.println(")");

  delay(33);

}

См.также

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