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

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

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

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

Контакты:

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


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

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

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

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

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

Цепь

Esplora GLCDColorPicker.png

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

Код

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

  1. #include <Esplora.h>
  2. #include <GLCD.h>
  3. #include <SPI.h>

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

  1. void setup() {
  2.   Serial.begin(9600);
  3.   EsploraTFT.begin();
  4.   EsploraTFT.background(255, 255, 255);
  5. }

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

  1. void loop() {
  2.   int xValue = map(Esplora.readJoystickX(), -512, 512, 0, 255);
  3.   int yValue = map(Esplora.readJoystickY(), -512, 512, 0, 255);
  4.   int slider = map(Esplora.readSlider(), 0, 1023, 0, 255);
  5.  
  6.   EsploraTFT.background(xValue, yValue, slider);
  7.  
  8.   Serial.print("background(");
  9.   Serial.print(xValue);
  10.   Serial.print(" , ");
  11.   Serial.print(yValue);
  12.   Serial.print(" , ");
  13.   Serial.print(slider);
  14.   Serial.println(")");
  15.  
  16.   delay(33);
  17.  
  18. }

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

  1. /*
  2. Изменение цвета TFT-экрана на Esplora
  3.  
  4. Этот пример для платы Esplora с подключенным к ней
  5. TFT-экраном Arduino. Он считывает данные, идущие от джойстика
  6. и слайдера, используя их для смены цвета экрана.
  7.  
  8. Этот код не защищен авторским правом.
  9.  
  10. Создан 15 апреля 2013 Скоттом Фитцджеральдом (Scott Fitzgerald)
  11.  
  12. http://www.arduino.cc/en/Tutorial/TFTColorPicker
  13. */
  14.  
  15. #include <Esplora.h>
  16. #include <TFT.h>  // библиотека LCD-экрана Arduino
  17. #include <SPI.h>
  18.  
  19. void setup() {
  20.   Serial.begin(9600);
  21.  
  22.   // Инициализируем LCD-экран:
  23.   EsploraTFT.begin();
  24.  
  25.   // Начинаем с экрана белого цвета:
  26.   EsploraTFT.background(255, 255, 255);
  27.  
  28. }
  29.  
  30. void loop() {
  31.  
  32.   // Преобразовываем значения от датчиков:
  33.   int xValue = map(Esplora.readJoystickX(), -512, 512, 0, 255);  // считываем X-позицию джойстика
  34.   int yValue = map(Esplora.readJoystickY(), -512, 512, 0, 255);  // считываем Y-позицию джойстика
  35.   int slider = map(Esplora.readSlider(), 0, 1023, 0, 255);   // считываем позицию слайдера
  36.  
  37.   // Меняем фоновый цвет на основе преобразованных значений:
  38.   EsploraTFT.background(xValue, yValue, slider);
  39.  
  40.   // Выводим эти значения на Serial Monitor:
  41.   Serial.print("background(");  //  "Фоновый цвет("
  42.   Serial.print(xValue);
  43.   Serial.print(" , ");
  44.   Serial.print(yValue);
  45.   Serial.print(" , ");
  46.   Serial.print(slider);
  47.   Serial.println(")");
  48.  
  49.   delay(33);
  50.  
  51. }

См.также

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

  1. Arduino - Esplora TFT Color Picker