If your project needs a user output that's more complex than LEDs but more portable than a computer screen, this graphic LCD module will suit your needs. The screen is 128 pixels wide and 64 pixels tall, and each pixel is 0.45 mm. The backlight brightness and pixel contrast can both be controlled from software. The LCD1100 connects to a port on a VINT Hub; see the Comaptible Products tab for a list of hubs.
Our powerful API makes it easy to draw simple shapes on the LCD screen: Draw indivudual pixels, straight lines or rectangles; Write text to the screen, copy one region of the screen to another region, or even print an entire screen of pixels all at once. Use the text function to write text in one of three different fonts to the screen, or design your own font and load it into a frame buffer for continuous use.
You have full access to three separate frame buffers for this screen. Each one can be thought of as a blank canvas where you keep images that can be quickly and easily copied to the screen. For example, the user-customized font mentioned earlier would be stored here, and the text function can copy these images to the screen, letter by letter. Or, you could build a sprite sheet to copy in small images to be used for animating objects on the screen. One of the frame buffers can be saved to the onboard flash memory, so that its data can be maintained even when the board is powered off or used with a different computer.
|Screen Resolution||128 x 64|
|LCD Refresh Rate||5 Hz|
|Pixel Size||450 μm|
|Current Consumption Min||17 μA|
|Current Consumption Max||34 mA|
|Operating Temperature Min||-20 °C|
|Operating Temperature Max||70 °C|
|Current Consumption (mA)||Screen||Backlight|
|14 - 66*||ON||ON|
* Varies based on contrast setting.
|LCD||Graphic LCD Examples||Objective-C||macOS||Download|
|LCD||Graphic LCD Example||Swift||macOS||Download|
|LCD||Visual Basic .NET||Windows||Download|
|Date||Board Revision||Device Version||Comment|
|February 2018||0||106||Product Release|
In order to demonstrate the functionality of the LCD1100, the Phidget Control Panel running on a Windows machine will be used.
The Phidget Control Panel is available for use on both macOS and Windows machines. If you would like to follow along, first take a look at the getting started guide for your operating system:
Linux users can follow the getting started with Linux guide and continue reading here for more information about the LCD1100.
After plugging the LCD1100 into your computer and opening the Phidget Control Panel, you will see something like this:
The Phidget Control Panel will list all connected Phidgets and associated objects, as well as the following information:
The Phidget Control Panel can also be used to test your device. Double-clicking on an object will open an example.
When you double click on a Graphic LCD object, a window like the one pictured will open.
For a general step-by-step guide on getting Phidgets running on Linux, see the Linux page.
Bitmaps define images to be drawn on the screen of the Graphic LCD display. Bitmaps on the Graphic LCD display are made up of pixels arranged in a grid with a size defined when the bitmap is drawn.
You can create a bitmap by defining a byte array of ones and zeroes. Ones are colored in, and zeroes are empty. If you put a line break after each row, it'll be easy to edit the bitmap.
In C#, this may look something like this:
Byte heart = [0,0,0,0,0, 0,1,0,1,0, 1,1,1,1,1, 1,1,1,1,1, 0,1,1,1,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0]; gLCD.WriteBitmap(0, 0, 5, 8, heart);
Custom characters are images associated with given unicode characters. A custom character can be any arrangement of pixels within the space allotted for a single character. Single characters are made up of pixels arranged in a grid with a size defined by
As with regular bitmaps for the Graphic LCD display, you can create a character bitmap by defining a byte array of ones and zeroes. Ones are colored in, and zeroes are empty. If you put a line break after each row, it'll be easy to edit the bitmap.
In C#, this may look something like this:
Byte heart = [0,0,0,0,0, 0,1,0,1,0, 1,1,1,1,1, 1,1,1,1,1, 0,1,1,1,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0]; gLCD.SetFontSize(LCDFont.User2, 5, 8); gLCD.SetCharacterBitmap(LCDFont.User2,"\x6",heart);
Once stored, characters can be recalled into a text string by using the unicode value for the location (in this example, "\x6"). For example, in C#:
gLCD.WriteText(LCDFont.Dimensions_5x8, 0, 0,"I \x6 Phidgets!");
Custom characters on the LCD1100 are stored as images on the frame buffer for their font.
FONT_User1 is stored on frame buffer 1 and
FONT_User2 is on frame buffer 2.
These characters occupy the same space as drawings on their framebuffer, and will be displayed onscreen if their framebuffer is flushed. They can also be overwritten by using drawing funcitons on their framebuffer, so it is recommended to only use a given framebuffer either for drawing or storing fonts, but not both.
We recommend using
FONT_User2 (frame buffer 2) to store custom fonts, as it can be saved for later use.
In order to use the custom fonts, you must first define their size with
setFontSize(). Once the font size is set, custom characters will be placed on the font's frame buffer at a location corresponding to the character number provided.
Characters for each font are stored in rows ordered left-to-right, top-to-bottom. Rows are filled with as many characters as will completely fit across the width of the screen. There are as many rows as will fit on the screen vertically.
On a screen 128 pixels wide by 64 pixels high, if your font is 10 pixels wide by 20 high, you will have 3 rows of 12 characters. This allows for a maximum of 36 characters of that size.
To quickly determine how many characters can be in your custom font, you can call
getMaxCharacters() in your code.
Custom character indexing starts with character 0x01 and can be any character between 0x01 and the maximum number of characters that fit on screen.
To determine if an ascii character can be used in a given custom font, you can look at its corresponding ascii value on an ascii table to determine if it is within the limit determined above.
This Phidget is a smart device that must be controlled by a VINT Hub. For more information about VINT, have a look at the VINT Primer. You can use a Phidget Cable to simply and easily connect the two devices. Here's a list of all of the different VINT Hubs currently available:
Use a Phidget cable to connect this device to the hub. You can solder multiple cables together in order to make even longer Phidget cables, but you should be aware of the effects of having long wires in your system.
|Image||Part Number||Price||Number of Rows||Characters per Row||Character Width|