Pages: [1]   Go Down
Author Topic: Large Font for 16x2 Displays  (Read 1562 times)
0 Members and 1 Guest are viewing this topic.
Raleigh, North Carolina, USA
Offline Offline
Newbie
*
Karma: 0
Posts: 17
I Void Warranties
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I stumbled across this topic here, but wanted to 'tweak' the look of some of the letters.  The original code was really hard to edit, so I started from scratch and wrote up this little sketch+library.

The down-side appears to be with these HD44780 Blue/White displays refresh rate.  Any scroll rate faster than about 500ms (per screenfull) leaves traces/shadows like crazy.  However, I'm fairly inexperienced with Arduino's and LCDs, so maybe my code isn't as efficient as it could be.

Any tips for making my code faster or otherwise limiting the appearance of traces/shadows?



* LCD.jpg (209.75 KB, 849x535 - viewed 15 times.)
Logged

Raleigh, North Carolina, USA
Offline Offline
Newbie
*
Karma: 0
Posts: 17
I Void Warranties
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Here's a link to my post on the adafruit forum too.
Logged

0
Offline Offline
Shannon Member
****
Karma: 200
Posts: 11718
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


The down-side appears to be with these HD44780 Blue/White displays refresh rate.  Any scroll rate faster than about 500ms (per screenfull) leaves traces/shadows like crazy. 

These are passive matrix displays, you don't get fast switching without active matrix (a.k.a. TFT)
Logged

[ I won't respond to messages, use the forum please ]

Central MN, USA
Offline Offline
Tesla Member
***
Karma: 72
Posts: 7171
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Why not trying this library?

http://liudr.wordpress.com/libraries/phi_big_font/
Logged


Dallas, TX USA
Offline Offline
Faraday Member
**
Karma: 63
Posts: 2649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Doc,
There does not seem to be any code in the repository: http://code.google.com/p/phi-big-font/source/browse/
I also tried a git clone and got an empty repository.
There are download images but the code does not appear
to be in the repository.

--- bill
Logged

Manchester (England England)
Online Online
Brattain Member
*****
Karma: 603
Posts: 33396
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

As Mark says the problem is with the display technology not the code. If your code were able to make it scroll faster then the display problem would be worse.
Logged

Raleigh, North Carolina, USA
Offline Offline
Newbie
*
Karma: 0
Posts: 17
I Void Warranties
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yeah, I couldn't access any code either.  I also wanted sub-character scrolling, not just one at a time, but one column at a time.  Besides, I needed the programming practice anyway and am comfortable with github.

The other thing I wanted, was to be able to just pass an ASCII string into a function and let it do it's thing.  See scrollString() near the end of BigWords.h at https://github.com/cevich/sketchbook/tree/BigWords/BigWords

I took a quick video of what this looks like @ 500ms update (per screenful):
http://youtu.be/hjdMBifxWDk

Though I noticed something interesting, if I set it less than 500ms, it looks the same!  So there's certainly some gross inefficiencies here.  I suspect it has to do with rendering directly onto the screen one character at a time smiley-sad
Logged

Raleigh, North Carolina, USA
Offline Offline
Newbie
*
Karma: 0
Posts: 17
I Void Warranties
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

As Mark says the problem is with the display technology not the code. If your code were able to make it scroll faster then the display problem would be worse.

Out of curiosity, would a VFD or OLED display not show this artefact so much?
Logged

Raleigh, North Carolina, USA
Offline Offline
Newbie
*
Karma: 0
Posts: 17
I Void Warranties
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thinking about it, yeah, I agree.  If I make the code faster, it'll probably just look worse.  Though for my own edification, what would be the best optimization strategy here?  

Could putLCDChar() render into an off-screen buffer during "wait" cycles.  Then print the entire buffer when my interval elapses in scrollString()?

The only other strategy I know of is "the long way", instrument each function to track and print an average execution speed.  Then rework each function starting with the slowest one.  I'm a Linux guy, where strace and ltrace will do function-timing for you.  

Are there any handy debugging libraries or similar tools for Arduino which can do this?
« Last Edit: November 20, 2012, 07:47:15 am by r4z0r7o3 » Logged

Manchester (England England)
Online Online
Brattain Member
*****
Karma: 603
Posts: 33396
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
would a VFD or OLED display not show this artefact so much?
Correct they would not show this because they have a much faster switch time.
Logged

Central MN, USA
Offline Offline
Tesla Member
***
Karma: 72
Posts: 7171
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Doc,
There does not seem to be any code in the repository: http://code.google.com/p/phi-big-font/source/browse/
I also tried a git clone and got an empty repository.
There are download images but the code does not appear
to be in the repository.

--- bill

Might be a glitch. Here is the download:

http://code.google.com/p/phi-big-font/downloads/detail?name=phi_big_font%2020120322.zip&can=2&q=#makechanges
Logged


Dallas, TX USA
Offline Offline
Faraday Member
**
Karma: 63
Posts: 2649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes I saw the zip download images.
But it looks like there is not any code in the actual git repository.


--- bill
Logged

Central MN, USA
Offline Offline
Tesla Member
***
Karma: 72
Posts: 7171
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes I saw the zip download images.
But it looks like there is not any code in the actual git repository.


--- bill

I am new to git repository. Still learning about it. Any quick tutorial you know of?
Logged


Pages: [1]   Go Up
Jump to: