Pages: [1]   Go Down
Author Topic: Nokia 6100 Color LCD library  (Read 3970 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 9
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi! I've been fooling around with my Arduino in the last months (and with ATmega MCUs in the last 3 years or so), but this is the first time I'm posting on the forum. Anyway, my name is Cosmin and I'm an undergratuate at the University of Manchester. Now that we got that out of the way:

I wrote a library for interfacing with the Nokia 6100/6610/etc color displays. The source code is on github: http://github.com/lgeek/Arduino-Color-LCD

What I'm planning to do next?
  • some code refactoring
  • adding support for 12 bit colors
  • checking the compatibility with different display controllers (maybe someone could lend me displays with known controllers?)
If you have any feedback or questions, I'm glad to hear them.
« Last Edit: January 10, 2010, 05:09:12 pm by lgeek » Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 56
Eureka does not mean what you think.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Hello!
I have found your excellent description at:
http://www.arduino.cc/playground/Code/LCDPCF8833 The device described there looks rather close to the one I bought from Sparkfun. Please note that I am describing both the display and the break-out-board.

Your instructions are excellent, except for one problem. The IDE can't find the header file despite being placed exactly where your code page wants them placed. This is being tested under Version 18, which was obtained from the Google Code place, and under Cygwin. Do you have any suggestions for fixing the obvious error messages that surface upon clicking the verify button.

/me
--
Time has a reason for moving. Do we?
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 9
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sorry, I didn't write that page. Actually I had no idea that library existed. So which one have you used?
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 56
Eureka does not mean what you think.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Hello!
Actually yours. From your Github storage location as described on the Sparkfun pages for the LCD screen:
 http://www.sparkfun.com/commerce/product_info.php?products_id=569 And the break-out-board is this one:
http://www.sparkfun.com/commerce/product_info.php?products_id=8600

Your description comes up on the 27th entry of the 28 there.

/me
Time does not believe in deadlines. Only in itself.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 9
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OK then. I'll be able to test my library tomorrow on a Windows installation and see what goes wrong. Linux user here, so I have to get to another computer. smiley

LE: In the meantime, make sure you restart the IDE after copying the library files.
« Last Edit: January 14, 2010, 06:18:39 pm by lgeek » Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 56
Eureka does not mean what you think.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Hello!
I just tried the whole business exactly as before on this Windows Seven system running with Cygwin, but on one running Slackware Linux.

But he does have pre-built AVR support installed. I chose to transform Debian ones to what Slackware uses for packaging.

The problem get stranger when I copy the include file from its place as described on storage place to where the AVR tool chain put its. There's a claim of a missing directive.

Whose toolchain are you using there for the Arduino? Prebuilt, did you make it yourself, what? Also which distribution?
-----------

/me
Time and operas do not collide, they move in parallel lines.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 9
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I tried it on Win Vista with Arduino 17 and it worked. The file tree should look like this:
Code:
arduino
|_hardware
   |_libraries
      |_ColorLCD
         |_ColorLCD.cpp
         |_Hardware.cpp
         |_README
         |_examples
         |_ColorLCD.h
         |_LowLevel.cpp
         |_TextOutput.cpp

The Linux distribution I'm using is Arch, with Arduino 17 + avr-libc and avr-gcc from the repository.
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 56
Eureka does not mean what you think.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Hello!
I quite agree. I promptly unzipped a copy of 17 that I have stored with the original folder containing my Arduino work, and tried it, arranging it that way.

Of course it worked. (Building via the verify button.)

Since I also have a copy of what will be 18 from Google Code, and that's my primary place I decided to repeat it there. Of course the same problem happened. I need to confirm of course where the run.sh script is launching from either the dist directory or the build one but then I'll know more.
-------

/me
Time is something created by the Timelords to keep in a TARDIS.
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 56
Eureka does not mean what you think.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Hello!
I've just examined the header pages for the library you wrote.

In it you created or even selected Port D for this. I've examined the description for the 328 part that's on my Arduino Duemilanove, see:
http://arduino.cc/en/Main/ArduinoBoardDuemilanove and while I have seen before people describe a "Port D" for their sketches, and port numbers. Pin mapping comes up here http://arduino.cc/en/Hacking/PinMapping168

And of course the question:
Are the pins numbered 2, 3, 4, 5 matching these, Digital 2, 3, 4, 5?

I imagine they are of course, and am planning on trying the first example tomorrow or Sunday.

Oh and what's the license on your code that's in the storage hub? Is it the same as that used on the regular Arduino places? Most of them are GPL as it happens.
--------------

/me
Time has more issues then we do why else can it not be properly tracked.
Logged

Brebu
Offline Offline
Sr. Member
****
Karma: 1
Posts: 262
New to Arduino
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello
I'm trying to use ColorLCD library for Nokia 6100 lcd using the following configuration:
PORD pins 2,3,4,5 are connected to lcd through  1,8k/3.3k voltage dividers
From a regulated 7V/500mA power supply i go in an lm7806(6V for backlight) and from the lm7806 in an lm1117 for 3.3V for logic and lcd Vcc.

When i try the SimpleDemo sketch from the library the result is shown here http://www.grozeaion.com/download/arduino
 Any idea why this is happening?
One more thing
lcd.colorFill(0, 0, 132, 26, BLUE); shows the filled rectangle at the top of the screen (this is ok) bu if i change it to
lcd.colorFill(0, 50, 132, 26, BLUE); nothing is shown
if i change the 50 to 70 then the box is shown at the bottom
What do i have to do to display the box in the middle of the screen or even better to move it using an for statement?
Thank you!
Logged

Brebu
Offline Offline
Sr. Member
****
Karma: 1
Posts: 262
New to Arduino
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Well..i got something out of it

#include <ColorLCD.h>

// Define some color codes
#define WHITE 0xFF
#define BLACK 0x00
#define RED     0b11100000
#define GREEN   0b00011100
#define BLUE    0b00000011
#define YELLOW      0xFC
#define MAGENTA      0xE3
#define CYAN      0x1F
#define GRAY    0b01101110

// Create a instance of the MyLCD class
ColorLCD lcd;

void setup()
{
  // Init serial comunication and the LCD display
  Serial.begin(9600);
  lcd.LCDInit();
  //lcd.reset();
  lcd.setBackground(GRAY);//works only with GRAY
}
void loop()
{
  lcd.moveCursor(3, 10);  //if x is 3 -white screen; if x is between 39 -41 i've got a black box in lower side and a white color with noise as background
  lcd.println("0000000000000000", WHITE);//less than 16 chars- screen becomes darker
  //if color is added then it works with WHITE,BLUE,MAGENTA,CYAN
  //while(1);//not working
  delay(1000);
}
« Last Edit: April 26, 2010, 02:43:39 pm by gvi70000 » Logged

Pages: [1]   Go Up
Jump to: