Библиотека на дисплей NOKIA LCD5110

art_maestro
Offline
Зарегистрирован: 26.03.2013

 

Здравствуйте.

Пытаюсь подключить дисплей NOKIA LCD5110 к arduino uno. Перепробовал кучу библиотек, функции которых позволяют управлять этим дисплеем, НО возникают ошибки при компиляции, даже примеров, которые входят в комплекте с библиотеками.

Пожалуйста, скиньте рабочую библиотеку, проверенную и простенький пример. 

 

Спасибо.

 

Tamer
Tamer аватар
Offline
Зарегистрирован: 24.06.2012

Либа тут, проверенно на IDE 1.0.1

https://www.dropbox.com/sh/4l5f5yz5pt07qg7/cbmFFyJf25/PCD8544%20liba/PCD8544.rar

 

/*
 * PCD8544 - Interface with Philips PCD8544 (or compatible) LCDs.
 */


#include <PCD8544.h>


// A custom glyph (a smiley)...
static const byte glyph[] = { B00010000, B00110100, B00110000, B00110100, B00010000 };


static PCD8544 lcd;


void setup() {
  // PCD8544-compatible displays may have a different resolution...
  lcd.begin(84, 48);
  
  // Add the smiley to position "0" of the ASCII table...
  lcd.createChar(0, glyph);
}


void loop() {
  // Just to show the program is alive...
  static int counter = 0;

  // Write a piece of text on the first line...
  lcd.setCursor(0, 0);
  lcd.print("Hello, World!");

  // Write the counter on the second line...
  lcd.setCursor(0, 1);
  lcd.print(counter, DEC);
  lcd.write(' ');
  lcd.write(0);  // write the smiley

  delay(500);  
  counter++;
}


/* EOF - HelloWorld.ino */

 

maksim
Offline
Зарегистрирован: 12.02.2012

Больше чем уверен, что все перепробованные вами библиотеки рабочие и проверенные, просто вы не умеете их либо импортировать, либо ими пользоваться (под "пользоваться" подрозумевается используете не с той версией IDE).
Ну а так как вы решили никому не показывать какие у вас ошибки, то остается только гадать...

Вот пример кода без библиотек http://arduino.ru/forum/programmirovanie/pomogite-s-lcd-5110#comment-25297

art_maestro
Offline
Зарегистрирован: 26.03.2013

 

Вы ошибаетесь, другие библиотеки связанные с датчиками, драйверам к светодиодным матрицам и прочему у меня, получается, импортировать и подключить. 

Ошибки продемонстрирую, если возникнут при использовании рекомендуемой вышеизложенной библиотеки

art_maestro
Offline
Зарегистрирован: 26.03.2013

Tamer, утром попробую. спасибо! У меня версия правда arduino-1.0.2

maksim
Offline
Зарегистрирован: 12.02.2012

art_maestro пишет:

Вы ошибаетесь...

Я могу ошибаться только в одном случае - если кто-то выложил нерабочую библиотеку.
Дайте ссылки на те библиотеки что не работают и покажите ошибки. Иначе обсуждать бессмысленно, и говорить что кто ошибается... при условии что это у вас что-то не работает. 
Мне еще ни разу не встречалась нерабочая библиотека (нерабочая в данном случае - та, с которой код не компилируется).

Vladikas
Offline
Зарегистрирован: 25.07.2013

Как заставить сию библиотеку писать на экранчике русские символы?

SergAG
Offline
Зарегистрирован: 22.12.2012

Подскажите, почему ни один пример работы девайса с библиотекой LCD5110_Basic.h не заработал (чистый экран), а с Adafruit работает. Частично работает пример с графикой: пока статическая картинка логотипа, отображается, как только начинаются линии и круги, все исчезает.

Особенность подключения: экран висит на плоском кабеле около 60см. Может, что-то с частотами?

SunX
SunX аватар
Offline
Зарегистрирован: 04.10.2014

SergAG пишет:
Частично работает пример с графикой: пока статическая картинка логотипа, отображается, как только начинаются линии и круги, все исчезает.

А как подключаете? сколько вольт питание? у меня что-то подобное было раньше - в итогее оказалось, что reset неправильно на экран уходил из-за не совсем правильного подключения.

SergAG
Offline
Зарегистрирован: 22.12.2012

SunX пишет:

А как подключаете? сколько вольт питание? у меня что-то подобное было раньше - в итогее оказалось, что reset неправильно на экран уходил из-за не совсем правильного подключения.

По железу проблем не должно быть, от другой библиотеки-то работает. Питание 3,3, данные с Меги, но у дисплея входы толерантны

SunX
SunX аватар
Offline
Зарегистрирован: 04.10.2014

А, то есть с библиотекой от Adafruit у Вас все полностью работает? или только статическая картинка?

