User Tools

Site Tools


arduino:displays_for_classic_arduinos:parallel_character_lcd_displays_and_classic_arduinos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
arduino:displays_for_classic_arduinos:parallel_character_lcd_displays_and_classic_arduinos [2018/01/29 22:58]
mithat created
arduino:displays_for_classic_arduinos:parallel_character_lcd_displays_and_classic_arduinos [2019/11/15 15:59] (current)
mithat [Summary evaluation]
Line 1: Line 1:
-====== Parallel character displays and classic Arduinos ======+====== Parallel character LCD displays and classic Arduinos ======
  
 ===== Summary evaluation ===== ===== Summary evaluation =====
  
-You'll find character LCDs with parallel inputs most commonly in 16x2 and 20x4 configurations, but other widths and heights are possible. There's not much mystery behind whether they work with ATmega328P-based Arduinos: they are the go-to solution for most display requirements. Their biggest issue is their appearance. This is partially mitigated by there being displays of [[http://www.blazedisplay.com/info/lcd-liquid-typesintroduction-66121.html | various quality]] available. But that doesn't change the basic aesthetics. If you can't tolerate the looks, you'll have to opt for a graphics display.+Character LCDs with parallel inputs are available all over the place. The most common formats are 16x2 and 20x4, but you can find other widths and heights as well. They're available with either positive or negative rendering and in a variety of backlight colors. They cover a [[http://www.blazedisplay.com/info/lcd-liquid-typesintroduction-66121.html | range of quality]], with serviceable STN displays running just a few dollars. 
 + 
 +There's not much mystery behind whether they work with ATmega328P-based Arduinos: they are the go-to solution for many display requirements. Their biggest issue is their appearance. This can be partially mitigated by using an FSTN or higher quality unit. But this doesn't change the basic aesthetics. If you can't tolerate the looks, you'll have to opt for a graphic display
 + 
 +A second issue is that they consume a lot of pins. There are I2C adapters available for the parallel interface though, which you may be able to read about in this wiki if I eventually work with one.
  
 ===== Tests ===== ===== Tests =====
  
 +Arduino has a [[https://www.arduino.cc/en/Reference/LiquidCrystal | LiquidCrystal]] library that supports character LCDs using the Hitachi HD44780 parallel controller and equivalents. In addition, there's Greg Tan's [[https://github.com/gregington/BigCrystal | BigCrystal]] library, which builds on top of the LiquidCrystal library and cleverly adds support for double-height characters. 
 +
 +I decided to get an idea of what the processing time and memory overhead using BigCrystal with a 20x4 display was. I used a 5V 16 Mhz Nano, and the display is probably an STN unit. The frame update time is around 14 msec and varies with the number of big characters being drawn. Memory use is 15% of program storage and 4% of dynamic memory. Because these numbers are so low, I didn't bother doing a test of the LiquidCrystal library on its own.
 +
 +{{youtube>LqyCMGXPJ2c?560x315&rel=0}}
  
-Arduino has a [[https://www.arduino.cc/en/Reference/LiquidCrystal | LiquidCrystal]] library that supports Character LCDs. In addition, there's Greg Tan's [[https://github.com/gregington/BigCrystal BigCrystal]] library, which builds on top of the LiquidCrystal library and adds support for clever double height characters. As sort of an acid test, I decided to get an idea of what the processing time and memory overhead for using BigCrystal was.+[[arduino:displays_for_classic_arduinos:display_character_20x4_counter.ino|source code]]
  
  
arduino/displays_for_classic_arduinos/parallel_character_lcd_displays_and_classic_arduinos.1517266710.txt.gz · Last modified: 2018/01/29 22:58 by mithat