I've sent a description of this problem to Sparkfun but I'm hoping someone here might have some insight.
I am using a blue 7-seg serial display, and I am having a problem.
I use this display to show temp readings (digits) and that works fine. I am using 9600 baud (default) over a SOFTWARE serial port called "display."
However, in certain cases I want to show some letter characters. I have never been able to get the display to work properly with letters. I get what first appeared to be garbage on the screen. But now I have deduced that it is receiving my commands properly, but not lighting up all the proper segments.
As part of my debugging, I have a push button on an Arduino, and when this button is pushed I will reset the display and send AAAA.
display.print(0x76,BYTE); //reset display.print("A"); display.print("A"); display.print("A"); display.print("A"); delay(6000); //wait
After the delay, the screen resumes displaying the proper temperature. (This part works properly).
I can push the button over and over, and I notice that instead of getting AAAA I will get some subset of AAAA. I may, for instance get one or two complete A's but the other A's will have only some of their segments lit up. So what appeared to be garbage to me initially is actually an "A" with missing segments. Each time I push the button, the incomplete "A's" are in different places. I never get four A's. Once I got two A's but usually I only get one, with the other characters being "broken A's."
So, my suspicion is that the display is properly receiving my 4 Bytes of data, but that it isn't properly displaying the characters on the screen.
Again, with digits (numbers), it's always dead on accurate.
Any ideas? I was wondering if maybe slowing down the baud rate would help (it's at the default 9600 now). I tried this but couldn't get it to work at any speed other than 9600. Could there be some noise in my system that is confusing the processor inside the display? I do have a 10K pull down resistor on the data line, which I added thinking that there was some noise on that line. But again, displaying digits (numbers) has always worked properly and adding the pull-down R did not change anything.