SergAG
Offline
Зарегистрирован: 22.12.2012

Работает

doleynikov
Offline
Зарегистрирован: 30.01.2015

Привет всем! Я нашел библиотечку https://github.com/Icewire-Makerspace/PCD8544

Все работает, но вот чего мне не хватает: как передать команду перехода на следующую строку? ну типа \n\r . Ни где не могу найти, предусмотрена ли реакция на управляющие символы? Вывод у меня посимвольный. Параллельно идут вывод на консоль. На консоли адекватно воспоингимаются эти управляющие символы, а на дисплее просто два пробела и все! текст так и идет в одну строку.

Vladikas
Offline
Зарегистрирован: 25.07.2013

Посмотри другие варианты.

http://geektimes.ru/post/254986/ Arduino, модуль Nokia 5110 LCD и кириллица

http://geektimes.ru/post/255704/ Arduino по-китайски или штангенциркуль по-Ардуински

http://cyberkot.ru/upravliaemaia-vebkamera/rukovodstvo-po-sborke-kamery

НиколаМастер
Offline
Зарегистрирован: 06.10.2017
Arduino: 1.8.5 (Windows 10), Плата:"Arduino Nano, ATmega328P"
 
ВНИМАНИЕ: Категория '' в библиотеке UIPEthernet не является действительной. Установка на 'Uncategorized'
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde: In function 'void loop()':
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:34:38: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("Upper case:", LEFT, 0);
 
                                      ^
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:35:43: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("ABCDEFGHIJKLM", CENTER, 16);
 
                                           ^
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:36:43: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("NOPQRSTUVWXYZ", CENTER, 24);
 
                                           ^
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:40:38: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("Lower case:", LEFT, 0);
 
                                      ^
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:41:43: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("abcdefghijklm", CENTER, 16);
 
                                           ^
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:42:43: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("nopqrstuvwxyz", CENTER, 24);
 
                                           ^
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:46:35: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("Numbers:", LEFT, 0);
 
                                   ^
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:47:40: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("0123456789", CENTER, 16);
 
                                        ^
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:51:35: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("Special:", LEFT, 0);
 
                                   ^
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:52:45: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("!\"#$%&'()*+,-.", CENTER, 16);
 
                                             ^
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:53:45: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("/:;<=>?@[\\]^_`", CENTER, 24);
 
                                             ^
 
C:\Program Files (x86)\Arduino\libraries\LCD5110_Basic\examples\Arduino (AVR)\LCD5110_ViewFont\LCD5110_ViewFont.pde:54:34: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
 
   myGLCD.print("{|}~", CENTER, 32);
 
                                  ^
 
Скетч использует 3058 байт (9%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 180 байт (8%) динамической памяти, оставляя 1868 байт для локальных переменных. Максимум: 2048 байт.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20
Произошла ошибка при загрузке скетча
Invalid version found: 1.04
Invalid version found: 1.04
 
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
 
Скажите что не так?
НиколаМастер
Offline
Зарегистрирован: 06.10.2017

попробовал другую библиотеке

 

Arduino: 1.8.5 (Windows 10), Плата:"Arduino Nano, ATmega328P"
 
ВНИМАНИЕ: Категория '' в библиотеке UIPEthernet не является действительной. Установка на 'Uncategorized'
Скетч использует 2858 байт (9%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 120 байт (5%) динамической памяти, оставляя 1928 байт для локальных переменных. Максимум: 2048 байт.
avrdude: ser_open(): can't open device "\\.\COM6": Не удается найти указанный файл.
 
 
Проблема загрузки в плату. Помощь по загрузке: http://www.arduino.cc/en/Guide/Troubleshooting#upload .
Invalid version found: 1.04
Invalid version found: 1.04
 
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
 
Paulwasw
Offline
Зарегистрирован: 13.06.2018

Часто пользователи мучаются с дисплеем Nokia 5110, ищут проверенные библиотеки, все равно не получается. А проблема-то не в библиотеках... Я проверил несколько, все они работают. Но... При отработке скетча нужно обязательно сверять распиновку подключения дисплея к Arduino. Практически, сколько проектов, столько и вариантов. А если реальное подключение не соответствует скетчу, последний работать не будет ни с одной библиотекой.
А вот распиновка редактируется по-разному, в зависимости от используемых библиотек. Например при использовании библиотек <Adafruit_GFX.h> и <Adafruit_PCD8544.h> это делается в самом скетче в строке создания объекта:
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3); // порты Arduino ( CLK, DIN, DC, CS, RST)

А вот при использовании библиотеки <PCD8544.h> изменения нужно вносить в сам файл библиотеки, распиновка задается там. Либо подключать дисплей в соответствии с библиотекой

Аналогично и со всеми другими библиотеками: распиновку нужно проверять обязательно, вариантов используется множество. Проверено с разными библиотеками, все работает!