1

I am using a 16*2 lcd display as a dashboard computer. I want it to display a logo at the very beginning of the code, but some letters occupy the space of 4 characters, and are using both lines of the display, and creating those letters character by character (some actually require 6 characters) is very difficult. Is there anyway i can address the lcd as a big matrix ? there would be 16 lines ( the oringinal 2 lines * 8 lines of each character) and 80 columns (the original 16 columns * 5 columns each character has). This would make it A LOT easier.

  • Model of the display and links to technical documentation? – AltAir Apr 19 '17 at 11:11
  • The display:ebay.com/itm/… Data: sparkfun.com/datasheets/LCD/HD44780.pdf – Andrei Grigore Apr 19 '17 at 11:13
  • In the character generator RAM, the user can rewrite character patterns by a program. Page 13 of the datasheet. – AltAir Apr 19 '17 at 11:29
  • If I remember correctly, you can create up to 8 custom characters (custom bitmap). You can then use those characters anywhere on the display. There is no way to directly set pixels. – Gerben Apr 19 '17 at 12:43
1

The chip you are using (HD44780) only works with characters; you can't address single pixels. If you read the datasheet, the word "pixel" is absent.

Of course, you can add a wrapper that implement a drawPixel(row,col) function by defining custom characters and then sending it to the display.

The result will be unpleasent to the eye, because there is a gap between chars on screen, and another gap between rows.

enter image description here

A better alternative is an OLED display like this:

enter image description here

You can find the same display with I2C or SPI interfaces. Basic model is B&W, but you also have color and touch sensitive variants.

0

some letters occupy the space of 4 character

use CGRAM to define 4 characters and display them over two lines.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.