Каталог

Плата расширения DFRobot Gravity LCD12864 Shield V1.0 для Arduino

Цена:

3590 р.
менее 10 шт.
Уже в корзине
Код товара: 12788
Оригинальное название:
DFRobot Gravity LCD12864 Shield V1.0

Описание товара

Технические характеристики

  • Модель: DFRobot Gravity LCD12864 Shield V1.0 (SKU: DFR0287)
  • Питание: 3.3В + 5В DC
  • ЖК-экран: COG монохромный 128 х 64 пикс., NHD C12864
  • Угол обзора: 6:00
  • Цвет подсветки: белый
  • Цвет шрифта: чёрный
  • Контроллер графики: ST7565
  • Микро-джойстик: 4 направления с функцией кнопки, SF303GJ26
  • Кнопка сброса Reset
  • Интерфейсы: GPIO, UART, ADC
  • Светодиодная индикация: питание
  • Шаг контактов: 2.54мм (0.1 дюйма)
  • Форм-фактор: UNO R3
  • Температура эксплуатации: -20°С ~ + 70°С
  • Размеры: 60 х 55 х 20мм
  • Вес: 25г

Любое интерактивное приложение с микропроцессорным управлением не может существовать без индивидуальных средств общения с внешним миром, представляющих разнообразные радиоэлектронные компоненты ввода-вывода информации. Даже такому простому и распространённому проекту, как домашняя метеостанция, с которого довольно часто начинается погружение в изучение основ программирования микроконтроллерных платформ, необходима демонстрация результатов измерения температуры и давления. Развитое приложение в составе с несколькими датчиками или сенсорами, выполняющими оценку состояния воздуха или нахождение уровня окружающего шума/освещения, может потребовать значимой, или даже всей области свободного пространства на цифровом экране для отображения имеющихся значений и параметров. Чтобы не столкнуться с условиями нехватки ресурсов экрана, опытные разработчики выбирают наиболее подходящее решение из нескольких вариантов - увеличение размеров/разрешения экрана (не всегда лучший путь), минимизация/урезание возможностей графического интерфейса, создание многостраничного меню, и так далее.

Модуль расширения DFRobot LCD12864 создан для задач программирования интерактивных приложений с чистого листа. Устанавливается модуль поверх соединительных разъёмов микроконтроллера. На плате представлены монохромный ЖК дисплей с драйвером ST7565 и управляемой светодиодной подстветкой, белым фоном и чёрным шрифтом, разрешением 128 х 64 графических точек (они же пикселы). Дисплей способен выводить абсолютно любые текстовые, символьные и графические данные, образованные алгоритмами приложения. Кроме 2.1-дюймового COG-экрана, в схему платы расширения интегрирован механический 5-позиционный микро-джойстик, поддерживающий 4 направления (влево, вправо, вверх, вниз) и нажатие по центру подобно обычной кнопке. Джойстик по праву считается удобнейшим инструментом навигации между графическими объектами на экране, включая перемещение по спискам с выделением элементов (например, строки или разделы графического меню приложения).

Занимая в форм-факторе UNO R3 все доступные операционные порты подключения периферии, модуль расширения DFRobot Gravity LCD12864 Shield использует для себя лишь часть из них. Задействованы линии D10, D11 и D13 интерфейса SPI, а также D7-D9 для управления драйвером и светодиодной подсветкой ЖК-экрана. Микро-джойстик подведён к аналоговому выводу А0. Остальные свободные цифровые и цифро-аналоговые вводы-выводы Arduino-совместимого микроконтроллера, в том числе шины последовательной передачи данных UART на выводах D0-D1 и I2C на вывода A4-A5, скомбинированы в 3-пиновые разъёмы с линиями питания 5В, и разведены на плате в две раздельные группы J5, J6 и J7, J8, J10. Штыри этих групп окрашены в зелёный и синий цвета соотвественно, порты пронумерованы шелкографией. Шаг между контактами 2.54 мм (или 0,1 дюйма) позволяет выполнять проводные соединения с другими совместимыми модулями на этапах прототипирования или отладки приложения.

