I am trying to get custom characters working with the Parallax 2x16 backlit LCD. Whenever I try to display a custom character, it either gives me a weird turtle looking sprite or nothing at all.
Does the baud rate match your display settings?
Are you using a Mega?
Are you using the correct serial port?
Have you been successful in displaying non-custom characters?
It works when I ooad it into custom character one and display custom character one, but not loading ro displaying character zero with 248 instead of 249 and Serial.writing(0). Doing normal text doesn't help either.
I guess I am confused. In your original post you said that whenever you try to display a custom character it gives improper results. Now you are saying that it does work when stored in location '1', but not in location '0'. Have you tried the other locations?
In your first code fragment you are loading a character into location '1' and displaying the character in location '1'. In your second code fragment you are loading a character into location '1' and displaying the character in location '0'.
I think we need to see some code (a complete sketch) along with a picture or description of the results of running that code.
Dante12129:
I got it to work using all custom character sbut when I try Serial1.write(B00000) it tells me, "Call of overload write(int) is ambiguous."
Use Serial.write((byte)0); you will be fine. It's arduino 1.0 artifact so do this every time you want to output a zero at the serial port. Details here under bullet #1:
New to this forum and the arduino. neat little gadget, some experience with STAMP but not alot.. on this thread, i was having the same trouble and just to clear it up for anyone else that may come along, take the B out and use the decimal numbers..
instead of - Serial.write (B10001);
New to this forum and the arduino. neat little gadget, some experience with STAMP but not alot.. on this thread, i was having the same trouble and just to clear it up for anyone else that may come along, take the B out and use the decimal numbers..
instead of - Serial.write (B10001);
use - Serial.write(17);
No - use:
Serial.write(17); // 1 0 0 0 1
Normally I would say that this is a poor idea since the data involved is bitmapped. In other words the decimal number 17 bears absolutely no relationship to the task at hand whereas the binary value 1 0 0 0 1 perfectly expresses which bits in the display are to be dark and which are to be light.
However for some strange reason it seems that the 'C' compiler cannot natively deal with the binary radix so this had to be handled by the Arduino software and this is probably part of the reason for this problem.
If you insist on using the decimal approach it would be a good idea to include the binary value in a comment - otherwise when you look at this code in the future the decimal value will just be another 'magic number'.