Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Graphical LCD


  • Please log in to reply
15 replies to this topic

#1 Miha

Miha

    Advanced Member

  • Members
  • PipPipPip
  • 94 posts

Posted 20 January 2011 - 08:24 AM

I bought this Graphic LCD 128x64 STN and I'm now wondering how to use it with Netduino. Where do I start (besides the datasheet)?

I hope I can use without some sophisticated intermediate electronics?

Thanks,
Miha.

#2 Jim Wells

Jim Wells

    New Member

  • Members
  • Pip
  • 8 posts
  • LocationOrlando FL

Posted 20 January 2011 - 02:35 PM

I don't have one of those screens, the complexity keept me to the 16x2 Serial displays from Sparkfun. Looking around I found this, http://forums.netdui...-ks0108-driver/ It might help you.

#3 Jarrod Sinclair

Jarrod Sinclair

    Advanced Member

  • Members
  • PipPipPip
  • 50 posts
  • LocationSF Bay Area, CA

Posted 20 January 2011 - 05:10 PM

I bought this Graphic LCD 128x64 STN and I'm now wondering how to use it with Netduino. Where do I start (besides the datasheet)?

I hope I can use without some sophisticated intermediate electronics?

Thanks,
Miha.



just looking at the application notes from that website, it would appear that this site has some good information to start with and use for testing the LCD. I also found this on Sparkfun. It has some c code that you would need to port but it gives you a place to start.

#4 Ravenheart

Ravenheart

    Member

  • Members
  • PipPip
  • 18 posts
  • LocationBulgaria

Posted 20 January 2011 - 05:59 PM

TinyCLR has such a display for the FEZ line, perhaps you could take a look at their drivers and see if they can be ported.

#5 Miha

Miha

    Advanced Member

  • Members
  • PipPipPip
  • 94 posts

Posted 20 January 2011 - 07:07 PM

Thanks for the pointers guys. I'll take a look. BTW, how does a "driver" look like? Is it just a class which encapsulates the logic for communication with specific component or is it something else? Miha

#6 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 20 January 2011 - 07:09 PM

Thanks for the pointers guys. I'll take a look. BTW, how does a "driver" look like? Is it just a class which encapsulates the logic for communication with specific component or is it something else?


Exactly. Drivers are C# code wrapped in a class, containing all the logic and communication necessary to interface with a component. Some might call them "component classes."

Chris

#7 Miha

Miha

    Advanced Member

  • Members
  • PipPipPip
  • 94 posts

Posted 13 February 2011 - 08:16 PM

Hi guys!

The instructions in the "readme" of this KS0108 driver say:
put the OpenLabs.NETMF.Hardware.LCD folder in the DeviceCode\Interop\ folder
put the OpenLabs.NETMF.Hardware.LCD.featureproj Framework\Features\ folder
then add the OpenLabs.NETMF.Hardware.LCD feature to the netduino solution via the Solution Wizard.
recompile firmware and download.
Run the demo application to see a simple starfield on your display.

This all seems pretty straightforward, but I don't even know where to find this DeviceCode\Interop.
I don't know what it means to recompile the firmware with this code, as I've never done it before (are there some step-by-step instructions somewhere)? I suppose I would need a source firmware for this to work?

So, I decided to just create a managed wrapper, replicating functionality in the native and managed code of the driver.

Of course it does not work :(.

Basics first:
  • Connecting 3rd pin (V0 - Operating voltage for the LCD (variable)): I connected it to the 5V, same as pin 1 on the LCD (Vdd - Supply voltage)). The manual says that Vdd-V0 should be typically 9.5V, so I guess V0 should be more like -5V than 5V? How can I get -5V on a ND+?
  • I didn't even connect VEE (Operating voltage for LCD (variable)) - what does it do?

And then, there is my software, which is drawing some pixels (or, it is supposed to be :)), but nothing shows up on the screen.

