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.
Hi,
Just got this 16x2 HD44780 controller from Hacktronics. After reading for a while, and realizing that using just the specified the Arduino wiring is not enough, I landed on Pete Brown's blog post.
I followed his instructions (almost) to the letter:
I soldered the head pins into place (been a while - man, I'm rusty)
I checked the continuity of my 16 pins
I connected all pins as specified in the post, using a mini breadboard, with the exception of Pin 3.
I do not have a potentiometer, so I just connected that pin to GND lcdPins.png20.82KB61 downloads
public static void Main()
{
var lcdProvider = new GpioLcdTransferProvider(
Pins.GPIO_PIN_D12, // RS
Pins.GPIO_NONE, // RW
Pins.GPIO_PIN_D11, // enable
Pins.GPIO_PIN_D9, // d0
Pins.GPIO_PIN_D8, // d1
Pins.GPIO_PIN_D7, // d2
Pins.GPIO_PIN_D6, // d3
Pins.GPIO_PIN_D5, // d4
Pins.GPIO_PIN_D4, // d5
Pins.GPIO_PIN_D3, // d6
Pins.GPIO_PIN_D2); // d7
// create the LCD interface
var lcd = new Lcd(lcdProvider);
// set up the number of columns and rows:
lcd.Begin(16, 2);
// Print a message to the LCD.
lcd.Write("hello, world!");
while (true)
{
// set the cursor to column 0, line 1
lcd.SetCursorPosition(0, 1);
// print the number of seconds since reset:
lcd.Write((Utility.GetMachineTime().Ticks / 10000).ToString());
Thread.Sleep(100);
}
}
What I got is an LCD in the "on" state showing one line of blocks and nothing I try get it to show anything. lcd.png1.65MB61 downloads
From this I deduce I must have been doing something right, to get the controller powered, but I must be missing something as well.
My only guesses are:
I screwed something up while soldering (although then I'd expect this to not work at all)
The potentiometer is a must for Pin 3 - skipping it might have done something
The list of connections Pete specified is not correct for my board/controller (I have an N+)
It is normal to see black blocks when the brightness regulation (i.e. the pot) is missing. By tying the brightness control to +5V, you won't see anything: it looks as powered off.
I don't think just only one resistor would be enough, because you should provide a certain voltage to that pin. I have used two resistors: the first is 680 Ohms to the ground, the second is 10KOhms to the +5V. In this way the voltage on the pin is: 5*680/(10K+680) = 0.32V
Cheers
Biggest fault of Netduino? It runs by electricity.
The Hitachi chip was very well designed. It manages always a 40x4 matrix (if I remember well), and the only difference is the LCD itself. If the display is limited to 16x2 chars, is only a problem of visibility area.
I used the off-display ram to store extra data.
A 1K pot is working good as well, but it makes flowing a current 10x uselessly. The ideal is a 50K pot.
Cheers
Biggest fault of Netduino? It runs by electricity.
I am having difficulty connecting the LCD through a 74HC595 ...
Problem solved ... usb froze and the potentiometer I was using was too strong ... lol cool !
Started with C in 1985, moved to Vb3 ... to vb6 and stopped. Now started with .Net and learning C# and VB.net and wishing VB.net was on MF !
Thanks for all the replies, and I'll go out and get a 10k pot + a bunch of resistors later today.
But I still do have a question: if this has something to do with the brightness (lack of resistance on Pin 3), shouldn't I be seeing 2 lines of blocks rather than one? Will adding resistance solve the problem, or just move me to the next one?
My circuit using a 16x2 display is still working on my breadboard.
I used the 74HC595 and the SPI because it took only three ports.
Anyway, the only "problem" I had was just the brightness: at the very first the circuit seems not working, then by adjusting the pot magically the "Hello world" appeared!
I wouldn't worried about the one-line-of-blocks: just add the pot, then we will talk about.
Cheers
Biggest fault of Netduino? It runs by electricity.
SOLVED!
Well, what do you know? It was my $#itty soldering after all!
After racking my brain, re-wiring the LCD, checking each line of code and visiting tons of blogs (thank you all),
I finally went back to basics: I bought a real soldering station and got rid of the Fry
s $10 house burner. I also got a nice solder sucker.
I de-soldered all my connections, re-soldered them at 700F, re-wired one last time, and presto! It works. Attached image proof