Nokia 5110 display

Hello. I am trying to get my Nokia 5110 display to work. I'm highly annoyed by the countless libraries that exist but do not work at all. I am just getting vague errors. The only help I got is a single file for the display (thus without any libraries at all) with which I can make text appear on my screen. Unfortunately, I need something much more powerful than this, I need text in different sizes and small pictures. I'm unable to do this, though, since there are no working libraries at all. Can anyone help me?

I am just getting vague errors.

Like?

Using the bitmap example from this library: Electronics - Henning Karlsen
gives me the following:

no matching function for call to 'LCD::drawBitmap(int, int, uint8_t [], int, int)'

In file included from LCD5110_Bitmap.cpp:18:
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:41:22: error: WProgram.h: No such file or directory
In file included from LCD5110_Bitmap.cpp:18:
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:45: error: ISO C++ forbids declaration of 'uint8_t' with no type
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:45: error: expected ';' before '' token
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:46: error: 'uint8_t' does not name a type
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:47: error: 'uint8_t' does not name a type
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:48: error: 'uint8_t' does not name a type
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:49: error: 'uint8_t' does not name a type
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:50: error: 'uint8_t' does not name a type
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:64: error: 'byte' has not been declared
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:65: error: 'uint8_t' has not been declared
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:66: error: 'uint8_t' has not been declared
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:69: error: ISO C++ forbids declaration of 'uint8_t' with no type
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:69: error: expected ';' before '
' token
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:70: error: 'uint8_t' does not name a type
LCD5110_Bitmap.cpp: In function 'void loop()':
LCD5110_Bitmap.pde:-1: error: no matching function for call to 'LCD5110::drawBitmap(int, int, uint8_t [], int, int)'
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:66: note: candidates are: void LCD5110::drawBitmap(int, int, int*, int, int, bool)
LCD5110_Bitmap.pde:-1: error: no matching function for call to 'LCD5110::drawBitmap(int, int, uint8_t [], int, int)'
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:66: note: candidates are: void LCD5110::drawBitmap(int, int, int*, int, int, bool)

C:\Users\Marco\Desktop\arduino-1.0.1\libraries\LCD5110_Basic/LCD5110_Basic.h:41:22: error: WProgram.h: No such file or directory

Read here - http://arduino.cc/forum/index.php/topic,97455.0.html - Point 2. That is not a vague error. It is quite specific. Searching the forums, or google, would have showed you the solution.

Just replace WProgram.h with Arduino.h

Have you tried the Adafruit library for that display? Their library can handle different text sizes, graphics, etc. quite well.

It gave me similar problems. Fixed the library by that replacing trick. I'm having some odd troubles with it, though. THe pictures appear, but the parts that are supposed to be white are grayish. I should try to fix the Adafruit version.

EDIT: The problem seems to have a different source.

'class Adafruit_PCD8544' has no member named 'fillCircle'
In file included from pcdtest.cpp:20:
C:\Users\Marco\Desktop\arduino-1.0.1\libraries\Adafruit5110/Adafruit_PCD8544.h:47: error: expected class-name before '{' token
pcdtest.cpp: In function 'void setup()':
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'fillCircle'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'setTextSize'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'setTextColor'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'setCursor'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'println'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'setTextColor'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'println'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'setTextSize'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'setTextColor'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'print'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'println'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawBitmap'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'invertDisplay'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'invertDisplay'
pcdtest.cpp: In function 'void testdrawbitmap(const uint8_t*, uint8_t, uint8_t)':
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawBitmap'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawBitmap'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.cpp: In function 'void testdrawchar()':
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'setTextSize'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'setTextColor'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'setCursor'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'write'
pcdtest.cpp: In function 'void testdrawcircle()':
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawCircle'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.cpp: In function 'void testfillrect()':
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'fillRect'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.cpp: In function 'void testdrawtriangle()':
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawTriangle'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.cpp: In function 'void testfilltriangle()':
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'fillTriangle'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.cpp: In function 'void testdrawroundrect()':
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawRoundRect'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.cpp: In function 'void testfillroundrect()':
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'fillRoundRect'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.cpp: In function 'void testdrawrect()':
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawRect'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.cpp: In function 'void testdrawline()':
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawLine'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawLine'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawLine'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawLine'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawLine'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'width'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'height'
pcdtest.pde:-1: error: 'class Adafruit_PCD8544' has no member named 'drawLine'

Its a monotone LCD. Black and Grayish are its two colours, and using a different library wont change that.

But this kind of grayish looks like pixels being in a half turned on state. The not activated pixels aren't off. They were with some earlier code that only allowed me to write text.

It's a 3.3V device. How are you driving it?

Sorry i should have mentioned, the Adafruit library also requires their Adafruit GFX library -- the gfx has all the graphics functions. I thought the 5110 library also mentioned it in the readme.

I've used it with my 5110 it's very good.

dxw00d:
It's a 3.3V device. How are you driving it?

I connected the VCC to +5v, and most of the others (except for the grounds) to the digital pins with some resistors, just like a schematic I saw somewhere on the internet. Strangely, it becomes worse when I connect the VCC to 3,3V. When I do that, I can only see an image if I look at it from an angle. otherwise, it looks completely black. Maybe it somehow still gets too little power?

You could try to adjust the contrast, that worked for me:

http://arduino.cc/forum/index.php/topic,109785.0.html