The LCD
class constructs an object that represents an LCD Display. Controllers are generally named for the chip used or component model number. Most LCD's use the HD44780 screen (or similar), so be sure to check the model number or chip name for the right controller (valid controllers are listed below).
Parameters
General Options
Property Type Value/Description Default Required rows Number The number of rows on the device 2 No cols Number The number of columns on the device 16 No I2C Options
Property Type Value/Description Default Required controller String "PCF8574", "PCF8574A", "JHD1313M1" (Grove). The name of the controller to use. Yes Parallel Options (Default Controller)
Property Type Value/Description Default Required pins Object { rs, en, d4, d5, d6, d7 }
. Sets the values of the rs, en, d4, d5, d6 and d7 pins.Yes (Either) pins Array [ rs, en, d4, d5, d6, d7 ]
. Sets the values of the rs, en, d4, d5, d6 and d7 pins.Yes (Either)
Shape
Property Name | Description | Read Only |
---|---|---|
id | A user definable id value. Defaults to null | No |
rows | The number of rows that the LCD display supports. Defaults to 2. | No |
cols | The number of columns that the LCD display contains. Defaults to 16. | No |
Component Initialization
Parallel
// Parallel LCD
new five.LCD({
pins: [7, 8, 9, 10, 11, 12]
});
// Parallel LCD w/ Backlight
new five.LCD({
pins: [7, 8, 9, 10, 11, 12],
backlight: 13,
});
// Parallel LCD w/ Backlight & Explicit Rows and Columns (20 cols, 2 rows)
new five.LCD({
pins: [7, 8, 9, 10, 11, 12],
backlight: 13,
rows: 2,
cols: 16
});
I2C, PCF8574 (Generic)
/* I2C LCD Controllers PCF8574X Series have SDA and SCL pins which need to be connected to respective i/o ports on Arduino boards e.g
* Arduino UNO SDA = A4 and SCL = A5
* Arduino MEGA 2560 SDA = 20 and SCL = 21
* + To Adjust the LCD text Brightness use blue color variable resistor on I2C board. turn it around with screw driver.
*/
// I2C LCD, PCF8574
new five.LCD({
controller: "PCF8574"
});
// I2C LCD, PCF8574A
new five.LCD({
controller: "PCF8574A"
});
// I2C LCD, PCF8574T
new five.LCD({
controller: "PCF8574T"
});
// I2C LCD, PCF8574AT
new five.LCD({
controller: "PCF8574AT"
});
I2C, JHD1313M1 (Grove)
new five.LCD({
controller: "JHD1313M1"
});
Usage
var five = require("johnny-five");
var board = new five.Board();
board.on("ready", function() {
var lcd = new five.LCD({ pins: [7, 8, 9, 10, 11, 12] });
lcd.print("Hello");
});
API
print(message, opts) prints the string 'message' to the LCD display at the cursor's current position
- if
opts.dontProcessSpecials
is set to true, it will not print out any special characters created by theuseChar(charCode|name)
function.
// No special characters lcd.print("Bleep bloop"); // With special characters. // This will print a heart character in 1 character space. lcd.useChar("heart"); lcd.print(":heart:"); // With special characters, unprocessed. // This will print the literal string ":heart:" in 7 character spaces. lcd.useChar("heart"); lcd.print(":heart:", { dontProcessSpecials: true });
- if
useChar(charCode|name) Creates the character in LCD memory and adds character to current LCD character map. LCD memory is limited to 8 special characters at a time (see predefined characters here).
lcd.useChar("heart"); lcd.print("Hello :heart:");
createChar(name, charMap) Creates a custom character in LCD memory and adds character to current LCD character map. LCD memory is limited to 8 special characters at a time.
lcd.createChar("openheart", [0x00, 0x0a, 0x15, 0x11, 0x11, 0x0a, 0x04, 0x00]); lcd.print("Hello :openheart:");
clear() Clears all text on the LCD.
lcd.print("Bleep bloop"); lcd.clear();
cursor(row, column) Sets the cursor position.
// The starting position of the LCD display lcd.cursor(0, 0).print("Bleep"); // The second line, first character of the LCD display lcd.cursor(0, 1).print("Bloop");
home() Sets the cursor position to row 0, column 0.
// The second line, first character of the LCD display lcd.cursor(1, 0).print("Bloop"); // The first line, first character of the LCD display lcd.home().print("Bleep");
on() Turn the display on.
off() Turn the display off.
blink() This causes the cursor to show and blink
lcd.blink().print("Bleep Bloop");
noBlink() This causes the cursor to stop blinking
lcd.noBlink().print("Bleep Bloop");
autoscroll() Turns on automatic scrolling of the LCD. This causes each character output to the display to push previous characters over by one space.
lcd.autoscroll().print("Bloop").print("Bleep");
noAutoscroll() Turns off automatic scrolling of the LCD.
lcd.noAutoscroll().print("Bloop").print("Bleep");
bgColor(color) Set the background color for LCDs that support this capability.
// R, G, B bytes lcd.bgColor(red, green, blue); // R, G, B byte array lcd.bgColor([red, green, blue]); // Keyword lcd.bgColor("red"); // Hex Code lcd.bgColor("#ff0000"); // Hex Code, no # lcd.bgColor("ff0000");
Predefined Characters
0:
■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■
1:
■
■ ■
■ ■ ■
■ ■
■ ■
■ ■
■ ■
2:
■ ■ ■
■ ■ ■ ■
■ ■
■ ■
■ ■
■ ■
■ ■ ■ ■ ■
3:
■ ■ ■
■ ■ ■ ■
■ ■
■ ■ ■
■ ■
■ ■ ■ ■
■ ■ ■
4:
■ ■
■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■ ■
■ ■
■ ■
5:
■ ■ ■ ■ ■
■ ■
■ ■ ■ ■
■ ■
■ ■
■ ■ ■ ■
■ ■ ■
6:
■ ■ ■
■ ■ ■ ■
■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■
7:
■ ■ ■ ■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
8:
■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■
9:
■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■
■ ■ ■ ■
■ ■ ■
10:
■ ■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■ ■
■ ■ ■ ■ ■
11:
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■ ■ ■ ■
12:
■ ■ ■ ■
■ ■
■ ■ ■ ■
■ ■
■ ■ ■ ■
■ ■ ■ ■ ■
13:
■ ■ ■ ■
■ ■
■ ■ ■
■ ■
■ ■ ■ ■
■ ■ ■ ■ ■
14:
■ ■ ■
■ ■ ■
■ ■ ■ ■
■ ■
■ ■
■ ■ ■ ■ ■
15:
■ ■ ■ ■
■ ■
■ ■ ■ ■
■ ■
■ ■ ■ ■
■ ■ ■ ■ ■
16:
■ ■ ■ ■
■ ■
■ ■ ■ ■
■ ■ ■
■ ■ ■ ■
■ ■ ■ ■ ■
17:
■ ■ ■ ■
■ ■
■ ■
■ ■
■ ■
■ ■ ■ ■ ■
18:
■ ■ ■ ■
■ ■ ■
■ ■ ■ ■
■ ■ ■
■ ■ ■ ■
■ ■ ■ ■ ■
19:
■ ■ ■ ■
■ ■ ■
■ ■ ■ ■
■ ■
■ ■ ■ ■
■ ■ ■ ■ ■
circle:
■ ■ ■
■ ■
■ ■
■ ■
■ ■ ■
cdot:
■ ■ ■
■ ■
■ ■ ■
■ ■
■ ■ ■
donut:
■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■
ball:
■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■
square:
■ ■ ■ ■ ■
■ ■
■ ■
■ ■
■ ■ ■ ■ ■
sdot:
■ ■ ■ ■ ■
■ ■
■ ■ ■
■ ■
■ ■ ■ ■ ■
fbox:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
sbox:
■ ■ ■
■ ■
■ ■ ■
sfbox:
■ ■ ■
■ ■ ■
■ ■ ■
bigpointerright:
■
■ ■
■ ■
■ ■
■ ■
■ ■
■
bigpointerleft:
■
■ ■
■ ■
■ ■
■ ■
■ ■
■
arrowright:
■
■ ■
■ ■
■ ■
■ ■
■ ■
■
arrowleft:
■
■ ■
■ ■
■ ■
■ ■
■ ■
■
ascprogress1:
■
■
■
■
■
■
■
■
ascprogress2:
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
ascprogress3:
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■
ascprogress4:
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
fullprogress:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
descprogress1:
■
■
■
■
■
■
■
■
descprogress2:
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
descprogress3:
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■
descprogress4:
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
ascchart1:
■ ■ ■ ■ ■
ascchart2:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
ascchart3:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
ascchart4:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
ascchart5:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
ascchart6:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
ascchart7:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
descchart1:
■ ■ ■ ■ ■
descchart2:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
descchart3:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
descchart4:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
descchart5:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
descchart6:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
descchart7:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
borderleft1:
■
■
■
■
■
■
■
■
borderleft2:
■ ■
■
■
■
■
■
■
■ ■
borderleft3:
■ ■ ■
■
■
■
■
■
■
■ ■ ■
borderleft4:
■ ■ ■ ■
■
■
■
■
■
■
■ ■ ■ ■
borderleft5:
■ ■ ■ ■ ■
■
■
■
■
■
■
■ ■ ■ ■ ■
bordertopbottom5:
■ ■ ■ ■ ■
■ ■ ■ ■ ■
borderright1:
■
■
■
■
■
■
■
■
borderright2:
■ ■
■
■
■
■
■
■
■ ■
borderright3:
■ ■ ■
■
■
■
■
■
■
■ ■ ■
borderright4:
■ ■ ■ ■
■
■
■
■
■
■
■ ■ ■ ■
borderright5:
■ ■ ■ ■ ■
■
■
■
■
■
■
■ ■ ■ ■ ■
box1:
■ ■
■ ■
■ ■
box2:
■ ■
■ ■
■ ■
box3:
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
box4:
■ ■
■ ■
■ ■
box5:
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
box6:
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
box7:
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■
■ ■
■ ■
box8:
■ ■
■ ■
■ ■
box9:
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
box10:
■ ■
■ ■
■ ■
■ ■
■ ■
■ ■
box11:
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■
■ ■
■ ■
box12:
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
box13:
■ ■
■ ■
■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
box14:
■ ■
■ ■
■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
box15:
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
euro:
■ ■
■
■ ■ ■ ■
■
■ ■ ■ ■
■
■ ■ ■
cent:
■ ■ ■
■ ■
■
■ ■ ■
■ ■ ■
■
speaker:
■
■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■
■
sound:
■
■
■ ■
■
■
x:
■ ■ ■ ■
■ ■ ■
■
■ ■ ■
■ ■ ■ ■
target:
■ ■
■ ■
■ ■ ■
■ ■
■ ■
pointerright:
■
■ ■
■ ■ ■
■ ■
■
pointerup:
■
■ ■ ■
■ ■ ■ ■ ■
pointerleft:
■
■ ■
■ ■ ■
■ ■
■
pointerdown:
■ ■ ■ ■ ■
■ ■ ■
■
arrowne:
■ ■ ■ ■
■ ■
■ ■
■ ■
■
arrownw:
■ ■ ■ ■
■ ■
■ ■
■ ■
■
arrowsw:
■
■ ■
■ ■
■ ■
■ ■ ■ ■
arrowse:
■
■ ■
■ ■
■ ■
■ ■ ■ ■
dice1:
■
dice2:
■
■
dice3:
■
■
■
dice4:
■ ■
■ ■
dice5:
■ ■
■
■ ■
dice6:
■ ■
■ ■
■ ■
bell:
■
■ ■ ■
■ ■ ■
■ ■ ■
■ ■ ■ ■ ■
■
smile:
■ ■
■ ■
■ ■ ■
note:
■
■ ■
■
■ ■ ■
■ ■ ■ ■
■ ■
clock:
■ ■ ■
■ ■ ■
■ ■ ■ ■
■ ■
■ ■ ■
heart:
■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■ ■ ■
■ ■ ■
■
duck:
■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■
■ ■
check:
■
■ ■
■ ■ ■
■ ■ ■
■
retarrow:
■
■
■ ■
■ ■
■ ■ ■ ■ ■
■
■
runninga:
■ ■
■ ■
■ ■
■ ■ ■
■ ■
■
■ ■
■ ■
runningb:
■ ■
■ ■
■
■ ■ ■
■ ■ ■
■
■ ■
■ ■
Examples
- LCD
- LCD - Tessel 2 16x2
- LCD - Enumerate characters
- LCD - Runner 20x4
- LCD - Runner 16x2
- LCD - I2C
- LCD - I2C PCF8574
- LCD - I2C Runner
- Tessel 2 + Grove - RGB LCD Display
- Grove - RGB LCD Color Previewer
- Tessel 2 + Grove - RGB LCD Color Previewer
- Intel Edison + Grove - RGB LCD
- Intel Edison + Grove - RGB LCD Color Previewer
- Intel Edison + Grove - RGB LCD temperature display
- Grove - RGB LCD
- Grove - RGB LCD temperature display