Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Перемещение строки влево/вправо[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. }

См.также

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

  1. pjrc.com - LedDisplay.zip