Using LCD on EZ-expander

I am a complete beginner, I am taking a micro controllers class as part of my electrical engineering coarse work. I am working on my project for this class but I have run into problems. My project will include a 4 - 7 segment display, a keypad, and a lcd screen. Since I am using the UNO board I will not have enough pins for all of my items. Therefor I purchased the EZ-Expander.

The issue: I can get my LCD screen to work fine if I use non EZ-Expander pins such as A0 - A5 but if I plug my lcd screen into the EZ-Expander I can not get anything to display. All I can get is the back light.

I pulled up the EZ-Expander example and ran that with a led and it worked on every pin (20-35) .

My code is very simple right now as I am just trying to get the lcd display to work on the expander. The code is a build off of the lcd "hello World" example. I am not the greatest coder, so try to use non technical terms.

My Code:

#include <EZExpander.h>
#include <LiquidCrystal.h>
EZExpander expander = EZExpander();

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(28, 29, 30, 31, 32, 33);

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");

}

void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}

pin 28 = rs
pin 29 = enable
pin 30 = d4
pin 31 = d5
pin 32 = d6
pin 33 = d7

Thank you for your time and help.

Therefor I purchased the EZ-Expander.

On sale at WalMart? You need to tell us where you got the library you are using. How does the library know which pins it is controlling?

I downloaded the library directly from the maker of the board. EZ-Expander.

I purchased the board from http://www.makershed.com/products/ez-expander-kit

I believe that you need to modify the LCD library to make use of that ez expander thing. Maybe just changing the calls to digitalWrite by expander.digitalWrite would work. Or just buy an arduino mega :slight_smile: