aboutsummaryrefslogtreecommitdiff
path: root/libraries/LiquidCrystal/examples/Shift
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/LiquidCrystal/examples/Shift')
-rw-r--r--libraries/LiquidCrystal/examples/Shift/Shift.pde82
1 files changed, 82 insertions, 0 deletions
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 <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 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++;
+}
+
+
+
+
+
+
+
+