Скачать: http://www.pjrc.com/teensy/arduino_libraries/LedDisplay.zip
Эта библиотека позволяет отправлять текст на светодиодный дисплей Avago HCMS-29xx . Дисплеи HCMS 29xx - это довольно маленькие дисплеи, которые содержат ряд светодиодных матриц 5×7.
Дисплеи имеют синхронный последовательный интерфейс. Вам понадобится пять цифровых выходных линий для управления ими.
LedDisplay (int dataPin, int registerSelect, int clockPin, int chipEnable, int resetPin, int displayLength) - создает библиотеку. Первые пять параметров - это номера контактов Arduino, которые подключены к дисплею. Последний устанавливает длину дисплея (8 для HCMS-291x и HCMS-297x, 4 для HCMS-290x и 296x).
Пример:
LedDisplay myDisplay = LedDisplay (2,3,4,5,6,8);
begin() - инициализирует и сбрасывает дисплей.
Пример:
myDisplay.begin();
write (char whatCharacter, byte whatPosition) - записывает один символ на дисплей в определенной позиции
Пример:
myDisplay.write ('A', 4);
Светодиодный графический экран наследует все, print() и println() методы из библиотеки печати. Например, вот как распечатать количество миллисекунд и строку заголовка на дисплее:
myDisplay.print ( "мс:"); myDisplay.print (millis());
Вы также можете делать обычные вещи с печатью:
int myInt = 12; myDisplay.print (myInt, DEC); // или же myDisplay.print (myInt, HEX);
Если вы хотите иметь возможность автоматически прокручивать строку текста, сначала вам нужно использовать метод setString(). Этот метод сохраняет символьную строку в экземпляре библиотеки, поэтому вы можете использовать метод scroll() для её перемещения влево и вправо.
setString (char *stringToDisplay) - отображает строку на дисплее. Если строка длиннее, чем на дисплее, отображается начало строки. Вы можете использовать метод scroll() для перемещения строки вперед на дисплее.
getString() - возвращает строку для отображения.
Пример:
// выводим строку дисплея для отладки: Serial.println (myDisplay.getString ());
stringLength() - возвращает длину отображаемой строки.
scroll(int direction) - прокручивает экран, используя строку, установленную setString(). Отрицательные числа прокручивают влево, положительные числа прокручивают вправо.
Пример:
void setup () { // прокручиваем строку, которая длиннее отображения: myDisplay.setString («Это очень длинная строка»); } void loop () { // когда строка прокручивается за пределы экрана, обратное направление прокрутки. // Справа он прокручивается в позиции 8. // слева, он прокручивается, когда курсор меньше - (длина строки): if ((myDisplay.cursorPosition ()> displayLength) || (myDisplay.cursorPosition () <= - (myDisplay.stringLength ()))) { myDirection = -myDirection; delay (1000); } // прокрутка: myDisplay.scroll (myDirection); delay (100); }
clear() - очистить дисплей.
Пример:
myDisplay.clear();
home() - установить курсор в крайнее левое положение.
Пример:
myDisplay.home();
setCursor(int whichPosition) - установить курсор в любую позицию.
Пример:
myDisplay.serCursor (4);
getCursor() - получить позицию курсора.
Пример:
int cursorPosition = myDisplay.getCursor ();
setBrightness(int bright) - позволяет установить яркость от 0 до 15.
Пример:
myDisplay.setBrightness(15);
Если вы хотите установить коды операций дисплея напрямую (вы можете узнать их из таблицы данных), помогут следующие методы:
loadControlRegister(int dataByte) - отправляет 8 бит в один из управляющих регистров.
loadDotRegister() - отправляет 320 бит в регистр точек
version() - возвращает номер версии библиотеки.