Is there a way I could test that the LCD is working somehow? (maybe if would know how to recompile firmware and download to device, that would be a good start)
I saw that characters can be written to the display as well, but I found no instructions as to what to write to LCD to make it work (well, even pixels don't work for me at the moment). Anybody knows?

Thank you for any pointers,
Miha.

#8 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 13 February 2011 - 11:50 PM

Hi Miha, This particular accessory uses a special build of the Netduino firmware (with the files you're asking about), probably to eek out the best performance from the microcontroller. If you head over to the Downloads page, you can download the .NET MF source and the Netduino source (which is where you'll find the files mentioned in that README file). Then you can use the free GCC compiler to build it. If you search for gcc in the search box, you should find the compiler instructions that community members have put together. Chris

#9 Miha

Miha

    Advanced Member

  • Members
  • PipPipPip
  • 94 posts

Posted 14 February 2011 - 06:41 AM

If you head over to the Downloads page, you can download the .NET MF source and the Netduino source (which is where you'll find the files mentioned in that README file). Then you can use the free GCC compiler to build it. If you search for gcc in the search box, you should find the compiler instructions that community members have put together.

Chris


Thanks Chris. I'll give it a shot. I suppose I can return back to the 'default' firmware later on without issues.

Miha

#10 Miha

Miha

    Advanced Member

  • Members
  • PipPipPip
  • 94 posts

Posted 28 February 2011 - 08:32 AM

An update on the issue: I've asked a lot about building a firmware (and learned a lot too in the process!) and have successfully built a firmware with LCD drivers. I ran the supplied program to test the LCD, hoping that I will see something (because the program I wrote in native C# wouldn't show anything). Unfortunately, nothing shows up. This means that I either have some other LCD or I have wired it incorrectly (I checked several times) or I have damaged it somehow. The trouble is, that I don't even know where to start checking. I can see that the potentiometer for LCD contrast is working, the program is running, but LCD is dead. Maybe this LCD is too much for me to begin with - and I might be better off with some smaller character only LCDs, which are easier to hook up to Netduino? Thanks, Miha.

#11 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 28 February 2011 - 10:56 AM

Hi Miha, If you're just starting out and you don't have a prebuilt native driver for your display, it's definitely easier to start out with an LCD display (or a simple graphical display that you can control from native code). We write video drivers for displays, and there are a lot of ways they can work...and a lot of little subtle things that can throw the process off. Chris

#12 Miha

Miha

    Advanced Member

  • Members
  • PipPipPip
  • 94 posts

Posted 28 February 2011 - 11:11 AM

If you're just starting out and you don't have a prebuilt native driver for your display, it's definitely easier to start out with an LCD display (or a simple graphical display that you can control from native code).


Chris,

so which one do you suggest? The one I have is also serial (edit: apparently not, at least not in a SerialPort sense) and from a post on this forum I gather serial is the easiest? How do I know which one is "simple to program" and which one is not? A bit silly question I guess, but I hope you get the point.

I've spent so much time on this LCD already I might as well buy a new one, but I'd like to know which one, so that I don't spend money for nothing. (Edit: this would probably fit the bill nicely)

Of course, I'd be most interested in making the one I have work, but since there are no simple troubleshooting procedures to check whether some parts of it are working or not, I guess I'm stuck. I might as well start and try to port some Arduino code for it -- only I suspect I will fail again, since the drivers and sample app I compiled don't work with it anyway.

Thanks,
Miha.

#13 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 28 February 2011 - 12:04 PM

Hi Miha, I don't have any specific favorites, so here's my recommendation: look at the displays people have been using successfully in the Project Showcase forum...and pick the one you like best. If that's a terrible recommendation, let me know what you're looking for (characters vs graphical, frequent vs. occassional refereshes, fast vs. slow) and I'll take a look at them and make a few recommendations... Chris

#14 Miha

Miha

    Advanced Member

  • Members
  • PipPipPip
  • 94 posts

Posted 24 July 2011 - 10:10 AM

If that's a terrible recommendation, let me know what you're looking for (characters vs graphical, frequent vs. occassional refereshes, fast vs. slow) and I'll take a look at them and make a few recommendations...


Hey Chris!

Been busy with my work for a "while" now :), but have come back to developing my project. Still having problems with this LCD of mine, so I'm going to purchase something easier. I guess that any serial would do, or? My needs are really simple. 16x2 characters would suffice.

I looked at project showcase where there are excellent libraries, but I don't know (did I miss that somehow??) for which LCDs are they.

Would something like [1] work with library showcased in [2]?

[1]:http://www.skpang.co.uk/catalog/serial-enabled-16x2-lcd-white-on-black-33v-p-921.html (I'm from EU, so buying from EU distributors makes more sense)
[2]:http://forums.netduino.com/index.php?/topic/756-serial-graphic-display-from-sparkfun-set-of-classes/

Thanks,
Miha.

#15 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 24 July 2011 - 05:41 PM

Hi Miha,

I'd recommend starting out with one of the displays which already has a sample project going for it.

Either in the Wiki (see this Nokia screen for example) or on the Forums.

I'd recommend Serial or SPI for simplicity--or I2C if it has pull-up resistors already included on it.

Chris

#16 Miha

Miha

    Advanced Member

  • Members
  • PipPipPip
  • 94 posts

Posted 24 July 2011 - 07:23 PM

I'd recommend starting out with one of the displays which already has a sample project going for it.
Either in the Wiki (see this Nokia screen for example) or on the Forums.
I'd recommend Serial or SPI for simplicity--or I2C if it has pull-up resistors already included on it.


Thanks Chris! The raw communication method is killing me. I'm porting some AVR code to try and work with this thing, but I'm about to give up on it. Also, it used most of my pins, and I need to connect a clock, a temp sensor and a few buttons to it... So serial or SPI really seems like a best alternative. I'll see what EU dealers have with regards to Nokia screen.

Thanks again!

Miha




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.