Модулю расширения DFRobot Gravity LCD12864 Shield для работы требуется два источника постоянного напряжения с 3.3-вольтовым и 5-вольтовым потенциалом, присутствующие в схеме распределения электроэнергии у микроконтроллерных плат формата UNO R3. Встроенный индикатор питания и аналоговый джойстик модуля расширения LCD12864 Gravity Shield сопряжены с контуром 5В, а монохромный COG экран — с контуром 3.3В. Дополнительно на плате есть физическая кнопка Reset для сброса микроконтроллера

Компоненты и интерфейсы платы расширения DFRobot LCD12864

 

 

Пример программы управления джойстиком с подключением библиотеки U8g2 для вывода изображения на экран

// Подключение библиотеки
#include <Arduino.h>
#include <U8g2lib.h>

// Перемененные и определения
#define joystickPin 0
#define RIGHT 1
#define UP 2
#define LEFT 3
#define DOWN 4
#define PUSH 5
#define MID 0
bool joystickChange;

// Инициализация графического драйвера
U8G2_ST7565_NHD_C12864_F_4W_SW_SPI u8g2(U8G2_R2, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); 

// Процедура считывания состояния джойстика
int readJoystick(void) {
  int key_value = 0;
  int stickRaw = analogRead(joystickPin);
  delay(10);
  static int keyValueLast = 0;
  if(stickRaw < 100)
    key_value = 3;  // влево
  else if(100 <= stickRaw && stickRaw < 300)
    key_value = 5;  // нажатие
  else if(300 <= stickRaw && stickRaw < 500)
    key_value = 4;  // вниз
  else if(500 <= stickRaw && stickRaw < 700)
    key_value = 1;  // вправо
  else if(700 <= stickRaw && stickRaw < 900)
    key_value = 2;  // вверх
  else
    key_value = 0; // в центре
  if (keyValueLast != key_value){joystickChange = true;keyValueLast = key_value;}
  return key_value;
}

// Процедура оценки состояния джойстика
boolean joystickAvailable(void){ 
  readJoystick();
  delay(10);
  boolean temp=joystickChange;
  joystickChange=false;
  return temp;
}

// Процедура заполнения буфера
void draw(void) {
  u8g2.setFont(u8g2_font_ncenB08_tr); // Выбор подходящего шрифта
  u8g2.drawStr(0,20,"www.DFRobot.com"); // Запись во внутреннюю память
  u8g2.drawStr(0,40,"Joystick is: ");
  if (joystickAvailable()) {  
    switch (readJoystick()) {
      case RIGHT:
      u8g2.drawStr(70,40,"RIGHT");
      break;
      case LEFT:
      u8g2.drawStr(70,40,"LEFT");
      break;
      case UP:
      u8g2.drawStr(70,40,"UP");      
      break;
      case DOWN:
      u8g2.drawStr(70,40,"DOWN");      
      break;
      case PUSH:
      u8g2.drawStr(70,40,"PUSH");      
      break;
      case MID:
      u8g2.drawStr(70,40,"MID");      
      break;
    };
  }  
}

void setup(void) {
  u8g2.begin(); 
  u8g2.setContrast(50); // Настройка контрастности экрана 0-255
  pinMode(joystickPin, INPUT); // Аналоговый вход 0 в состояние приёма данных
}

void loop(void) {
  u8g2.clearBuffer();         // Очистка внутренней памяти
  draw();
  u8g2.sendBuffer();          // Вывод содержимого внутренней памяти на экран
  delay(500);  
}

 

Электрическая принципиальная схема Gravity LCD12864 Shield

 

 

Программное обеспечение

  1. Скетч с примером для DFRobot LCD12864 Shield (zip-архив)
  2. Среда разработки Arduino IDE
  3. Графическая библиотека U8glib с драйверами для экранных модулей (разработка более не ведётся)
  4. Графическая библиотека U8g2 с драйверами для экранных модулей
  5. Программа преобразования графических изображений LCD Assistent

Техническая документация

  1. Инструкция добавления загружаемой библиотеки в среду Arduino IDE
footer shadow
Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

compacttool logoadaptive site

accepted payment systems

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2015 - 2024г https://compacttool.ru