Here's the System I was playing with this morning - a stack of Arduino (which happened to be a MEGA), a DDS shield (an early prototype) and a proto shield hosting a rotary encoder and some push buttons. You can see the original 16*4 LCD display and the new 20*4 unit...
I wanted to produce some code that would allow users to run either the 16*4 or the 20*4 display - which required a certain amount of juggling with the display routines. Accordingly, I've added a constant at the top of the program that the user must set to the appropriate value:
lcdWidth = 16; or lcdWidth = 20;
according to the display they are using. The same code then compiles to manage the display accordingly.
The somewhat congested display format of the original system is retained if the 16*4 display is chosen...
but things get a little more easy on the eye when the new display is used ...
I'm afraid the new display is REALLY difficult to do justice to in a photograph (at least with the poverty of my equipment and skills). Take it from me - it looks great in real life. Better still - look at one on the Kanga stall at a rally near you - you'll see what I mean!
I also took the opportunity to address a few other issues when I was messing with the code this morning - hopefully this is a genuine enhancement over what already was an enhancement on the original VFO system!
The code is available for download from here .
Let me know if you have any problems / suggestions - but remember that this is offered as a free demo of what can be done, rather than a finished, polished system. You get what you pay for!
...-.- de m0xpd