I am back with my 4th version of my project, hoping that this time I will attain my targets.
The new system is shown in an attached picture.
As you can see, the led is lit, the LCD Display is active, but only a couple of black squares shows in to lines and there is no backlight.
The image of my project can be seen here:
To check the display and board I used the following sketch:
#include <LiquidCrystal.h>
/* LiquidCrystal display with:
LCD 4 (RS) to arduino pin 12
LCD 5 (R/W) to ground (pin 14)
LCD 6 (E) to arduino pin 11
LCD DB4, DB5, DB6, DB7 on arduino pins 7, 8, 9, 10 */
LiquidCrystal lcd(12, 14, 11, 7, 8, 9, 10);
void setup()
{
lcd.setCursor(2,0); // Position cursor on line x=3,y=1
lcd.print("4x20 LCD DISPLAY"); // Print a message to the LCD
lcd.setCursor(3,1);
lcd.print("with controller");
lcd.setCursor(7,2);
lcd.print("HD44780");
lcd.setCursor(1,3);
lcd.print("useful for Arduino");
}
void loop()
{
}
It compiles ok, uploads to the board, but do not show results in the LCD Display.
It should be accepted, but only in your setup I believe, I'm using 0017, and tried on 0016 as well, you do need the lcd.begin to get anything to display. (Using a 4x20 with HD47780)
But I've got to agree with the pin to ground, what that does is always enables WRITE. Pin5 == Read/Write. And since the HD47780 is only WRITE compatible only, no need to try read it.
Thanks to all that helped me on solving my problems. It was just a matter of correct wiring.
At present I have the following wiring:
LCD Board Freeduino Board
Pin No. Pin No.
1 Vss GND
2 Vdd 5V
3 V0 variable (contrast)
4 RS data 12
5 R/W read/write 14
6 E enable 11
7 data
8 data
9 data
10 data
11 data 7
12 data 8
13 data 9
14 data 10
15 Anode backlit to 3.8 V
16 Cathode backlit to GND