aboutsummaryrefslogtreecommitdiff
path: root/libraries
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@bug.st>2012-09-03 16:13:28 +0200
committerCristian Maglie <c.maglie@bug.st>2012-09-03 16:13:28 +0200
commitf201dab33e228e89394b0352d077504ff2391487 (patch)
treee2cb30ae7568531e2c7a066e86d120824f23b816 /libraries
parent25ec2a9f65fde6eddd9781c76a34dcf01598853b (diff)
LiquidCrystal library is already multiplatform compliant, moved into libraries folder
Diffstat (limited to 'libraries')
-rw-r--r--libraries/LiquidCrystal/LiquidCrystal.cpp310
-rwxr-xr-xlibraries/LiquidCrystal/LiquidCrystal.h106
-rw-r--r--libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino74
-rw-r--r--libraries/LiquidCrystal/examples/Blink/Blink.ino61
-rw-r--r--libraries/LiquidCrystal/examples/Cursor/Cursor.ino61
-rw-r--r--libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino138
-rw-r--r--libraries/LiquidCrystal/examples/Display/Display.ino61
-rw-r--r--libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.ino58
-rw-r--r--libraries/LiquidCrystal/examples/Scroll/Scroll.ino86
-rw-r--r--libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino65
-rw-r--r--libraries/LiquidCrystal/examples/TextDirection/TextDirection.ino86
-rw-r--r--libraries/LiquidCrystal/examples/setCursor/setCursor.ino72
-rwxr-xr-xlibraries/LiquidCrystal/keywords.txt37
13 files changed, 0 insertions, 1215 deletions
diff --git a/libraries/LiquidCrystal/LiquidCrystal.cpp b/libraries/LiquidCrystal/LiquidCrystal.cpp
deleted file mode 100644
index 0653487..0000000
--- a/libraries/LiquidCrystal/LiquidCrystal.cpp
+++ /dev/null
@@ -1,310 +0,0 @@
-#include "LiquidCrystal.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <inttypes.h>
-#include "Arduino.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)
-{
- 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, 255, 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, 255, 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;
- _data_pins[3] = d3;
- _data_pins[4] = d4;
- _data_pins[5] = d5;
- _data_pins[6] = d6;
- _data_pins[7] = d7;
-
- pinMode(_rs_pin, OUTPUT);
- // we can save 1 pin by not using RW. Indicate by passing 255 instead of pin#
- if (_rw_pin != 255) {
- pinMode(_rw_pin, OUTPUT);
- }
- pinMode(_enable_pin, OUTPUT);
-
- if (fourbitmode)
- _displayfunction = LCD_4BITMODE | LCD_1LINE | LCD_5x8DOTS;
- else
- _displayfunction = LCD_8BITMODE | LCD_1LINE | LCD_5x8DOTS;
-
- begin(16, 1);
-}
-
-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 != 255) {
- digitalWrite(_rw_pin, LOW);
- }
-
- //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 4-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(LCD_CLEARDISPLAY); // clear display, set cursor position to zero
- delayMicroseconds(2000); // this command takes a long time!
-}
-
-void LiquidCrystal::home()
-{
- command(LCD_RETURNHOME); // set cursor position to zero
- delayMicroseconds(2000); // this command takes a long time!
-}
-
-void LiquidCrystal::setCursor(uint8_t col, uint8_t row)
-{
- int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 };
- 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::leftToRight(void) {
- _displaymode |= LCD_ENTRYLEFT;
- command(LCD_ENTRYMODESET | _displaymode);
-}
-
-// This is for text that flows Right to Left
-void LiquidCrystal::rightToLeft(void) {
- _displaymode &= ~LCD_ENTRYLEFT;
- command(LCD_ENTRYMODESET | _displaymode);
-}
-
-// This will 'right justify' text from the cursor
-void LiquidCrystal::autoscroll(void) {
- _displaymode |= LCD_ENTRYSHIFTINCREMENT;
- command(LCD_ENTRYMODESET | _displaymode);
-}
-
-// This will 'left justify' text from the cursor
-void LiquidCrystal::noAutoscroll(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);
-}
-
-inline size_t LiquidCrystal::write(uint8_t value) {
- send(value, HIGH);
- return 1; // assume sucess
-}
-
-/************ 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);
-
- // if there is a RW pin indicated, set it low to Write
- if (_rw_pin != 255) {
- digitalWrite(_rw_pin, LOW);
- }
-
- if (_displayfunction & LCD_8BITMODE) {
- write8bits(value);
- } else {
- 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
-}
-
-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
deleted file mode 100755
index 24ec5af..0000000
--- a/libraries/LiquidCrystal/LiquidCrystal.h
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef LiquidCrystal_h
-#define LiquidCrystal_h
-
-#include <inttypes.h>
-#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 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 noDisplay();
- void display();
- void noBlink();
- void blink();
- void noCursor();
- void cursor();
- void scrollDisplayLeft();
- void scrollDisplayRight();
- void leftToRight();
- void rightToLeft();
- void autoscroll();
- void noAutoscroll();
-
- void createChar(uint8_t, uint8_t[]);
- void setCursor(uint8_t, uint8_t);
- virtual size_t write(uint8_t);
- void command(uint8_t);
-
- using Print::write;
-private:
- void send(uint8_t, uint8_t);
- 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
diff --git a/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino b/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino
deleted file mode 100644
index 1127d8f..0000000
--- a/libraries/LiquidCrystal/examples/Autoscroll/Autoscroll.ino
+++ /dev/null
@@ -1,74 +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 to make new text scroll or not.
-
- 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
- * LCD R/W pin to ground
- * 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
- modified 22 Nov 2010
- by Tom Igoe
-
- This example code is in the public domain.
-
- http://arduino.cc/en/Tutorial/LiquidCrystalAutoscroll
-
- */
-
-// include the library code:
-#include <LiquidCrystal.h>
-
-// 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(16,2);
-}
-
-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/Blink/Blink.ino b/libraries/LiquidCrystal/examples/Blink/Blink.ino
deleted file mode 100644
index 9667b5d..0000000
--- a/libraries/LiquidCrystal/examples/Blink/Blink.ino
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- 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
- * LCD R/W pin to ground
- * 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
- modified 22 Nov 2010
- by Tom Igoe
-
- This example code is in the public domain.
-
- http://arduino.cc/en/Tutorial/LiquidCrystalBlink
-
- */
-
-// include the library code:
-#include <LiquidCrystal.h>
-
-// 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(16, 2);
- // Print a message to the LCD.
- lcd.print("hello, world!");
-}
-
-void loop() {
- // Turn off the blinking cursor:
- lcd.noBlink();
- delay(3000);
- // Turn on the blinking cursor:
- lcd.blink();
- delay(3000);
-}
-
-
diff --git a/libraries/LiquidCrystal/examples/Cursor/Cursor.ino b/libraries/LiquidCrystal/examples/Cursor/Cursor.ino
deleted file mode 100644
index 05862a4..0000000
--- a/libraries/LiquidCrystal/examples/Cursor/Cursor.ino
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- 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
- * LCD R/W pin to ground
- * 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
- modified 22 Nov 2010
- by Tom Igoe
-
- This example code is in the public domain.
-
- http://arduino.cc/en/Tutorial/LiquidCrystalCursor
-
- */
-
-// include the library code:
-#include <LiquidCrystal.h>
-
-// 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(16, 2);
- // Print a message to the LCD.
- lcd.print("hello, world!");
-}
-
-void loop() {
- // Turn off the cursor:
- lcd.noCursor();
- delay(500);
- // Turn on the cursor:
- lcd.cursor();
- delay(500);
-}
-
diff --git a/libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino b/libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino
deleted file mode 100644
index d3ce479..0000000
--- a/libraries/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- LiquidCrystal Library - Custom Characters
-
- Demonstrates how to add custom characters on an 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 "I <heart> Arduino!" and a little dancing man
- to the 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
- * LCD R/W pin to ground
- * 10K potentiometer:
- * ends to +5V and ground
- * wiper to LCD VO pin (pin 3)
- * 10K poterntiometer on pin A0
-
- created21 Mar 2011
- by Tom Igoe
- Based on Adafruit's example at
- https://github.com/adafruit/SPI_VFD/blob/master/examples/createChar/createChar.pde
-
- This example code is in the public domain.
- http://www.arduino.cc/en/Tutorial/LiquidCrystal
-
- Also useful:
- http://icontexto.com/charactercreator/
-
- */
-
-// include the library code:
-#include <LiquidCrystal.h>
-
-// initialize the library with the numbers of the interface pins
-LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
-
-// make some custom characters:
-byte heart[8] = {
- 0b00000,
- 0b01010,
- 0b11111,
- 0b11111,
- 0b11111,
- 0b01110,
- 0b00100,
- 0b00000
-};
-
-byte smiley[8] = {
- 0b00000,
- 0b00000,
- 0b01010,
- 0b00000,
- 0b00000,
- 0b10001,
- 0b01110,
- 0b00000
-};
-
-byte frownie[8] = {
- 0b00000,
- 0b00000,
- 0b01010,
- 0b00000,
- 0b00000,
- 0b00000,
- 0b01110,
- 0b10001
-};
-
-byte armsDown[8] = {
- 0b00100,
- 0b01010,
- 0b00100,
- 0b00100,
- 0b01110,
- 0b10101,
- 0b00100,
- 0b01010
-};
-
-byte armsUp[8] = {
- 0b00100,
- 0b01010,
- 0b00100,
- 0b10101,
- 0b01110,
- 0b00100,
- 0b00100,
- 0b01010
-};
-void setup() {
- // create a new character
- lcd.createChar(0, heart);
- // create a new character
- lcd.createChar(1, smiley);
- // create a new character
- lcd.createChar(2, frownie);
- // create a new character
- lcd.createChar(3, armsDown);
- // create a new character
- lcd.createChar(4, armsUp);
-
- // set up the lcd's number of columns and rows:
- lcd.begin(16, 2);
- // Print a message to the lcd.
- lcd.print("I ");
- lcd.write(0);
- lcd.print(" Arduino! ");
- lcd.write(1);
-
-}
-
-void loop() {
- // read the potentiometer on A0:
- int sensorReading = analogRead(A0);
- // map the result to 200 - 1000:
- int delayTime = map(sensorReading, 0, 1023, 200, 1000);
- // set the cursor to the bottom row, 5th position:
- lcd.setCursor(4, 1);
- // draw the little man, arms down:
- lcd.write(3);
- delay(delayTime);
- lcd.setCursor(4, 1);
- // draw him arms up:
- lcd.write(4);
- delay(delayTime);
-}
-
-
-
diff --git a/libraries/LiquidCrystal/examples/Display/Display.ino b/libraries/LiquidCrystal/examples/Display/Display.ino
deleted file mode 100644
index a85effb..0000000
--- a/libraries/LiquidCrystal/examples/Display/Display.ino
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- 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
- * LCD R/W pin to ground
- * 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
- modified 22 Nov 2010
- by Tom Igoe
-
- This example code is in the public domain.
-
- http://arduino.cc/en/Tutorial/LiquidCrystalDisplay
-
- */
-
-// include the library code:
-#include <LiquidCrystal.h>
-
-// 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(16, 2);
- // 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.ino b/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.ino
deleted file mode 100644
index e99957d..0000000
--- a/libraries/LiquidCrystal/examples/HelloWorld/HelloWorld.ino
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- 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
- * LCD R/W pin to ground
- * 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
- modified 22 Nov 2010
- by Tom Igoe
-
- This example code is in the public domain.
-
- http://www.arduino.cc/en/Tutorial/LiquidCrystal
- */
-
-// include the library code:
-#include <LiquidCrystal.h>
-
-// 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(16, 2);
- // 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/Scroll/Scroll.ino b/libraries/LiquidCrystal/examples/Scroll/Scroll.ino
deleted file mode 100644
index 0d6d8dc..0000000
--- a/libraries/LiquidCrystal/examples/Scroll/Scroll.ino
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- 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
- * LCD R/W pin to ground
- * 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
- modified 22 Nov 2010
- by Tom Igoe
-
- This example code is in the public domain.
-
- http://arduino.cc/en/Tutorial/LiquidCrystalScroll
-
- */
-
-// include the library code:
-#include <LiquidCrystal.h>
-
-// 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(16, 2);
- // Print a message to the LCD.
- lcd.print("hello, world!");
- delay(1000);
-}
-
-void loop() {
- // 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(150);
- }
-
- // 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(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);
-
-}
-
diff --git a/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino b/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino
deleted file mode 100644
index a6f8f40..0000000
--- a/libraries/LiquidCrystal/examples/SerialDisplay/SerialDisplay.ino
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- 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
- * LCD R/W pin to ground
- * 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
- modified 22 Nov 2010
- by Tom Igoe
-
- This example code is in the public domain.
-
- http://arduino.cc/en/Tutorial/LiquidCrystalSerial
- */
-
-// include the library code:
-#include <LiquidCrystal.h>
-
-// 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(16, 2);
- // 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/TextDirection/TextDirection.ino b/libraries/LiquidCrystal/examples/TextDirection/TextDirection.ino
deleted file mode 100644
index cabd8ea..0000000
--- a/libraries/LiquidCrystal/examples/TextDirection/TextDirection.ino
+++ /dev/null
@@ -1,86 +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
- * LCD R/W pin to ground
- * 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
- modified 22 Nov 2010
- by Tom Igoe
-
- This example code is in the public domain.
-
- http://arduino.cc/en/Tutorial/LiquidCrystalTextDirection
-
- */
-
-// include the library code:
-#include <LiquidCrystal.h>
-
-// 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 columns and rows:
- lcd.begin(16, 2);
- // turn on the cursor:
- lcd.cursor();
-}
-
-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.write(thisChar);
- // wait a second:
- delay(1000);
- // increment the letter:
- thisChar++;
-}
-
-
-
-
-
-
-
-
diff --git a/libraries/LiquidCrystal/examples/setCursor/setCursor.ino b/libraries/LiquidCrystal/examples/setCursor/setCursor.ino
deleted file mode 100644
index e45c491..0000000
--- a/libraries/LiquidCrystal/examples/setCursor/setCursor.ino
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- 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
- * LCD R/W pin to ground
- * 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
- modified 22 Nov 2010
- by Tom Igoe
-
- This example code is in the public domain.
-
- http://arduino.cc/en/Tutorial/LiquidCrystalSetCursor
-
- */
-
-// include the library code:
-#include <LiquidCrystal.h>
-
-// 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 columns and rows:
- lcd.begin(numCols,numRows);
-}
-
-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.write(thisLetter);
- delay(200);
- }
- }
- }
-}
-
-
diff --git a/libraries/LiquidCrystal/keywords.txt b/libraries/LiquidCrystal/keywords.txt
deleted file mode 100755
index 132845c..0000000
--- a/libraries/LiquidCrystal/keywords.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-#######################################
-# Syntax Coloring Map For LiquidCrystal
-#######################################
-
-#######################################
-# Datatypes (KEYWORD1)
-#######################################
-
-LiquidCrystal KEYWORD1
-
-#######################################
-# Methods and Functions (KEYWORD2)
-#######################################
-
-begin KEYWORD2
-clear KEYWORD2
-home KEYWORD2
-print KEYWORD2
-setCursor KEYWORD2
-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)
-#######################################
-