Скачать: http://code.google.com/archive/p/glcd-arduino/downloads
Это неофициальная библиотека Arduino, которая поддерживает графические ЖК-дисплеи (GLCD), в которых используется чип KS0108 (или эквивалентный).
Библиотека включает в себя примеры скетчей и файл readme.txt для объяснения основ добавления библиотеки, а также обширную документацию.
Библиотека имеет следующие особенности:
Поддержка Arduino 1.x, поддержка плат Mega 2560, Sanguino и Teensy.
Более простое назначение контактов. Любой вывод может быть назначен любой функции GLCD.
Точная/последовательная отрисовка шрифтов любого размера в любом месте пикселя. Пользовательские текстовые области. Прокрутка текста вверх/вниз.
Пины могут быть дополнительно назначены портом AVR и битом вместо номера пина Arduino. Поддерживает шрифты фиксированной ширины, обеспечивающие отображение до 8 x 21 символа с помощью прилагаемого системного шрифта.
Метод CursorTo для позиционирования курсора в заданном месте шрифта (только шрифты фиксированной ширины). Функция DrawBitmap для отображения растровых изображений, хранящихся во флэш-памяти. Утилита обработки предоставляется в загрузке для преобразования монохромного файла растрового изображения в файл заголовка, который сохраняет изображение во флэш-памяти для использования методом DrwBitmap .
Изображение тестового скетча на плате max232 Freeduino с недорогой панелью GLCD.
Код здесь был преобразован в библиотеку Arduino, он обладает большей гибкостью в адресации портов и улучшением скорости ввода-вывода. Интерфейс был сделан более дружественным к Arduino и добавлены некоторые удобные функции. Именование метода в основном не изменяется, чтобы облегчить перенос кода, написанного для оригинальной версии. Некоторые методы теперь имеют аргументы по умолчанию, чтобы их было проще использовать.
Тестовый скетч, включенный в загрузку, демонстрирует многие возможности библиотеки, и если вы начнете с этого и будете использовать назначения контактов Arduino по умолчанию, это хороший способ убедиться, что все работает, прежде чем настраивать свою конфигурацию.
#include// заголовок библиотеки #include // определение шрифта для 14-точечного шрифта Arial. #include "SystemFont5x7.h" // системный шрифт #include "ArduinoIcon.h" // растровое изображение unsigned long startMillis; unsigned int iter = 0; void setup() { GLCD.Init(NON_INVERTED); // инициализируем библиотеку GLCD.ClearScreen(); GLCD.DrawBitmap(ArduinoIcon, 32,0, BLACK); // рисуем растровое изображение в заданной позиции x, y delay(3000); GLCD.ClearScreen(); GLCD.SelectFont(System5x7); // выбираем системный шрифт фиксированной ширины } void loop() { // выполняется снова и снова startMillis = millis(); while( millis() - startMillis < 1000) { // цикл в течение одной секунды GLCD.DrawRect(0, 0, 64, 61, BLACK); // прямоугольник в левой части экрана GLCD.DrawRoundRect(68, 0, 58, 61, 5, BLACK); // скругленный прямоугольник вокруг текстовой области for(int i=0; i < 62; i += 4) { GLCD.DrawLine(1,1,63,i, BLACK); // рисуем линии от левого верхнего до правого края прямоугольника GLCD.DrawCircle(32,31,30,BLACK); // рисуем окружность с центром в левой части экрана GLCD.FillRect(92,40,16,16, WHITE); // очистить предыдущее положение GLCD.CursorTo(5,5); // выводим текущую итерацию в текущей позиции курсора GLCD.PrintNumber(++iter); } } // отображаем количество итераций за одну секунду GLCD.ClearScreen(); // очищаем экран GLCD.CursorTo(13,2); // позиционный курсор GLCD.Puts("FPS= "); // выводим текстовую строку GLCD.PrintNumber(iter); // напечатать номер }
GLCD.Init() инициализировать библиотеку для нормального или инвертированного рисования.
GLCD.GotoXY(x, y) размещает графический курсор в позициях x и y, 0,0 - левый верхний угол.
GLCD.ClearScreen() - очищает ЖК-дисплей.
GLCD.DrawCircle(x, y, радиус, цвет) рисует круг с центром в точке x, y
GLCD.DrawLine(x1, y1, x2, y2, color) draw линия от x1, y1 до x2, y2
GLCD.DrawVertLine(x, y, длина, цвет) рисует вертикальную линию
GLCD.DrawHoriLine(x, y, длина, цвет) рисует горизонтальную линию
GLCD.DrawRect(x, y, ширина, высота , цвет) нарисуйте прямоугольник
GLCD.DrawRoundRect(x, y, ширина, высота, радиус, цвет) , как указано выше, с закругленными краями
GLCD.FillRect(x, y, ширина, высота, цвет) нарисуйте заполненный прямоугольник
GLCD.InvertRect(x, y , ширина, высота) инвертировать пиксели в данном прямоугольнике
GLCD.SetInverted(инвертировать) установить режим рисования на инвертированный
GLCD.SetDot(x, y, цвет) нарисовать точку данного цвета в указанном месте
GLCD.DrawBitmap(bitmap, x, y, color) нарисовать растровое изображение в заданной позиции х, у
GLCD.SelectFont(font, color) выбирает шрифт, по умолчанию цвет становится черным, если не указан
GLCD.PutChar(символ) печатает данный символ на экране в текущей позиции курсора
GLCD.Puts(string) выводит данную строку на экран в текущей позиции курсора
GLCD.Puts_P(string) печатать строку из памяти программы на экране в текущей позиции курсора
GLCD.PrintNumber(число) вывести десятичное значение заданного числа в текущей позиции курсора
GLCD.CursorTo(x, y) основанных координат для шрифтов фиксированной ширины (т.е. предоставленный системный шрифт)
ВАЖНО: Соединения с модулем glcd должны быть припаяны. Соблазн протолкнуть провода или 20-контактный разъем в отверстия без пайки не создаст надлежащих электрических соединений.