Go Down

Topic: 4x20 sparkfun lcd seems broken (Read 5582 times) previous topic - next topic

liuzengqiang


is TXPin2 the correct pin?, it looks like it is connected to pin 1 (port 1) which is the normal serial pin however SoftwareSerial serial is defining pin 2 as the serial tx port It looks to me like that wire is one pin over.. After all it looks right... it is labeled TX. Possible ??

Doc


The softwareserial.h must be a decoy. That's what I figure. All the functions defined and print commands in the code are using "Serial", which is the first serial port. So the connection seems correct. Too bad the display doesn't have an ATMEGA328P on it. Sparkfun actually sells that type of display. I suspect either the OP did something that damaged the MCU or somehow threw the MCU in a never-ending loop. Such thing is possible, if say the OP accidentally puts a setting command (say it's setting the display back light level) in a loop and rewrote the MCU's EEPROM 100,000 times in the matter of seconds. Then the MCU boots up once again and find all FF in the EEPROM and does something unexpected.

So OP, did you use the backlightXX functions anywhere in your code? If yes, where's the code? If no why defining the functions?
Serial LCD keypad panel,phi_prompt user interface library,SDI-12 USB Adapter

floresta

Quote
... Possible ??


It's possible, but it won't fix his current problem.  According to his original post "It doesn't even show the splash screen when it is connected."

The display of the splash screen is totally independent of the Arduino.  When he connects power and ground the splash screen should appear.  The fact that his display shows two rows of blocks means that the LCD controller is not being properly initialized for his display.  This is a function of the PIC processor, NOT the Arduino.  Nothing you do with the Arduino (short of using it somehow to reprogram the PIC) will fix this.


Don


floresta

Quote
So OP, did you use the backlightXX functions anywhere in your code?


Take another look at the update in his original post.  This is what did him in.  It it could very well effectively give the same result as your hypothesis.

Don

liuzengqiang


Quote
So OP, did you use the backlightXX functions anywhere in your code?


Take another look at the update in his original post.  This is what did him in.  It it could very well effectively give the same result as your hypothesis.

Don


I see. That uploaded arduino sketch was nothing but a random nonsense considered by the LCD MCU and some combination may have caused the MCU to change setting to something irreversible or worse cause the MCU to erase and rewrite EEPROM too many times. Probably get a different unit quick and local. 16 days is not a lot for transatlantic shipping.
Serial LCD keypad panel,phi_prompt user interface library,SDI-12 USB Adapter

rasmus91

#19
May 09, 2012, 10:34 am Last Edit: May 09, 2012, 01:44 pm by rasmus91 Reason: 1
If you count the pins, while looking at the labels, you will realise it is connected to the second pin the one labelled "tx" and that has worked until now.

For the rest of you guys I have another question, I can get a hold of a programmer to upload the code (whatta ya know, it is available after all: http://dlnmh9ip6v2uc.cloudfront.net/datasheets/LCD/Monochrome/serlcd-v2_7_4line_10MHz.zip )

but how do I use one of those, and is it possible from Ubuntu? (yes, i run ubuntu 12.04 as the only system on my laptop)

[qoute]So OP, did you use the backlightXX functions anywhere in your code? If yes, where's the code? If no why defining the functions?[/qoute]

It was my plan to later integrate some sort of regulator for the light, but never got around to it. Besides, this is some code that was found on the arduino website, i just can't seem to find it again :(

floresta

Quote
I can get a hold of a programmer to upload the code ... but how do I use one of those ... and is it possible from Ubuntu?


You will probably have to ask the person from whom you get the programmer.  You may be better off actually doing the programming with the computer that is normally used with the programmer since it will have any required drivers already installed.

Basically you want to unzip the file you located and use the .hex file that you find.


Don

varnonga

Well, one thing you can do, if your up for it, is put a FET (transistor) on one of your controller I/O pins and use it to turn power on and off to the LCD display. That way your controller can power up while the LCD display is off.

You can then power the LCD display on, wait 250 milliseconds (you need to send it before the splash screen is over which is the first 500 milliseconds of boot-up), then send the baud rate reset command (0x12) to reset the display to 9600. Then you can reset the baud rate for whatever you want.

A good FET might be a Supertex Inc. VN3205N3-G.

floresta

He needs to activate his flux capacitor first.

Don

Go Up