root / arduino-1.0 / libraries / LiquidCrystal / examples / TextDirection / TextDirection.ino @ 58d82c77
History | View | Annotate | Download (1.8 KB)
1 | 58d82c77 | Tom Mullins | /* |
---|---|---|---|
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://www.arduino.cc/en/Tutorial/LiquidCrystal |
||
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 | Serial.begin(9600); |
||
53 | } |
||
54 | |||
55 | void loop() { |
||
56 | // reverse directions at 'm': |
||
57 | if (thisChar == 'm') { |
||
58 | // go right for the next letter |
||
59 | lcd.rightToLeft(); |
||
60 | } |
||
61 | // reverse again at 's': |
||
62 | if (thisChar == 's') { |
||
63 | // go left for the next letter |
||
64 | lcd.leftToRight(); |
||
65 | } |
||
66 | // reset at 'z': |
||
67 | if (thisChar > 'z') { |
||
68 | // go to (0,0): |
||
69 | lcd.home(); |
||
70 | // start again at 0 |
||
71 | thisChar = 'a'; |
||
72 | } |
||
73 | // print the character |
||
74 | lcd.write(thisChar); |
||
75 | // wait a second: |
||
76 | delay(1000); |
||
77 | // increment the letter: |
||
78 | thisChar++; |
||
79 | } |
||
80 | |||
81 | |||
82 | |||
83 | |||
84 | |||
85 | |||
86 |