Arduino Displays: If you want to get visible text output from your Arduino then you have many options including 7 segments LED drivers or graphics displays with touch sensitive action:
If you're looking for a simple way to output text from an Arduino a good choice is an HD44780 LCD display,
but you usually need about 8 pins which may be a bit too much for some
designs. One option is to use an I2C based HD44780 meaning you only need
2 pins.
If you want to use a set of seven-segment displays it is quite
possible to do the whole job using one chip and some transistors.
However, it is far simpler to use a dedicated chip to do the job
(MAX7219).
One important thing to keep in mind is that the size of the display affects the processor required to drive it. There are two aspects to this:
It means for an Arduino Uno trying to update a TFT such as an ILI9431
- it is probably going to struggle with the amount of data output to
the screen and will probably lag.
The larger display is going to need a faster and more memory fueled processor such as a DSP e.g. DSPIC32 or ESP32.
Even driving a small OLED Arduino display such as an SSD1306 with an
Arduino Uno uses half the available SRAM memory (1kByte) for graphics.
One library lets you do "text only" with this display - saving some
memory.
There are two ways to use the MAX7219; You can either drive 8x 7
segment displays or one 8x8 LED matrix. In fact these are both driven
the same way. For the 7 segment each 8 LED segment is selected (by
enabling the ground path of the specific 7 segment).
The for the 8x8 matrix a single row is selected (by enabling the ground path of the row).
Each Segment or Row is enabled one after the other and the whole set
of 8 segments (or rows) is updated faster than 20ms - your eye is
tricked into thinking they are all updated at the same time.
You can use the MAX7219 to drive an 8x8 dot matrix display very easily.
If you are a fan of "Back to the Future" you'll have see those 7
segment displays in use (and lots of them!). As well as being
Retro they are useful to display information that is easy to read. You
also see them commonly used in digital clocks and frequency counters.
You can drive them using a simple chip and a few transistors
but it is far easier to use the MAX7219 to do the job. The main reason
is that the chip takes responsibility for display update so the
processor only as to feed information to the MAX7219 and it updates the
display for you.
You can see the frequency counter project (link above) that updates the
display using the processor and it must be updated at a rate faster than
50Hz. It means your processor could get overloaded if it has to do a
more demanding task i.e. the display would freeze.
Using the MAX7219 as an Arduino display,
means that can't happen and leaves the processor free to do other tasks.
Comments
Have your say about what you just read! Leave me a comment in the box below.
Don’t see the comments box? Log in to your Facebook account, give Facebook consent, then return to this page and refresh it.