From db605dd18b11ecfb5cd9f92c721c52cb70543384 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Mon, 1 Jun 2009 08:32:11 +0000 Subject: First integration of the Arduino code in Processing 5503: PreProcessor and Compiler have been integrated with changes to the Sketch. Compilation still has problems (Thread error on success, and can't handle non-pde files in a sketch). Modified the Mac OS X make.sh to copy the hardware, avr tools, and example over. Removing some of the antlr stuff. Disabling the Commander (command-line execution) for now. Added Library, LibraryManager, and Target. Added support for prefixed preferences (e.g. for boards and programmers). --- libraries/LiquidCrystal/LiquidCrystal.cpp | 128 +++++++++++++++++++++ libraries/LiquidCrystal/LiquidCrystal.h | 31 +++++ .../examples/HelloWorld/HelloWorld.pde | 18 +++ .../examples/SerialDisplay/SerialDisplay.pde | 34 ++++++ libraries/LiquidCrystal/keywords.txt | 23 ++++ 5 files changed, 234 insertions(+) create mode 100755 libraries/LiquidCrystal/LiquidCrystal.cpp create mode 100755 libraries/LiquidCrystal/LiquidCrystal.h create mode 100644 libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde create mode 100644 libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde create mode 100755 libraries/LiquidCrystal/keywords.txt (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/LiquidCrystal.cpp b/libraries/LiquidCrystal/LiquidCrystal.cpp new file mode 100755 index 0000000..b5f2cd4 --- /dev/null +++ b/libraries/LiquidCrystal/LiquidCrystal.cpp @@ -0,0 +1,128 @@ +#include "LiquidCrystal.h" + +#include +#include +#include +#include "WProgram.h" + +// When the display powers up, it is configured as follows: +// +// 1. Display clear +// 2. Function set: +// DL = 1; 8-bit interface data +// N = 0; 1-line display +// F = 0; 5x8 dot character font +// 3. Display on/off control: +// D = 0; Display off +// C = 0; Cursor off +// B = 0; Blinking off +// 4. Entry mode set: +// I/D = 1; Increment by 1 +// S = 0; No shift +// +// Note, however, that resetting the Arduino doesn't reset the LCD, so we +// can't assume that its in that state when a sketch starts (and the +// LiquidCrystal constructor is called). + +LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, + uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7) : + _four_bit_mode(0), _rs_pin(rs), _rw_pin(rw), _enable_pin(enable) +{ + _data_pins[0] = d0; + _data_pins[1] = d1; + _data_pins[2] = d2; + _data_pins[3] = d3; + _data_pins[4] = d4; + _data_pins[5] = d5; + _data_pins[6] = d6; + _data_pins[7] = d7; + + pinMode(_rs_pin, OUTPUT); + pinMode(_rw_pin, OUTPUT); + pinMode(_enable_pin, OUTPUT); + + for (int i = 0; i < 8; i++) + pinMode(_data_pins[i], OUTPUT); + + command(0x38); // function set: 8 bits, 1 line, 5x8 dots + command(0x0C); // display control: turn display on, cursor off, no blinking + command(0x06); // entry mode set: increment automatically, display shift, right shift + clear(); +} + +LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3) : + _four_bit_mode(1), _rs_pin(rs), _rw_pin(rw), _enable_pin(enable) +{ + _data_pins[0] = d0; + _data_pins[1] = d1; + _data_pins[2] = d2; + _data_pins[3] = d3; + + pinMode(_rs_pin, OUTPUT); + pinMode(_rw_pin, OUTPUT); + pinMode(_enable_pin, OUTPUT); + + for (int i = 0; i < 4; i++) + pinMode(_data_pins[i], OUTPUT); + + command(0x28); // function set: 4 bits, 1 line, 5x8 dots + command(0x0C); // display control: turn display on, cursor off, no blinking + command(0x06); // entry mode set: increment automatically, display shift, right shift + clear(); +} + +void LiquidCrystal::clear() +{ + command(0x01); // clear display, set cursor position to zero + delayMicroseconds(2000); +} + +void LiquidCrystal::home() +{ + command(0x02); // set cursor position to zero + delayMicroseconds(2000); +} + +void LiquidCrystal::setCursor(int col, int row) +{ + int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 }; + command(0x80 | (col + row_offsets[row])); +} + +void LiquidCrystal::command(uint8_t value) { + send(value, LOW); +} + +void LiquidCrystal::write(uint8_t value) { + send(value, HIGH); +} + +void LiquidCrystal::send(uint8_t value, uint8_t mode) { + digitalWrite(_rs_pin, mode); + digitalWrite(_rw_pin, LOW); + + if (_four_bit_mode) { + for (int i = 0; i < 4; i++) { + digitalWrite(_data_pins[i], (value >> (i + 4)) & 0x01); + } + + digitalWrite(_enable_pin, HIGH); + digitalWrite(_enable_pin, LOW); + + for (int i = 0; i < 4; i++) { + digitalWrite(_data_pins[i], (value >> i) & 0x01); + } + + digitalWrite(_enable_pin, HIGH); + digitalWrite(_enable_pin, LOW); + } else { + for (int i = 0; i < 8; i++) { + digitalWrite(_data_pins[i], (value >> i) & 0x01); + } + + digitalWrite(_enable_pin, HIGH); + digitalWrite(_enable_pin, LOW); + } +} diff --git a/libraries/LiquidCrystal/LiquidCrystal.h b/libraries/LiquidCrystal/LiquidCrystal.h new file mode 100755 index 0000000..a5edc5f --- /dev/null +++ b/libraries/LiquidCrystal/LiquidCrystal.h @@ -0,0 +1,31 @@ +#ifndef LiquidCrystal_h +#define LiquidCrystal_h + +#include +#include "Print.h" + +class LiquidCrystal : public Print { +public: + LiquidCrystal(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t); + LiquidCrystal(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, + uint8_t, uint8_t, uint8_t, uint8_t); + void clear(); + void home(); + void setCursor(int, int); + /* + void shiftDisplayLeft(); + void shiftDisplayRight(); + */ + virtual void write(uint8_t); + void command(uint8_t); +private: + void send(uint8_t, uint8_t); + + uint8_t _four_bit_mode; + uint8_t _rs_pin; // LOW: command. HIGH: character. + uint8_t _rw_pin; // LOW: write to LCD. HIGH: read from LCD. + uint8_t _enable_pin; // activated by a HIGH pulse. + uint8_t _data_pins[8]; +}; + +#endif diff --git a/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde b/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde new file mode 100644 index 0000000..2f244d0 --- /dev/null +++ b/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde @@ -0,0 +1,18 @@ +#include + +// LiquidCrystal display with: +// rs on pin 12 +// rw on pin 11 +// enable on pin 10 +// d4, d5, d6, d7 on pins 5, 4, 3, 2 +LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); + +void setup() +{ + // Print a message to the LCD. + lcd.print("hello, world!"); +} + +void loop() +{ +} diff --git a/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde b/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde new file mode 100644 index 0000000..0c4ce35 --- /dev/null +++ b/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde @@ -0,0 +1,34 @@ +/* + * Displays text sent over the serial port (e.g. from the Serial Monitor) on + * an attached LCD. + */ + +#include + +// LiquidCrystal display with: +// rs on pin 12 +// rw on pin 11 +// enable on pin 10 +// d4, d5, d6, d7 on pins 5, 4, 3, 2 +LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); + +void setup() +{ + Serial.begin(9600); +} + +void loop() +{ + // when characters arrive over the serial port... + if (Serial.available()) { + // wait a bit for the entire message to arrive + delay(100); + // clear the screen + lcd.clear(); + // read all the available characters + while (Serial.available() > 0) { + // display each character to the LCD + lcd.write(Serial.read()); + } + } +} diff --git a/libraries/LiquidCrystal/keywords.txt b/libraries/LiquidCrystal/keywords.txt new file mode 100755 index 0000000..367ab1f --- /dev/null +++ b/libraries/LiquidCrystal/keywords.txt @@ -0,0 +1,23 @@ +####################################### +# Syntax Coloring Map For LiquidCrystal +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +LiquidCrystal KEYWORD1 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +clear KEYWORD2 +home KEYWORD2 +print KEYWORD2 +setCursor KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### + -- cgit v1.2.3-18-g5258 From cdeb912f7d94928f7de4974a68e4cf727e51e703 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sat, 11 Jul 2009 00:54:26 +0000 Subject: Migrating to Limor Fried's improved LiquidCrystal library. --- libraries/LiquidCrystal/LiquidCrystal.cpp | 297 ++++++++++++++++++++++++------ libraries/LiquidCrystal/LiquidCrystal.h | 95 +++++++++- 2 files changed, 324 insertions(+), 68 deletions(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/LiquidCrystal.cpp b/libraries/LiquidCrystal/LiquidCrystal.cpp index b5f2cd4..4e46318 100755 --- a/libraries/LiquidCrystal/LiquidCrystal.cpp +++ b/libraries/LiquidCrystal/LiquidCrystal.cpp @@ -25,10 +25,39 @@ // LiquidCrystal constructor is called). LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, - uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, - uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7) : - _four_bit_mode(0), _rs_pin(rs), _rw_pin(rw), _enable_pin(enable) + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, + uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7) { + init(0, rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7); +} + +LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t enable, + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, + uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7) +{ + init(0, rs, -1, enable, d0, d1, d2, d3, d4, d5, d6, d7); +} + +LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3) +{ + init(1, rs, rw, enable, d0, d1, d2, d3, 0, 0, 0, 0); +} + +LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t enable, + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3) +{ + init(1, rs, -1, enable, d0, d1, d2, d3, 0, 0, 0, 0); +} + +void LiquidCrystal::init(uint8_t fourbitmode, uint8_t rs, uint8_t rw, uint8_t enable, + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, + uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7) +{ + _rs_pin = rs; + _rw_pin = rw; + _enable_pin = enable; + _data_pins[0] = d0; _data_pins[1] = d1; _data_pins[2] = d2; @@ -37,92 +66,244 @@ LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, _data_pins[5] = d5; _data_pins[6] = d6; _data_pins[7] = d7; - + pinMode(_rs_pin, OUTPUT); - pinMode(_rw_pin, OUTPUT); + // we can save 1 pin by not using RW. Indicate by passing -1 instead of pin# + if (_rw_pin != -1) { + pinMode(_rw_pin, OUTPUT); + } pinMode(_enable_pin, OUTPUT); - for (int i = 0; i < 8; i++) - pinMode(_data_pins[i], OUTPUT); - - command(0x38); // function set: 8 bits, 1 line, 5x8 dots - command(0x0C); // display control: turn display on, cursor off, no blinking - command(0x06); // entry mode set: increment automatically, display shift, right shift - clear(); + if (fourbitmode) + _displayfunction = LCD_4BITMODE | LCD_1LINE | LCD_5x8DOTS; + else + _displayfunction = LCD_8BITMODE | LCD_1LINE | LCD_5x8DOTS; + + begin(16, 1); } -LiquidCrystal::LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, - uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3) : - _four_bit_mode(1), _rs_pin(rs), _rw_pin(rw), _enable_pin(enable) -{ - _data_pins[0] = d0; - _data_pins[1] = d1; - _data_pins[2] = d2; - _data_pins[3] = d3; - - pinMode(_rs_pin, OUTPUT); - pinMode(_rw_pin, OUTPUT); - pinMode(_enable_pin, OUTPUT); +void LiquidCrystal::begin(uint8_t cols, uint8_t lines, uint8_t dotsize) { + if (lines > 1) { + _displayfunction |= LCD_2LINE; + } + _numlines = lines; + _currline = 0; + + // for some 1 line displays you can select a 10 pixel high font + if ((dotsize != 0) && (lines == 1)) { + _displayfunction |= LCD_5x10DOTS; + } + + // SEE PAGE 45/46 FOR INITIALIZATION SPECIFICATION! + // according to datasheet, we need at least 40ms after power rises above 2.7V + // before sending commands. Arduino can turn on way befer 4.5V so we'll wait 50 + delayMicroseconds(50000); + // Now we pull both RS and R/W low to begin commands + digitalWrite(_rs_pin, LOW); + digitalWrite(_enable_pin, LOW); + if (_rw_pin != -1) { + digitalWrite(_rw_pin, LOW); + } - for (int i = 0; i < 4; i++) - pinMode(_data_pins[i], OUTPUT); - - command(0x28); // function set: 4 bits, 1 line, 5x8 dots - command(0x0C); // display control: turn display on, cursor off, no blinking - command(0x06); // entry mode set: increment automatically, display shift, right shift + //put the LCD into 4 bit or 8 bit mode + if (! (_displayfunction & LCD_8BITMODE)) { + // this is according to the hitachi HD44780 datasheet + // figure 24, pg 46 + + // we start in 8bit mode, try to set 4 bit mode + write4bits(0x03); + delayMicroseconds(4500); // wait min 4.1ms + + // second try + write4bits(0x03); + delayMicroseconds(4500); // wait min 4.1ms + + // third go! + write4bits(0x03); + delayMicroseconds(150); + + // finally, set to 8-bit interface + write4bits(0x02); + } else { + // this is according to the hitachi HD44780 datasheet + // page 45 figure 23 + + // Send function set command sequence + command(LCD_FUNCTIONSET | _displayfunction); + delayMicroseconds(4500); // wait more than 4.1ms + + // second try + command(LCD_FUNCTIONSET | _displayfunction); + delayMicroseconds(150); + + // third go + command(LCD_FUNCTIONSET | _displayfunction); + } + + // finally, set # lines, font size, etc. + command(LCD_FUNCTIONSET | _displayfunction); + + // turn the display on with no cursor or blinking default + _displaycontrol = LCD_DISPLAYON | LCD_CURSOROFF | LCD_BLINKOFF; + display(); + + // clear it off clear(); + + // Initialize to default text direction (for romance languages) + _displaymode = LCD_ENTRYLEFT | LCD_ENTRYSHIFTDECREMENT; + // set the entry mode + command(LCD_ENTRYMODESET | _displaymode); + } +/********** high level commands, for the user! */ void LiquidCrystal::clear() { - command(0x01); // clear display, set cursor position to zero - delayMicroseconds(2000); + command(LCD_CLEARDISPLAY); // clear display, set cursor position to zero + delayMicroseconds(2000); // this command takes a long time! } void LiquidCrystal::home() { - command(0x02); // set cursor position to zero - delayMicroseconds(2000); + command(LCD_RETURNHOME); // set cursor position to zero + delayMicroseconds(2000); // this command takes a long time! } -void LiquidCrystal::setCursor(int col, int row) +void LiquidCrystal::setCursor(uint8_t col, uint8_t row) { int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 }; - command(0x80 | (col + row_offsets[row])); + if ( row > _numlines ) { + row = _numlines-1; // we count rows starting w/0 + } + + command(LCD_SETDDRAMADDR | (col + row_offsets[row])); +} + +// Turn the display on/off (quickly) +void LiquidCrystal::noDisplay() { + _displaycontrol &= ~LCD_DISPLAYON; + command(LCD_DISPLAYCONTROL | _displaycontrol); +} +void LiquidCrystal::display() { + _displaycontrol |= LCD_DISPLAYON; + command(LCD_DISPLAYCONTROL | _displaycontrol); +} + +// Turns the underline cursor on/off +void LiquidCrystal::noCursor() { + _displaycontrol &= ~LCD_CURSORON; + command(LCD_DISPLAYCONTROL | _displaycontrol); +} +void LiquidCrystal::cursor() { + _displaycontrol |= LCD_CURSORON; + command(LCD_DISPLAYCONTROL | _displaycontrol); +} + +// Turn on and off the blinking cursor +void LiquidCrystal::noBlink() { + _displaycontrol &= ~LCD_BLINKON; + command(LCD_DISPLAYCONTROL | _displaycontrol); +} +void LiquidCrystal::blink() { + _displaycontrol |= LCD_BLINKON; + command(LCD_DISPLAYCONTROL | _displaycontrol); +} + +// These commands scroll the display without changing the RAM +void LiquidCrystal::scrollDisplayLeft(void) { + command(LCD_CURSORSHIFT | LCD_DISPLAYMOVE | LCD_MOVELEFT); +} +void LiquidCrystal::scrollDisplayRight(void) { + command(LCD_CURSORSHIFT | LCD_DISPLAYMOVE | LCD_MOVERIGHT); +} + +// This is for text that flows Left to Right +void LiquidCrystal::shiftLeft(void) { + _displaymode |= LCD_ENTRYLEFT; + command(LCD_ENTRYMODESET | _displaymode); +} + +// This is for text that flows Right to Left +void LiquidCrystal::shiftRight(void) { + _displaymode &= ~LCD_ENTRYLEFT; + command(LCD_ENTRYMODESET | _displaymode); +} + +// This will 'right justify' text from the cursor +void LiquidCrystal::shiftIncrement(void) { + _displaymode |= LCD_ENTRYSHIFTINCREMENT; + command(LCD_ENTRYMODESET | _displaymode); } -void LiquidCrystal::command(uint8_t value) { +// This will 'left justify' text from the cursor +void LiquidCrystal::shiftDecrement(void) { + _displaymode &= ~LCD_ENTRYSHIFTINCREMENT; + command(LCD_ENTRYMODESET | _displaymode); +} + +// Allows us to fill the first 8 CGRAM locations +// with custom characters +void LiquidCrystal::createChar(uint8_t location, uint8_t charmap[]) { + location &= 0x7; // we only have 8 locations 0-7 + command(LCD_SETCGRAMADDR | (location << 3)); + for (int i=0; i<8; i++) { + write(charmap[i]); + } +} + +/*********** mid level commands, for sending data/cmds */ + +inline void LiquidCrystal::command(uint8_t value) { send(value, LOW); } -void LiquidCrystal::write(uint8_t value) { +inline void LiquidCrystal::write(uint8_t value) { send(value, HIGH); } +/************ low level data pushing commands **********/ + +// write either command or data, with automatic 4/8-bit selection void LiquidCrystal::send(uint8_t value, uint8_t mode) { digitalWrite(_rs_pin, mode); - digitalWrite(_rw_pin, LOW); - - if (_four_bit_mode) { - for (int i = 0; i < 4; i++) { - digitalWrite(_data_pins[i], (value >> (i + 4)) & 0x01); - } - - digitalWrite(_enable_pin, HIGH); - digitalWrite(_enable_pin, LOW); - - for (int i = 0; i < 4; i++) { - digitalWrite(_data_pins[i], (value >> i) & 0x01); - } - digitalWrite(_enable_pin, HIGH); - digitalWrite(_enable_pin, LOW); + // if there is a RW pin indicated, set it low to Write + if (_rw_pin != -1) { + digitalWrite(_rw_pin, LOW); + } + + if (_displayfunction & LCD_8BITMODE) { + write8bits(value); } else { - for (int i = 0; i < 8; i++) { - digitalWrite(_data_pins[i], (value >> i) & 0x01); - } + write4bits(value>>4); + write4bits(value); + } +} + +void LiquidCrystal::pulseEnable(void) { + digitalWrite(_enable_pin, LOW); + delayMicroseconds(1); + digitalWrite(_enable_pin, HIGH); + delayMicroseconds(1); // enable pulse must be >450ns + digitalWrite(_enable_pin, LOW); + delayMicroseconds(100); // commands need > 37us to settle +} - digitalWrite(_enable_pin, HIGH); - digitalWrite(_enable_pin, LOW); +void LiquidCrystal::write4bits(uint8_t value) { + for (int i = 0; i < 4; i++) { + pinMode(_data_pins[i], OUTPUT); + digitalWrite(_data_pins[i], (value >> i) & 0x01); } + + pulseEnable(); +} + +void LiquidCrystal::write8bits(uint8_t value) { + for (int i = 0; i < 8; i++) { + pinMode(_data_pins[i], OUTPUT); + digitalWrite(_data_pins[i], (value >> i) & 0x01); + } + + pulseEnable(); } diff --git a/libraries/LiquidCrystal/LiquidCrystal.h b/libraries/LiquidCrystal/LiquidCrystal.h index a5edc5f..5a8d087 100755 --- a/libraries/LiquidCrystal/LiquidCrystal.h +++ b/libraries/LiquidCrystal/LiquidCrystal.h @@ -4,28 +4,103 @@ #include #include "Print.h" +// commands +#define LCD_CLEARDISPLAY 0x01 +#define LCD_RETURNHOME 0x02 +#define LCD_ENTRYMODESET 0x04 +#define LCD_DISPLAYCONTROL 0x08 +#define LCD_CURSORSHIFT 0x10 +#define LCD_FUNCTIONSET 0x20 +#define LCD_SETCGRAMADDR 0x40 +#define LCD_SETDDRAMADDR 0x80 + +// flags for display entry mode +#define LCD_ENTRYRIGHT 0x00 +#define LCD_ENTRYLEFT 0x02 +#define LCD_ENTRYSHIFTINCREMENT 0x01 +#define LCD_ENTRYSHIFTDECREMENT 0x00 + +// flags for display on/off control +#define LCD_DISPLAYON 0x04 +#define LCD_DISPLAYOFF 0x00 +#define LCD_CURSORON 0x02 +#define LCD_CURSOROFF 0x00 +#define LCD_BLINKON 0x01 +#define LCD_BLINKOFF 0x00 + +// flags for display/cursor shift +#define LCD_DISPLAYMOVE 0x08 +#define LCD_CURSORMOVE 0x00 +#define LCD_MOVERIGHT 0x04 +#define LCD_MOVELEFT 0x00 + +// flags for function set +#define LCD_8BITMODE 0x10 +#define LCD_4BITMODE 0x00 +#define LCD_2LINE 0x08 +#define LCD_1LINE 0x00 +#define LCD_5x10DOTS 0x04 +#define LCD_5x8DOTS 0x00 + class LiquidCrystal : public Print { public: - LiquidCrystal(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t); - LiquidCrystal(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, - uint8_t, uint8_t, uint8_t, uint8_t); + LiquidCrystal(uint8_t rs, uint8_t enable, + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, + uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7); + LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, + uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7); + LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3); + LiquidCrystal(uint8_t rs, uint8_t enable, + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3); + + void init(uint8_t fourbitmode, uint8_t rs, uint8_t rw, uint8_t enable, + uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, + uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7); + + void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS); + void clear(); void home(); - void setCursor(int, int); - /* - void shiftDisplayLeft(); - void shiftDisplayRight(); - */ + + void noDisplay(); + void display(); + void noBlink(); + void blink(); + void noCursor(); + void cursor(); + void scrollDisplayLeft(); + void scrollDisplayRight(); + void printLeft(); + void printRight(); + void shiftLeft(); + void shiftRight(); + void shiftIncrement(); + void shiftDecrement(); + + void createChar(uint8_t, uint8_t[]); + void setCursor(uint8_t, uint8_t); virtual void write(uint8_t); void command(uint8_t); private: void send(uint8_t, uint8_t); - - uint8_t _four_bit_mode; + void write4bits(uint8_t); + void write8bits(uint8_t); + void pulseEnable(); + uint8_t _rs_pin; // LOW: command. HIGH: character. uint8_t _rw_pin; // LOW: write to LCD. HIGH: read from LCD. uint8_t _enable_pin; // activated by a HIGH pulse. uint8_t _data_pins[8]; + + uint8_t _displayfunction; + uint8_t _displaycontrol; + uint8_t _displaymode; + + uint8_t _initialized; + + uint8_t _numlines,_currline; }; #endif -- cgit v1.2.3-18-g5258 From b63012069f6a239de812ed37b8a4a4141791b864 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Mon, 13 Jul 2009 02:31:46 +0000 Subject: Removing old LiquidCrystal examples. --- .../examples/HelloWorld/HelloWorld.pde | 18 ------------ .../examples/SerialDisplay/SerialDisplay.pde | 34 ---------------------- 2 files changed, 52 deletions(-) delete mode 100644 libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde delete mode 100644 libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde b/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde deleted file mode 100644 index 2f244d0..0000000 --- a/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde +++ /dev/null @@ -1,18 +0,0 @@ -#include - -// LiquidCrystal display with: -// rs on pin 12 -// rw on pin 11 -// enable on pin 10 -// d4, d5, d6, d7 on pins 5, 4, 3, 2 -LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); - -void setup() -{ - // Print a message to the LCD. - lcd.print("hello, world!"); -} - -void loop() -{ -} diff --git a/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde b/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde deleted file mode 100644 index 0c4ce35..0000000 --- a/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Displays text sent over the serial port (e.g. from the Serial Monitor) on - * an attached LCD. - */ - -#include - -// LiquidCrystal display with: -// rs on pin 12 -// rw on pin 11 -// enable on pin 10 -// d4, d5, d6, d7 on pins 5, 4, 3, 2 -LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); - -void setup() -{ - Serial.begin(9600); -} - -void loop() -{ - // when characters arrive over the serial port... - if (Serial.available()) { - // wait a bit for the entire message to arrive - delay(100); - // clear the screen - lcd.clear(); - // read all the available characters - while (Serial.available() > 0) { - // display each character to the LCD - lcd.write(Serial.read()); - } - } -} -- cgit v1.2.3-18-g5258 From f30af5e28868811d802edc2d874ce832652512f0 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Mon, 13 Jul 2009 02:33:02 +0000 Subject: Adding Tom's examples for the new LiquidCrystal library. --- libraries/LiquidCrystal/examples/Blink/Blink.pde | 56 +++++++++++++++ libraries/LiquidCrystal/examples/Cursor/Cursor.pde | 55 +++++++++++++++ .../LiquidCrystal/examples/Display/Display.pde | 55 +++++++++++++++ .../examples/HelloWorld/HelloWorld.pde | 53 ++++++++++++++ .../IncrementDecrement/IncrementDecrement.pde | 67 ++++++++++++++++++ libraries/LiquidCrystal/examples/Scroll/Scroll.pde | 65 +++++++++++++++++ .../examples/SerialDisplay/SerialDisplay.pde | 60 ++++++++++++++++ libraries/LiquidCrystal/examples/Shift/Shift.pde | 82 ++++++++++++++++++++++ .../LiquidCrystal/examples/setCursor/setCursor.pde | 66 +++++++++++++++++ 9 files changed, 559 insertions(+) create mode 100644 libraries/LiquidCrystal/examples/Blink/Blink.pde create mode 100644 libraries/LiquidCrystal/examples/Cursor/Cursor.pde create mode 100644 libraries/LiquidCrystal/examples/Display/Display.pde create mode 100644 libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde create mode 100644 libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde create mode 100644 libraries/LiquidCrystal/examples/Scroll/Scroll.pde create mode 100644 libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde create mode 100644 libraries/LiquidCrystal/examples/Shift/Shift.pde create mode 100644 libraries/LiquidCrystal/examples/setCursor/setCursor.pde (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Blink/Blink.pde b/libraries/LiquidCrystal/examples/Blink/Blink.pde new file mode 100644 index 0000000..f189fd9 --- /dev/null +++ b/libraries/LiquidCrystal/examples/Blink/Blink.pde @@ -0,0 +1,56 @@ +/* + LiquidCrystal Library - Blink + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch prints "Hello World!" to the LCD and makes the + cursor block blink. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +void setup() { + // set up the LCD's number of rows and columns: + lcd.begin(2, 16); + // Print a message to the LCD. + lcd.print("hello, world!"); +} + +void loop() { + // Turn off the display: + lcd.noBlink(); + delay(500); + // Turn on the display: + lcd.blink(); + delay(500); +} + + diff --git a/libraries/LiquidCrystal/examples/Cursor/Cursor.pde b/libraries/LiquidCrystal/examples/Cursor/Cursor.pde new file mode 100644 index 0000000..e28c719 --- /dev/null +++ b/libraries/LiquidCrystal/examples/Cursor/Cursor.pde @@ -0,0 +1,55 @@ +/* + LiquidCrystal Library - Cursor + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch prints "Hello World!" to the LCD and + uses the cursor() and noCursor() methods to turn + on and off the cursor. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +void setup() { + // set up the LCD's number of rows and columns: + lcd.begin(2, 16); + // Print a message to the LCD. + lcd.print("hello, world!"); +} + +void loop() { + // Turn off the display: + lcd.noCursor(); + delay(500); + // Turn on the display: + lcd.cursor(); + delay(500); +} + diff --git a/libraries/LiquidCrystal/examples/Display/Display.pde b/libraries/LiquidCrystal/examples/Display/Display.pde new file mode 100644 index 0000000..2ccf1cb --- /dev/null +++ b/libraries/LiquidCrystal/examples/Display/Display.pde @@ -0,0 +1,55 @@ +/* + LiquidCrystal Library - display() and noDisplay() + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch prints "Hello World!" to the LCD and uses the + display() and noDisplay() functions to turn on and off + the display. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +void setup() { + // set up the LCD's number of rows and columns: + lcd.begin(2, 16); + // Print a message to the LCD. + lcd.print("hello, world!"); +} + +void loop() { + // Turn off the display: + lcd.noDisplay(); + delay(500); + // Turn on the display: + lcd.display(); + delay(500); +} + diff --git a/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde b/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde new file mode 100644 index 0000000..9909349 --- /dev/null +++ b/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde @@ -0,0 +1,53 @@ +/* + LiquidCrystal Library - Hello World + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch prints "Hello World!" to the LCD + and shows the time. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +void setup() { + // set up the LCD's number of rows and columns: + lcd.begin(2, 16); + // Print a message to the LCD. + lcd.print("hello, world!"); +} + +void loop() { + // set the cursor to column 0, line 1 + // (note: line 1 is the second row, since counting begins with 0): + lcd.setCursor(0, 1); + // print the number of seconds since reset: + lcd.print(millis()/1000); +} + diff --git a/libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde b/libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde new file mode 100644 index 0000000..32ce4dc --- /dev/null +++ b/libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde @@ -0,0 +1,67 @@ +/* + LiquidCrystal Library - Increment/Decrement + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch demonstrates the use of the shiftIncrement() + and shifDecrement() functions. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +void setup() { + // set up the LCD's number of rows and columns: + lcd.begin(2, 16); +} + +void loop() { + // set the cursor to (0,0): + lcd.setCursor(0, 0); + // set the display to left justify: + lcd.shiftDecrement(); + // print from 0 to 9: + for (int thisChar = 0; thisChar < 10; thisChar++) { + lcd.print(thisChar); + delay(500); + } + // set the cursor to (16,0): + lcd.setCursor(16,1); + // set the display to left justify: + lcd.shiftIncrement(); + // print from 0 to 9: + for (int thisChar = 0; thisChar < 10; thisChar++) { + lcd.print(thisChar); + delay(500); + } + + // clear screen for the next loop: + lcd.clear(); +} + diff --git a/libraries/LiquidCrystal/examples/Scroll/Scroll.pde b/libraries/LiquidCrystal/examples/Scroll/Scroll.pde new file mode 100644 index 0000000..4556a38 --- /dev/null +++ b/libraries/LiquidCrystal/examples/Scroll/Scroll.pde @@ -0,0 +1,65 @@ +/* + LiquidCrystal Library - scrollDisplayLeft() and scrollDisplayRight() + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch prints "Hello World!" to the LCD and uses the + scrollDisplayLeft() and scrollDisplayRight() methods to scroll + the text. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +void setup() { + // set up the LCD's number of rows and columns: + lcd.begin(2, 16); + lcd.setCursor(0,7); + // Print a message to the LCD. + lcd.print("hello, world!"); +} + +void loop() { + // scroll 27 positions (display length + string length) to the left: + for (int positionCounter = 0; positionCounter < 27; positionCounter++) { + // scroll one position left: + lcd.scrollDisplayLeft(); + // wait a bit: + delay(200); + } + + // scroll 27 positions (display length + string length) to the right: + for (int positionCounter = 0; positionCounter < 27; positionCounter++) { + // scroll one position right: + lcd.scrollDisplayRight(); + // wait a bit: + delay(200); + } +} + diff --git a/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde b/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde new file mode 100644 index 0000000..559ec59 --- /dev/null +++ b/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde @@ -0,0 +1,60 @@ +/* + LiquidCrystal Library - Serial Input + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch displays text sent over the serial port + (e.g. from the Serial Monitor) on an attached LCD. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +void setup(){ + // set up the LCD's number of rows and columns: + lcd.begin(2, 16); + // initialize the serial communications: + Serial.begin(9600); +} + +void loop() +{ + // when characters arrive over the serial port... + if (Serial.available()) { + // wait a bit for the entire message to arrive + delay(100); + // clear the screen + lcd.clear(); + // read all the available characters + while (Serial.available() > 0) { + // display each character to the LCD + lcd.write(Serial.read()); + } + } +} diff --git a/libraries/LiquidCrystal/examples/Shift/Shift.pde b/libraries/LiquidCrystal/examples/Shift/Shift.pde new file mode 100644 index 0000000..0326c51 --- /dev/null +++ b/libraries/LiquidCrystal/examples/Shift/Shift.pde @@ -0,0 +1,82 @@ + /* + LiquidCrystal Library - Shift + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch demonstrates how to use shiftLeft() and shiftRight() + to move the cursor. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +int thisChar = 'a'; + +void setup() { + // set up the LCD's number of rows and columns: + lcd.begin(2, 16); + // turn on the cursor: + lcd.cursor(); + Serial.begin(9600); +} + +void loop() { + // reverse directions at 'm': + if (thisChar == 'm') { + // go right for the next letter + lcd.shiftRight(); + } + // reverse again at 's': + if (thisChar == 's') { + // go left for the next letter + lcd.shiftLeft(); + } + // reset at 'z': + if (thisChar > 'z') { + // go to (0,0): + lcd.home(); + // start again at 0 + thisChar = 'a'; + } + // print the character + lcd.print(thisChar, BYTE); + // wait a second: + delay(1000); + // increment the letter: + thisChar++; +} + + + + + + + + diff --git a/libraries/LiquidCrystal/examples/setCursor/setCursor.pde b/libraries/LiquidCrystal/examples/setCursor/setCursor.pde new file mode 100644 index 0000000..01e599e --- /dev/null +++ b/libraries/LiquidCrystal/examples/setCursor/setCursor.pde @@ -0,0 +1,66 @@ +/* + LiquidCrystal Library - setCursor + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch prints to all the positions of the LCD using the + setCursor(0 method: + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + */ + +// include the library code: +#include + +// these constants won't change. But you can change the size of +// your LCD using them: +const int numRows = 2; +const int numCols = 16; + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +void setup() { + // set up the LCD's number of rows and columns: + lcd.begin(numRows, numCols); +} + +void loop() { + // loop from ASCII 'a' to ASCII 'z': + for (int thisLetter = 'a'; thisLetter <= 'z'; thisLetter++) { + // loop over the columns: + for (int thisCol = 0; thisCol < numRows; thisCol++) { + // loop over the rows: + for (int thisRow = 0; thisRow < numCols; thisRow++) { + // set the cursor position: + lcd.setCursor(thisRow,thisCol); + // print the letter: + lcd.print(thisLetter, BYTE); + delay(200); + } + } + } +} + + -- cgit v1.2.3-18-g5258 From 58b4e52f7f7340f50f56363575dd2b08d71eec0e Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sat, 25 Jul 2009 18:26:29 +0000 Subject: Updating LiquidCrystal API and examples. --- libraries/LiquidCrystal/LiquidCrystal.cpp | 8 ++++---- libraries/LiquidCrystal/LiquidCrystal.h | 10 ++++------ libraries/LiquidCrystal/examples/Blink/Blink.pde | 8 ++++---- libraries/LiquidCrystal/examples/Cursor/Cursor.pde | 4 ++-- .../IncrementDecrement/IncrementDecrement.pde | 21 +++++++++++---------- libraries/LiquidCrystal/examples/Shift/Shift.pde | 8 ++++---- libraries/LiquidCrystal/keywords.txt | 5 +++++ 7 files changed, 34 insertions(+), 30 deletions(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/LiquidCrystal.cpp b/libraries/LiquidCrystal/LiquidCrystal.cpp index 4e46318..b66f107 100755 --- a/libraries/LiquidCrystal/LiquidCrystal.cpp +++ b/libraries/LiquidCrystal/LiquidCrystal.cpp @@ -219,25 +219,25 @@ void LiquidCrystal::scrollDisplayRight(void) { } // This is for text that flows Left to Right -void LiquidCrystal::shiftLeft(void) { +void LiquidCrystal::leftToRight(void) { _displaymode |= LCD_ENTRYLEFT; command(LCD_ENTRYMODESET | _displaymode); } // This is for text that flows Right to Left -void LiquidCrystal::shiftRight(void) { +void LiquidCrystal::rightToLeft(void) { _displaymode &= ~LCD_ENTRYLEFT; command(LCD_ENTRYMODESET | _displaymode); } // This will 'right justify' text from the cursor -void LiquidCrystal::shiftIncrement(void) { +void LiquidCrystal::autoscroll(void) { _displaymode |= LCD_ENTRYSHIFTINCREMENT; command(LCD_ENTRYMODESET | _displaymode); } // This will 'left justify' text from the cursor -void LiquidCrystal::shiftDecrement(void) { +void LiquidCrystal::noAutoscroll(void) { _displaymode &= ~LCD_ENTRYSHIFTINCREMENT; command(LCD_ENTRYMODESET | _displaymode); } diff --git a/libraries/LiquidCrystal/LiquidCrystal.h b/libraries/LiquidCrystal/LiquidCrystal.h index 5a8d087..f66ec1b 100755 --- a/libraries/LiquidCrystal/LiquidCrystal.h +++ b/libraries/LiquidCrystal/LiquidCrystal.h @@ -72,12 +72,10 @@ public: void cursor(); void scrollDisplayLeft(); void scrollDisplayRight(); - void printLeft(); - void printRight(); - void shiftLeft(); - void shiftRight(); - void shiftIncrement(); - void shiftDecrement(); + void leftToRight(); + void rightToLeft(); + void autoscroll(); + void noAutoscroll(); void createChar(uint8_t, uint8_t[]); void setCursor(uint8_t, uint8_t); diff --git a/libraries/LiquidCrystal/examples/Blink/Blink.pde b/libraries/LiquidCrystal/examples/Blink/Blink.pde index f189fd9..16529e1 100644 --- a/libraries/LiquidCrystal/examples/Blink/Blink.pde +++ b/libraries/LiquidCrystal/examples/Blink/Blink.pde @@ -45,12 +45,12 @@ void setup() { } void loop() { - // Turn off the display: + // Turn off the blinking cursor: lcd.noBlink(); - delay(500); - // Turn on the display: + delay(3000); + // Turn on the blinking cursor: lcd.blink(); - delay(500); + delay(3000); } diff --git a/libraries/LiquidCrystal/examples/Cursor/Cursor.pde b/libraries/LiquidCrystal/examples/Cursor/Cursor.pde index e28c719..dcc27e5 100644 --- a/libraries/LiquidCrystal/examples/Cursor/Cursor.pde +++ b/libraries/LiquidCrystal/examples/Cursor/Cursor.pde @@ -45,10 +45,10 @@ void setup() { } void loop() { - // Turn off the display: + // Turn off the cursor: lcd.noCursor(); delay(500); - // Turn on the display: + // Turn on the cursor: lcd.cursor(); delay(500); } diff --git a/libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde b/libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde index 32ce4dc..33adfc0 100644 --- a/libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde +++ b/libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde @@ -1,13 +1,13 @@ /* - LiquidCrystal Library - Increment/Decrement + LiquidCrystal Library - Autoscroll Demonstrates the use a 16x2 LCD display. The LiquidCrystal library works with all LCD displays that are compatible with the Hitachi HD44780 driver. There are many of them out there, and you can usually tell them by the 16-pin interface. - This sketch demonstrates the use of the shiftIncrement() - and shifDecrement() functions. + This sketch demonstrates the use of the autoscroll() + and noAutoscroll() functions. The circuit: * LCD RS pin to digital pin 12 @@ -37,29 +37,30 @@ LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { - // set up the LCD's number of rows and columns: + // set up the LCD's number of columns and rows: lcd.begin(2, 16); } void loop() { - // set the cursor to (0,0): + // set the cursor to (0,0): lcd.setCursor(0, 0); - // set the display to left justify: - lcd.shiftDecrement(); // print from 0 to 9: for (int thisChar = 0; thisChar < 10; thisChar++) { lcd.print(thisChar); delay(500); } - // set the cursor to (16,0): + + // set the cursor to (16,1): lcd.setCursor(16,1); - // set the display to left justify: - lcd.shiftIncrement(); + // set the display to automatically scroll: + lcd.autoscroll(); // print from 0 to 9: for (int thisChar = 0; thisChar < 10; thisChar++) { lcd.print(thisChar); delay(500); } + // turn off automatic scrolling + lcd.noAutoscroll(); // clear screen for the next loop: lcd.clear(); diff --git a/libraries/LiquidCrystal/examples/Shift/Shift.pde b/libraries/LiquidCrystal/examples/Shift/Shift.pde index 0326c51..3e88020 100644 --- a/libraries/LiquidCrystal/examples/Shift/Shift.pde +++ b/libraries/LiquidCrystal/examples/Shift/Shift.pde @@ -1,12 +1,12 @@ /* - LiquidCrystal Library - Shift + LiquidCrystal Library - TextDirection Demonstrates the use a 16x2 LCD display. The LiquidCrystal library works with all LCD displays that are compatible with the Hitachi HD44780 driver. There are many of them out there, and you can usually tell them by the 16-pin interface. - This sketch demonstrates how to use shiftLeft() and shiftRight() + This sketch demonstrates how to use leftToRight() and rightToLeft() to move the cursor. The circuit: @@ -51,12 +51,12 @@ void loop() { // reverse directions at 'm': if (thisChar == 'm') { // go right for the next letter - lcd.shiftRight(); + lcd.rightToLeft(); } // reverse again at 's': if (thisChar == 's') { // go left for the next letter - lcd.shiftLeft(); + lcd.leftToRight(); } // reset at 'z': if (thisChar > 'z') { diff --git a/libraries/LiquidCrystal/keywords.txt b/libraries/LiquidCrystal/keywords.txt index 367ab1f..9edb481 100755 --- a/libraries/LiquidCrystal/keywords.txt +++ b/libraries/LiquidCrystal/keywords.txt @@ -12,10 +12,15 @@ LiquidCrystal KEYWORD1 # Methods and Functions (KEYWORD2) ####################################### +begin KEYWORD2 clear KEYWORD2 home KEYWORD2 print KEYWORD2 setCursor KEYWORD2 +cursor KEYWORD2 +noCursor KEYWORD2 +blink KEYWORD2 +noBlink KEYWORD2 ####################################### # Constants (LITERAL1) -- cgit v1.2.3-18-g5258 From 5101d36d8440db7ea6930b0bf29b253f552c4026 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sat, 25 Jul 2009 18:28:35 +0000 Subject: Renaming LiquidCrystal example directories to correspond to new function names. --- .../examples/Autoscroll/IncrementDecrement.pde | 68 ++++++++++++++++++ .../IncrementDecrement/IncrementDecrement.pde | 68 ------------------ libraries/LiquidCrystal/examples/Shift/Shift.pde | 82 ---------------------- .../LiquidCrystal/examples/TextDirection/Shift.pde | 82 ++++++++++++++++++++++ 4 files changed, 150 insertions(+), 150 deletions(-) create mode 100644 libraries/LiquidCrystal/examples/Autoscroll/IncrementDecrement.pde delete mode 100644 libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde delete mode 100644 libraries/LiquidCrystal/examples/Shift/Shift.pde create mode 100644 libraries/LiquidCrystal/examples/TextDirection/Shift.pde (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Autoscroll/IncrementDecrement.pde b/libraries/LiquidCrystal/examples/Autoscroll/IncrementDecrement.pde new file mode 100644 index 0000000..33adfc0 --- /dev/null +++ b/libraries/LiquidCrystal/examples/Autoscroll/IncrementDecrement.pde @@ -0,0 +1,68 @@ +/* + LiquidCrystal Library - Autoscroll + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch demonstrates the use of the autoscroll() + and noAutoscroll() functions. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +void setup() { + // set up the LCD's number of columns and rows: + lcd.begin(2, 16); +} + +void loop() { + // set the cursor to (0,0): + lcd.setCursor(0, 0); + // print from 0 to 9: + for (int thisChar = 0; thisChar < 10; thisChar++) { + lcd.print(thisChar); + delay(500); + } + + // set the cursor to (16,1): + lcd.setCursor(16,1); + // set the display to automatically scroll: + lcd.autoscroll(); + // print from 0 to 9: + for (int thisChar = 0; thisChar < 10; thisChar++) { + lcd.print(thisChar); + delay(500); + } + // turn off automatic scrolling + lcd.noAutoscroll(); + + // clear screen for the next loop: + lcd.clear(); +} + diff --git a/libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde b/libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde deleted file mode 100644 index 33adfc0..0000000 --- a/libraries/LiquidCrystal/examples/IncrementDecrement/IncrementDecrement.pde +++ /dev/null @@ -1,68 +0,0 @@ -/* - LiquidCrystal Library - Autoscroll - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch demonstrates the use of the autoscroll() - and noAutoscroll() functions. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - - http://www.arduino.cc/en/Tutorial/LiquidCrystal - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -void setup() { - // set up the LCD's number of columns and rows: - lcd.begin(2, 16); -} - -void loop() { - // set the cursor to (0,0): - lcd.setCursor(0, 0); - // print from 0 to 9: - for (int thisChar = 0; thisChar < 10; thisChar++) { - lcd.print(thisChar); - delay(500); - } - - // set the cursor to (16,1): - lcd.setCursor(16,1); - // set the display to automatically scroll: - lcd.autoscroll(); - // print from 0 to 9: - for (int thisChar = 0; thisChar < 10; thisChar++) { - lcd.print(thisChar); - delay(500); - } - // turn off automatic scrolling - lcd.noAutoscroll(); - - // clear screen for the next loop: - lcd.clear(); -} - diff --git a/libraries/LiquidCrystal/examples/Shift/Shift.pde b/libraries/LiquidCrystal/examples/Shift/Shift.pde deleted file mode 100644 index 3e88020..0000000 --- a/libraries/LiquidCrystal/examples/Shift/Shift.pde +++ /dev/null @@ -1,82 +0,0 @@ - /* - LiquidCrystal Library - TextDirection - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch demonstrates how to use leftToRight() and rightToLeft() - to move the cursor. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - - http://www.arduino.cc/en/Tutorial/LiquidCrystal - - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -int thisChar = 'a'; - -void setup() { - // set up the LCD's number of rows and columns: - lcd.begin(2, 16); - // turn on the cursor: - lcd.cursor(); - Serial.begin(9600); -} - -void loop() { - // reverse directions at 'm': - if (thisChar == 'm') { - // go right for the next letter - lcd.rightToLeft(); - } - // reverse again at 's': - if (thisChar == 's') { - // go left for the next letter - lcd.leftToRight(); - } - // reset at 'z': - if (thisChar > 'z') { - // go to (0,0): - lcd.home(); - // start again at 0 - thisChar = 'a'; - } - // print the character - lcd.print(thisChar, BYTE); - // wait a second: - delay(1000); - // increment the letter: - thisChar++; -} - - - - - - - - diff --git a/libraries/LiquidCrystal/examples/TextDirection/Shift.pde b/libraries/LiquidCrystal/examples/TextDirection/Shift.pde new file mode 100644 index 0000000..3e88020 --- /dev/null +++ b/libraries/LiquidCrystal/examples/TextDirection/Shift.pde @@ -0,0 +1,82 @@ + /* + LiquidCrystal Library - TextDirection + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch demonstrates how to use leftToRight() and rightToLeft() + to move the cursor. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +int thisChar = 'a'; + +void setup() { + // set up the LCD's number of rows and columns: + lcd.begin(2, 16); + // turn on the cursor: + lcd.cursor(); + Serial.begin(9600); +} + +void loop() { + // reverse directions at 'm': + if (thisChar == 'm') { + // go right for the next letter + lcd.rightToLeft(); + } + // reverse again at 's': + if (thisChar == 's') { + // go left for the next letter + lcd.leftToRight(); + } + // reset at 'z': + if (thisChar > 'z') { + // go to (0,0): + lcd.home(); + // start again at 0 + thisChar = 'a'; + } + // print the character + lcd.print(thisChar, BYTE); + // wait a second: + delay(1000); + // increment the letter: + thisChar++; +} + + + + + + + + -- cgit v1.2.3-18-g5258 From 79c0ffdcdb4f01629f6d8a6a78cd8a76dd4c7592 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sat, 25 Jul 2009 18:29:53 +0000 Subject: Renaming LiquidCrystal example .pde files to correspond to new function names. --- .../examples/Autoscroll/Autoscroll.pde | 68 ++++++++++++++++++ .../examples/Autoscroll/IncrementDecrement.pde | 68 ------------------ .../LiquidCrystal/examples/TextDirection/Shift.pde | 82 ---------------------- .../examples/TextDirection/TextDirection.pde | 82 ++++++++++++++++++++++ 4 files changed, 150 insertions(+), 150 deletions(-) create mode 100644 libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde delete mode 100644 libraries/LiquidCrystal/examples/Autoscroll/IncrementDecrement.pde delete mode 100644 libraries/LiquidCrystal/examples/TextDirection/Shift.pde create mode 100644 libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde b/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde new file mode 100644 index 0000000..33adfc0 --- /dev/null +++ b/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde @@ -0,0 +1,68 @@ +/* + LiquidCrystal Library - Autoscroll + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch demonstrates the use of the autoscroll() + and noAutoscroll() functions. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +void setup() { + // set up the LCD's number of columns and rows: + lcd.begin(2, 16); +} + +void loop() { + // set the cursor to (0,0): + lcd.setCursor(0, 0); + // print from 0 to 9: + for (int thisChar = 0; thisChar < 10; thisChar++) { + lcd.print(thisChar); + delay(500); + } + + // set the cursor to (16,1): + lcd.setCursor(16,1); + // set the display to automatically scroll: + lcd.autoscroll(); + // print from 0 to 9: + for (int thisChar = 0; thisChar < 10; thisChar++) { + lcd.print(thisChar); + delay(500); + } + // turn off automatic scrolling + lcd.noAutoscroll(); + + // clear screen for the next loop: + lcd.clear(); +} + diff --git a/libraries/LiquidCrystal/examples/Autoscroll/IncrementDecrement.pde b/libraries/LiquidCrystal/examples/Autoscroll/IncrementDecrement.pde deleted file mode 100644 index 33adfc0..0000000 --- a/libraries/LiquidCrystal/examples/Autoscroll/IncrementDecrement.pde +++ /dev/null @@ -1,68 +0,0 @@ -/* - LiquidCrystal Library - Autoscroll - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch demonstrates the use of the autoscroll() - and noAutoscroll() functions. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - - http://www.arduino.cc/en/Tutorial/LiquidCrystal - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -void setup() { - // set up the LCD's number of columns and rows: - lcd.begin(2, 16); -} - -void loop() { - // set the cursor to (0,0): - lcd.setCursor(0, 0); - // print from 0 to 9: - for (int thisChar = 0; thisChar < 10; thisChar++) { - lcd.print(thisChar); - delay(500); - } - - // set the cursor to (16,1): - lcd.setCursor(16,1); - // set the display to automatically scroll: - lcd.autoscroll(); - // print from 0 to 9: - for (int thisChar = 0; thisChar < 10; thisChar++) { - lcd.print(thisChar); - delay(500); - } - // turn off automatic scrolling - lcd.noAutoscroll(); - - // clear screen for the next loop: - lcd.clear(); -} - diff --git a/libraries/LiquidCrystal/examples/TextDirection/Shift.pde b/libraries/LiquidCrystal/examples/TextDirection/Shift.pde deleted file mode 100644 index 3e88020..0000000 --- a/libraries/LiquidCrystal/examples/TextDirection/Shift.pde +++ /dev/null @@ -1,82 +0,0 @@ - /* - LiquidCrystal Library - TextDirection - - Demonstrates the use a 16x2 LCD display. The LiquidCrystal - library works with all LCD displays that are compatible with the - Hitachi HD44780 driver. There are many of them out there, and you - can usually tell them by the 16-pin interface. - - This sketch demonstrates how to use leftToRight() and rightToLeft() - to move the cursor. - - The circuit: - * LCD RS pin to digital pin 12 - * LCD Enable pin to digital pin 11 - * LCD D4 pin to digital pin 5 - * LCD D5 pin to digital pin 4 - * LCD D6 pin to digital pin 3 - * LCD D7 pin to digital pin 2 - * 10K resistor: - * ends to +5V and ground - * wiper to LCD VO pin (pin 3) - - Library originally added 18 Apr 2008 - by David A. Mellis - library modified 5 Jul 2009 - by Limor Fried (http://www.ladyada.net) - example added 9 Jul 2009 - by Tom Igoe - - http://www.arduino.cc/en/Tutorial/LiquidCrystal - - */ - -// include the library code: -#include - -// initialize the library with the numbers of the interface pins -LiquidCrystal lcd(12, 11, 5, 4, 3, 2); - -int thisChar = 'a'; - -void setup() { - // set up the LCD's number of rows and columns: - lcd.begin(2, 16); - // turn on the cursor: - lcd.cursor(); - Serial.begin(9600); -} - -void loop() { - // reverse directions at 'm': - if (thisChar == 'm') { - // go right for the next letter - lcd.rightToLeft(); - } - // reverse again at 's': - if (thisChar == 's') { - // go left for the next letter - lcd.leftToRight(); - } - // reset at 'z': - if (thisChar > 'z') { - // go to (0,0): - lcd.home(); - // start again at 0 - thisChar = 'a'; - } - // print the character - lcd.print(thisChar, BYTE); - // wait a second: - delay(1000); - // increment the letter: - thisChar++; -} - - - - - - - - diff --git a/libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde b/libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde new file mode 100644 index 0000000..3e88020 --- /dev/null +++ b/libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde @@ -0,0 +1,82 @@ + /* + LiquidCrystal Library - TextDirection + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch demonstrates how to use leftToRight() and rightToLeft() + to move the cursor. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + + http://www.arduino.cc/en/Tutorial/LiquidCrystal + + */ + +// include the library code: +#include + +// initialize the library with the numbers of the interface pins +LiquidCrystal lcd(12, 11, 5, 4, 3, 2); + +int thisChar = 'a'; + +void setup() { + // set up the LCD's number of rows and columns: + lcd.begin(2, 16); + // turn on the cursor: + lcd.cursor(); + Serial.begin(9600); +} + +void loop() { + // reverse directions at 'm': + if (thisChar == 'm') { + // go right for the next letter + lcd.rightToLeft(); + } + // reverse again at 's': + if (thisChar == 's') { + // go left for the next letter + lcd.leftToRight(); + } + // reset at 'z': + if (thisChar > 'z') { + // go to (0,0): + lcd.home(); + // start again at 0 + thisChar = 'a'; + } + // print the character + lcd.print(thisChar, BYTE); + // wait a second: + delay(1000); + // increment the letter: + thisChar++; +} + + + + + + + + -- cgit v1.2.3-18-g5258 From 65e95030c6fbaa5a4a1399241547b94868e435c5 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sat, 25 Jul 2009 18:56:46 +0000 Subject: Updating keywords.txt for LiquidCrystal library. --- libraries/LiquidCrystal/keywords.txt | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/keywords.txt b/libraries/LiquidCrystal/keywords.txt index 9edb481..132845c 100755 --- a/libraries/LiquidCrystal/keywords.txt +++ b/libraries/LiquidCrystal/keywords.txt @@ -21,6 +21,15 @@ cursor KEYWORD2 noCursor KEYWORD2 blink KEYWORD2 noBlink KEYWORD2 +display KEYWORD2 +noDisplay KEYWORD2 +autoscroll KEYWORD2 +noAutoscroll KEYWORD2 +leftToRight KEYWORD2 +rightToLeft KEYWORD2 +scrollDisplayLeft KEYWORD2 +scrollDisplayRight KEYWORD2 +createChar KEYWORD2 ####################################### # Constants (LITERAL1) -- cgit v1.2.3-18-g5258 From 37a1c7135174c4012e29cda13e2b839ca5dac4fd Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Sun, 2 Aug 2009 18:41:40 +0000 Subject: Changed begin() in LiquidCrystal examples --- libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde b/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde index 33adfc0..8783a3d 100644 --- a/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde +++ b/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde @@ -38,7 +38,7 @@ LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: - lcd.begin(2, 16); + lcd.begin(16,2); } void loop() { -- cgit v1.2.3-18-g5258 From bf818365918af5909267b953209e3872333689b7 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Sun, 2 Aug 2009 18:44:30 +0000 Subject: Changed begin() in LiquidCrystal examples --- libraries/LiquidCrystal/examples/Blink/Blink.pde | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Blink/Blink.pde b/libraries/LiquidCrystal/examples/Blink/Blink.pde index 16529e1..d839ef2 100644 --- a/libraries/LiquidCrystal/examples/Blink/Blink.pde +++ b/libraries/LiquidCrystal/examples/Blink/Blink.pde @@ -39,7 +39,7 @@ LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of rows and columns: - lcd.begin(2, 16); + lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } -- cgit v1.2.3-18-g5258 From 7544b57ea874cc985e6461815bac16f632fd07e4 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Sun, 2 Aug 2009 18:44:52 +0000 Subject: Changed begin() in LiquidCrystal examples --- libraries/LiquidCrystal/examples/Cursor/Cursor.pde | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Cursor/Cursor.pde b/libraries/LiquidCrystal/examples/Cursor/Cursor.pde index dcc27e5..b8ef9d2 100644 --- a/libraries/LiquidCrystal/examples/Cursor/Cursor.pde +++ b/libraries/LiquidCrystal/examples/Cursor/Cursor.pde @@ -39,7 +39,7 @@ LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of rows and columns: - lcd.begin(2, 16); + lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } -- cgit v1.2.3-18-g5258 From 4a6c91529652a8a411a45fa19dc7ad839508fcb2 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Sun, 2 Aug 2009 18:44:54 +0000 Subject: Changed begin() in LiquidCrystal examples --- libraries/LiquidCrystal/examples/Display/Display.pde | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Display/Display.pde b/libraries/LiquidCrystal/examples/Display/Display.pde index 2ccf1cb..a12fad6 100644 --- a/libraries/LiquidCrystal/examples/Display/Display.pde +++ b/libraries/LiquidCrystal/examples/Display/Display.pde @@ -39,7 +39,7 @@ LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of rows and columns: - lcd.begin(2, 16); + lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } -- cgit v1.2.3-18-g5258 From a0f72ba82cf427f0253a848385d6f52aa55aa0e8 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Sun, 2 Aug 2009 18:44:59 +0000 Subject: Changed begin() in LiquidCrystal examples --- libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde b/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde index 9909349..642b80f 100644 --- a/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde +++ b/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde @@ -38,7 +38,7 @@ LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of rows and columns: - lcd.begin(2, 16); + lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } -- cgit v1.2.3-18-g5258 From e66eb79a26977f897b6340a501003d6af41d998b Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Sun, 2 Aug 2009 18:45:04 +0000 Subject: Changed begin() in LiquidCrystal examples --- libraries/LiquidCrystal/examples/Scroll/Scroll.pde | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Scroll/Scroll.pde b/libraries/LiquidCrystal/examples/Scroll/Scroll.pde index 4556a38..ec49244 100644 --- a/libraries/LiquidCrystal/examples/Scroll/Scroll.pde +++ b/libraries/LiquidCrystal/examples/Scroll/Scroll.pde @@ -39,7 +39,7 @@ LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of rows and columns: - lcd.begin(2, 16); + lcd.begin(16, 2); lcd.setCursor(0,7); // Print a message to the LCD. lcd.print("hello, world!"); -- cgit v1.2.3-18-g5258 From 0675c7a00586360897feaa3f3563a340f60d1b2a Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Sun, 2 Aug 2009 18:45:08 +0000 Subject: Changed begin() in LiquidCrystal examples --- libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde b/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde index 559ec59..79a6500 100644 --- a/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde +++ b/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde @@ -38,7 +38,7 @@ LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup(){ // set up the LCD's number of rows and columns: - lcd.begin(2, 16); + lcd.begin(16, 2); // initialize the serial communications: Serial.begin(9600); } -- cgit v1.2.3-18-g5258 From 739714e28c289c3e124baab6fbe33e82588deddb Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Sun, 2 Aug 2009 18:45:13 +0000 Subject: Changed begin() in LiquidCrystal examples --- libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde b/libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde index 3e88020..196c5cf 100644 --- a/libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde +++ b/libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde @@ -41,7 +41,7 @@ int thisChar = 'a'; void setup() { // set up the LCD's number of rows and columns: - lcd.begin(2, 16); + lcd.begin(16, 2); // turn on the cursor: lcd.cursor(); Serial.begin(9600); -- cgit v1.2.3-18-g5258 From fd3bcef9d52e57626306391156f6cad0e31cee82 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Wed, 5 Aug 2009 14:40:55 +0000 Subject: Checked and updated all LiquidCrystal examples --- libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde b/libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde index 196c5cf..725eb0d 100644 --- a/libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde +++ b/libraries/LiquidCrystal/examples/TextDirection/TextDirection.pde @@ -26,6 +26,8 @@ by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 by Tom Igoe + modified 25 July 2009 + by David A. Mellis http://www.arduino.cc/en/Tutorial/LiquidCrystal -- cgit v1.2.3-18-g5258 From b63e74ecbe26e6b6d619015fbb33e4dad369380b Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Wed, 5 Aug 2009 14:41:03 +0000 Subject: Checked and updated all LiquidCrystal examples --- libraries/LiquidCrystal/examples/setCursor/setCursor.pde | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/setCursor/setCursor.pde b/libraries/LiquidCrystal/examples/setCursor/setCursor.pde index 01e599e..edd2e77 100644 --- a/libraries/LiquidCrystal/examples/setCursor/setCursor.pde +++ b/libraries/LiquidCrystal/examples/setCursor/setCursor.pde @@ -26,6 +26,8 @@ by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 by Tom Igoe + modified 25 July 2009 + by David A. Mellis http://www.arduino.cc/en/Tutorial/LiquidCrystal */ -- cgit v1.2.3-18-g5258 From d48347ec1de10f6884e0959593dd29725f44619f Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Wed, 5 Aug 2009 14:41:08 +0000 Subject: Checked and updated all LiquidCrystal examples --- libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde b/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde index 79a6500..a094c24 100644 --- a/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde +++ b/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.pde @@ -26,6 +26,8 @@ by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 by Tom Igoe +modified 25 July 2009 + by David A. Mellis http://www.arduino.cc/en/Tutorial/LiquidCrystal */ -- cgit v1.2.3-18-g5258 From 16eaf9a9fbd2371467835f7def4c7587d3ed47ae Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Wed, 5 Aug 2009 14:41:11 +0000 Subject: Checked and updated all LiquidCrystal examples --- libraries/LiquidCrystal/examples/Scroll/Scroll.pde | 32 +++++++++++++++++----- 1 file changed, 25 insertions(+), 7 deletions(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Scroll/Scroll.pde b/libraries/LiquidCrystal/examples/Scroll/Scroll.pde index ec49244..9276553 100644 --- a/libraries/LiquidCrystal/examples/Scroll/Scroll.pde +++ b/libraries/LiquidCrystal/examples/Scroll/Scroll.pde @@ -27,6 +27,8 @@ by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 by Tom Igoe + modified 25 July 2009 + by David A. Mellis http://www.arduino.cc/en/Tutorial/LiquidCrystal */ @@ -40,26 +42,42 @@ LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of rows and columns: lcd.begin(16, 2); - lcd.setCursor(0,7); + //lcd.setCursor(0,7); // Print a message to the LCD. lcd.print("hello, world!"); + delay(1000); } void loop() { - // scroll 27 positions (display length + string length) to the left: - for (int positionCounter = 0; positionCounter < 27; positionCounter++) { + // scroll 13 positions (string length) to the left + // to move it offscreen left: + for (int positionCounter = 0; positionCounter < 13; positionCounter++) { // scroll one position left: lcd.scrollDisplayLeft(); // wait a bit: - delay(200); + delay(150); } - // scroll 27 positions (display length + string length) to the right: - for (int positionCounter = 0; positionCounter < 27; positionCounter++) { + // scroll 29 positions (string length + display length) to the right + // to move it offscreen right: + for (int positionCounter = 0; positionCounter < 29; positionCounter++) { // scroll one position right: lcd.scrollDisplayRight(); // wait a bit: - delay(200); + delay(150); + } + + // scroll 16 positions (display length + string length) to the left + // to move it back to center: + for (int positionCounter = 0; positionCounter < 16; positionCounter++) { + // scroll one position left: + lcd.scrollDisplayLeft(); + // wait a bit: + delay(150); } + + // delay at the end of the full loop: + delay(1000); + } -- cgit v1.2.3-18-g5258 From e94732715829502b266bfac59a7226017cbadaa4 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Wed, 5 Aug 2009 14:41:14 +0000 Subject: Checked and updated all LiquidCrystal examples --- libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde b/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde index 642b80f..76cd746 100644 --- a/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde +++ b/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.pde @@ -25,7 +25,10 @@ library modified 5 Jul 2009 by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 - by Tom Igoe + by Tom Igoe + modified 25 July 2009 + by David A. Mellis + http://www.arduino.cc/en/Tutorial/LiquidCrystal */ -- cgit v1.2.3-18-g5258 From b521782b520aecd72fa93912b8abacee625cc8b7 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Wed, 5 Aug 2009 14:41:17 +0000 Subject: Checked and updated all LiquidCrystal examples --- libraries/LiquidCrystal/examples/Display/Display.pde | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Display/Display.pde b/libraries/LiquidCrystal/examples/Display/Display.pde index a12fad6..b430539 100644 --- a/libraries/LiquidCrystal/examples/Display/Display.pde +++ b/libraries/LiquidCrystal/examples/Display/Display.pde @@ -27,6 +27,9 @@ by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 by Tom Igoe + modified 25 July 2009 + by David A. Mellis + http://www.arduino.cc/en/Tutorial/LiquidCrystal */ -- cgit v1.2.3-18-g5258 From d241a63685f6c196eea910270aa2a3b64aad8707 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Wed, 5 Aug 2009 14:41:23 +0000 Subject: Checked and updated all LiquidCrystal examples --- libraries/LiquidCrystal/examples/Cursor/Cursor.pde | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Cursor/Cursor.pde b/libraries/LiquidCrystal/examples/Cursor/Cursor.pde index b8ef9d2..c0273f4 100644 --- a/libraries/LiquidCrystal/examples/Cursor/Cursor.pde +++ b/libraries/LiquidCrystal/examples/Cursor/Cursor.pde @@ -27,6 +27,9 @@ by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 by Tom Igoe + modified 25 July 2009 + by David A. Mellis + http://www.arduino.cc/en/Tutorial/LiquidCrystal */ -- cgit v1.2.3-18-g5258 From 6f28053a8e05a71147254e97cad5d1e754ad4a95 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Wed, 5 Aug 2009 14:41:24 +0000 Subject: Checked and updated all LiquidCrystal examples --- libraries/LiquidCrystal/examples/Blink/Blink.pde | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Blink/Blink.pde b/libraries/LiquidCrystal/examples/Blink/Blink.pde index d839ef2..83c79b4 100644 --- a/libraries/LiquidCrystal/examples/Blink/Blink.pde +++ b/libraries/LiquidCrystal/examples/Blink/Blink.pde @@ -26,6 +26,8 @@ by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 by Tom Igoe + modified 25 July 2009 + by David A. Mellis http://www.arduino.cc/en/Tutorial/LiquidCrystal -- cgit v1.2.3-18-g5258 From 79b7ecdd92973f4aa67a6bcaa8bd12a10e5b5133 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Wed, 5 Aug 2009 14:41:27 +0000 Subject: Checked and updated all LiquidCrystal examples --- libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libraries/LiquidCrystal') diff --git a/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde b/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde index 8783a3d..bf33743 100644 --- a/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde +++ b/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.pde @@ -7,7 +7,7 @@ can usually tell them by the 16-pin interface. This sketch demonstrates the use of the autoscroll() - and noAutoscroll() functions. + and noAutoscroll() functions to make new text scroll or not. The circuit: * LCD RS pin to digital pin 12 @@ -26,6 +26,8 @@ by Limor Fried (http://www.ladyada.net) example added 9 Jul 2009 by Tom Igoe + modified 25 July 2009 + by David A. Mellis http://www.arduino.cc/en/Tutorial/LiquidCrystal */ -- cgit v1.2.3-18-g5258