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.

Traveling Tech Guy

Member Since 09 Apr 2011
Offline Last Active Jul 24 2011 05:34 PM
-----

#12937 LCD question

Posted by Traveling Tech Guy on 08 May 2011 - 02:18 AM

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
    Attached File  lcdPins.png   20.82KB   61 downloads
  • I downloaded the library from Codeplex
  • I added the sample code specified in the article
    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.
Attached File  lcd.png   1.65MB   61 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+)

Any ideas of what am I doing wrong/missing?

Thanks,
Guy


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.