Arduino:Примеры/LedDisplay scroll

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

Перевод: Максим Кузьмин (Cubewriter) Перевел 364226 статей для сайта.</br>Контакты:</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 }

См.также

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