User Manual
5. Orangutan LCD
The OrangutanLCD class and the C functions in this section provide a variety of ways of displaying data to
the LCD screen of an Orangutan robot controller (LV, SV, SVP, and X2) and 3pi robot, providing an essential
tool for user interfaces and debugging. The library implements the standard 4-bit HD44780 protocol (except
on the Orangutan X2, for which the 8-bit protocol is used), and it uses the busy-wait-flag feature to avoid the
unnecessarily long delays present in other 4-bit LCD Arduino libraries at the time of this library’s release. It is
designed to gracefully handle alternate use of the LCD data lines. It will change their data direction registers
and output states only when needed for an LCD command, after which it will immediately restore the registers
to their previous states. This allows the LCD data lines to function, for example, as pushbutton inputs and LED
drivers on the 3pi and Orangutans.
For a list of the standard characters available on the LCD, see page 17 of the HD44780 interface datasheet
[https://www.pololu.com/file/download/HD44780.pdf?file_id=0J72] (330k pdf).
For C and C++ users, the standard C function printf() from stdio.h is made available. See below for more
information.
For a higher level overview of this library and example programs that show how this library can be used, please
see Section 3.d of the Pololu AVR C/C++ Library User’s Guide [https://www.pololu.com/docs/0J20].
Pololu AVR Library Command Reference © 2001–2015 Pololu Corporation
5. Orangutan LCD Page 20 of 65