1 | /*
|
---|
2 | LiquidCrystal Library - TextDirection
|
---|
3 |
|
---|
4 | Demonstrates the use a 16x2 LCD display. The LiquidCrystal
|
---|
5 | library works with all LCD displays that are compatible with the
|
---|
6 | Hitachi HD44780 driver. There are many of them out there, and you
|
---|
7 | can usually tell them by the 16-pin interface.
|
---|
8 |
|
---|
9 | This sketch demonstrates how to use leftToRight() and rightToLeft()
|
---|
10 | to move the cursor.
|
---|
11 |
|
---|
12 | The circuit:
|
---|
13 | * LCD RS pin to digital pin 12
|
---|
14 | * LCD Enable pin to digital pin 11
|
---|
15 | * LCD D4 pin to digital pin 5
|
---|
16 | * LCD D5 pin to digital pin 4
|
---|
17 | * LCD D6 pin to digital pin 3
|
---|
18 | * LCD D7 pin to digital pin 2
|
---|
19 | * LCD R/W pin to ground
|
---|
20 | * 10K resistor:
|
---|
21 | * ends to +5V and ground
|
---|
22 | * wiper to LCD VO pin (pin 3)
|
---|
23 |
|
---|
24 | Library originally added 18 Apr 2008
|
---|
25 | by David A. Mellis
|
---|
26 | library modified 5 Jul 2009
|
---|
27 | by Limor Fried (http://www.ladyada.net)
|
---|
28 | example added 9 Jul 2009
|
---|
29 | by Tom Igoe
|
---|
30 | modified 22 Nov 2010
|
---|
31 | by Tom Igoe
|
---|
32 |
|
---|
33 | This example code is in the public domain.
|
---|
34 |
|
---|
35 | http://arduino.cc/en/Tutorial/LiquidCrystalTextDirection
|
---|
36 |
|
---|
37 | */
|
---|
38 |
|
---|
39 | // include the library code:
|
---|
40 | #include <LiquidCrystal.h>
|
---|
41 |
|
---|
42 | // initialize the library with the numbers of the interface pins
|
---|
43 | LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
|
---|
44 |
|
---|
45 | int thisChar = 'a';
|
---|
46 |
|
---|
47 | void setup() {
|
---|
48 | // set up the LCD's number of columns and rows:
|
---|
49 | lcd.begin(16, 2);
|
---|
50 | // turn on the cursor:
|
---|
51 | lcd.cursor();
|
---|
52 | }
|
---|
53 |
|
---|
54 | void loop() {
|
---|
55 | // reverse directions at 'm':
|
---|
56 | if (thisChar == 'm') {
|
---|
57 | // go right for the next letter
|
---|
58 | lcd.rightToLeft();
|
---|
59 | }
|
---|
60 | // reverse again at 's':
|
---|
61 | if (thisChar == 's') {
|
---|
62 | // go left for the next letter
|
---|
63 | lcd.leftToRight();
|
---|
64 | }
|
---|
65 | // reset at 'z':
|
---|
66 | if (thisChar > 'z') {
|
---|
67 | // go to (0,0):
|
---|
68 | lcd.home();
|
---|
69 | // start again at 0
|
---|
70 | thisChar = 'a';
|
---|
71 | }
|
---|
72 | // print the character
|
---|
73 | lcd.write(thisChar);
|
---|
74 | // wait a second:
|
---|
75 | delay(1000);
|
---|
76 | // increment the letter:
|
---|
77 | thisChar++;
|
---|
78 | }
|
---|
79 |
|
---|
80 |
|
---|
81 |
|
---|
82 |
|
---|
83 |
|
---|
84 |
|
---|
85 |
|
---|
86 |
|
---|