Arduino:Примеры/LedDisplay scroll
Перейти к навигации
Перейти к поиску
Поддержать проект | Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.
Перемещение строки влево/вправо[1]
Этот скетч демонстрирует, как при помощи библиотеки LedDisplay и платы Arduino печатать на LED-дисплее текстовую строку, а затем двигать ее влево и вправо.
Код
1
2 /*
3 Библиотека LedDisplay
4 Язык: Arduino/Wiring
5
6 Показывает на дисплее Avago HCMS-297x текстовую строку,
7 а также двигает ее вправо и влево.
8
9 Создан 12 июня 2008 года,
10 модифицирован 11 марта 2010 года Томом Иго (Tom Igoe).
11
12 */
13 #include <LedDisplay.h>
14
15 // задаем контакты для LED-дисплея; их можно поменять,
16 // но нужно переподключить контакты на самой плате:
17 #define dataPin 2 // для контакта DATA на дисплее
18 #define registerSelect 3 // для контакта RS на дисплее
19 #define clockPin 4 // для контакта CLOCK на дисплее
20 #define enable 5 // для контакта ENABLE на дисплее
21 #define reset 6 // для контакта RESET на дисплее
22
23 #define displayLength 8 // количество символов на дисплее
24
25
26 // создаем экземпляр класса LedDisplay:
27 LedDisplay myDisplay = LedDisplay(dataPin, registerSelect, clockPin,
28 enable, reset, displayLength);
29
30 int brightness = 15; // яркость экрана
31 int myDirection = 1; // направление движения (-1 = влево, 1 = вправо)
32
33 void setup() {
34 Serial.begin(9600);
35 // инициализируем библиотеку:
36 myDisplay.begin();
37 myDisplay.clear();
38 myDisplay.setString("weasels smell funny!"); // "шпилые вантульки растутырились!"
39 myDisplay.setBrightness(brightness);
40 delay(100);
41 }
42
43 void loop() {
44
45 // если, строка выходит за пределы экраны, меняем ее направление;
46 // с правой стороны она выходит за пределы экрана, достигнув
47 // 8-ой позиции; слева – достигнув позиции, которая меньше,
48 // чем длина строки:
49 if ((myDisplay.getCursor() > displayLength) ||
50 (myDisplay.getCursor() <= -(myDisplay.stringLength()))) {
51 myDirection = -myDirection;
52 delay(1000);
53 }
54
55 // двигаем строку:
56 myDisplay.scroll(myDirection);
57 delay(100);
58 }
См.также
Внешние ссылки