It is all very simple and uses only 6 PINS TO INTERFACE WITH!
Note: the image is not mine and comes from http://www.micro-examples.com/public/microex-navig/doc/078-lcdscope.html
Remove these ads by
Signing UpStep 1Parts needed
1x '''Arduino (any kind will do)'''
1x '''HD44780 character LCD'''
'''lots of non-stranded wire'''
One 10k Potientiometer
| « Previous Step | Download PDFView All Steps | Next Step » |








































Thank you
I've just been creating my own symbols for use on a weather station I'm making.
I've found out that the arduino IDE (0.17 at least, not sure about 0.18) and the LiquidCrystal library that comes with it is only capable of assigning 8 custom characters.
Hopefully someone knows of a workaround or can supply us with a library.
Also, the 5x8 matrix is a technical limitation to do with how the LCD is made and controlled, completely different approach than graphical LCDs.
If you wanted to use a 6x10 matrix you'd have to make each char take up 2 charactors horizontally and 2 vertically. I guess it might be possible, but you'd end up with an 8x1 display.
Hope I've explained this clearly enough. The Cageybee
I just received my first arduino + 20 x 4 display 6 days ago, so don't shoot me, I'm just a beginner.
As PC-programmer I normally would define all characters in the setup-part of my program, but I tried to define different characters in the loop part for my Arduino and... it works !
Just define all characters you want in several arrays and use those to recreate the characters you want while... you're in the loop. Every time you need a new character you'll have to recreate it. "Old" characters will be replaced by new ones, so... you'll have to recreate the old ones as well if you want to use those again. It's probably easiest to recreate every non-standard character each time you use it.
A small example which displays a smiley with and one without a nose using the same self defined character address . I've used the pins for the display (12, 11, 5, 4, 3, 2) as used in the arduino examples and you might need to change the setup part if you've got a different lcd-display.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte smiley[8] = {
B00000,
B10001,
B00000,
B00000,
B10001,
B01110,
B00000,
};
byte nose[8] = {
B00000,
B10001,
B00000,
B00100,
B10001,
B01110,
B00000,
};
void setup() {
lcd.begin(20, 4);
}
void loop() {
lcd.createChar(0, smiley);
lcd.write(0);
delay (1000);
lcd.createChar(0, nose);
lcd.write(0);
delay (1000);
}
I've connected the LCD as described on most pages of http://www.arduino.cc/. which is a little different as described in this article.
One should replace my
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - line with
LiquidCrystal lcd(12, 11, 2, 7, 8, 9, 10); to use the setup of this instructable.
Next, it's possible to create more as 8 characters using my routine, but I guess there still is a limit. With 5x8 pixels for each character one would need 1600 self defined characters to display all possibilities. ((5*8)^2)
Arduino will probably not be able to do that.
How ever, one should be able to create characters like the waveform-characters of this instructable by converting the outcome of analog readings (they look analog to me) to self defined characters, that won't use much memory.
Besides, most of those 1600 characters won't be very useful anyway.
icontexto.com/charactercreator/
www1.elfa.se/elfa~ex_en/b2b/catalogstart.do