Skip to content

Commit 67738eb

Browse files
authored
Merge pull request #6 from hasenradball/develop
Merge develop into master
2 parents 5210d84 + 2ce345e commit 67738eb

File tree

8 files changed

+110
-79
lines changed

8 files changed

+110
-79
lines changed

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,25 @@ The communication is realized by a PCF8574 remote 8 bit I/O Expander for I²c Bu
1212

1313

1414
## LCD Documentation
15+
### Hitatchi HD44780
16+
The Hitachi HD44780 LCD controller is an alphanumeric dot matrix liquid crystal display (LCD) controller developed by Hitachi in the 1980s. The character set of the controller includes ASCII characters, Japanese Kana characters, and some symbols in two 40 character lines. Using an extension driver, the device can display up to 80 characters. Numerous third-party displays are compatible with its 16-pin interface and instruction set, making it a popular and cheap LCD driver.
17+
18+
In 8-bit mode, all transfers happen in one cycle of the enable pin (E) with all 8 bits on the data bus and the RS and R/W pins stable. In 4-bit mode, data are transferred as pairs of 4-bit "nibbles" on the upper data pins, D7–D4, with two enable pulses and the RS and R/W pins stable. The four most significant bits (7–4) must be written first, followed by the four least significant bits (3–0). The high/low sequence must be completed each time or the controller will not properly receive further commands.
19+
20+
### Character Generator ROM (CGROM)
21+
The internal CGROM includes 208 characters in a 5x8 dot matrix, and also 32 characters in a 5x10 dot matrix.
22+
The 5x10 matrix is generally not used.
23+
24+
### Character Generator RAM (CGRAM)
25+
Additionally to the CGROM there is a CGRAM, in which 8 user-defined characters in 5x8 dot matrix, or 4 characters in a 5x10 dot matrix can be stored.
26+
This enables to store characters which are not available in the CGROM.
1527

1628
## Library Usage
1729

1830
# License
31+
This library is licensed under MIT Licence.
32+
33+
[LCD-I2C licence](https://github.com/hasenradball/LCD-I2C/blob/master/LICENSE)
1934

2035
# Helpful Links
2136
[Wikipedia - a great description of HD44780 module](https://de.wikipedia.org/wiki/HD44780)

examples/Custom_Chars/Custom_Chars.ino

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ uint8_t snow[8] =
6464
void setup()
6565
{
6666
lcd.begin();
67+
lcd.display();
6768
lcd.backlight();
6869

6970
lcd.createChar(0, happy);

examples/Functions/Functions.ino

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ LCD_I2C lcd(0x27, 16, 2);
2121
* More info: https://www.arduino.cc/reference/en/language/variables/utilities/progmem/
2222
*/
2323

24-
void setup()
25-
{
24+
void setup() {
2625
lcd.begin();
26+
lcd.display();
2727
lcd.backlight();
2828
}
2929

@@ -41,7 +41,7 @@ void loop()
4141
delay(200);
4242
}
4343

44-
lcd.noAutoscroll();
44+
lcd.autoscrollOff();
4545
lcd.clear();
4646

4747
// Scroll left and right
@@ -77,9 +77,9 @@ void loop()
7777

7878
//Blink without cursor
7979
lcd.setCursor(0, 0);
80-
lcd.noCursor();
80+
lcd.cursorOff();
8181
lcd.print(F("Just blink"));
8282
delay(3000);
83-
lcd.noBlink();
83+
lcd.blinkOff();
8484
lcd.clear();
8585
}

examples/Hello_World/Hello_World.ino

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@
1212

1313
LCD_I2C lcd(0x27, 16, 2); // Default address of most PCF8574 modules, change according
1414

15-
void setup()
16-
{
17-
lcd.begin(); // If you are using more I2C devices using the Wire library use lcd.begin(false)
18-
// this stop the library(LCD-I2C) from calling Wire.begin()
15+
void setup() {
16+
// If you are using more I2C devices using the Wire library use lcd.begin(false)
17+
// this stop the library(LCD-I2C) from calling Wire.begin()
18+
lcd.begin();
19+
lcd.display();
1920
lcd.backlight();
2021
}
2122

@@ -31,7 +32,7 @@ void loop()
3132
{
3233
lcd.backlight();
3334
delay(50);
34-
lcd.noBacklight();
35+
lcd.backlightOff();
3536
delay(50);
3637
}
3738

keywords.txt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ LCD_I2C KEYWORD1
1313
##################################
1414
begin KEYWORD2
1515
backlight KEYWORD2
16-
noBacklight KEYWORD2
16+
backlightOff KEYWORD2
1717
clear KEYWORD2
1818
home KEYWORD2
1919
leftToRight KEYWORD2
2020
rightToLeft KEYWORD2
2121
autoscroll KEYWORD2
22-
noAutoscroll KEYWORD2
22+
autoscrollOff KEYWORD2
2323
display KEYWORD2
24-
noDisplay KEYWORD2
24+
displayOff KEYWORD2
2525
cursor KEYWORD2
26-
noCursor KEYWORD2
26+
cursorOff KEYWORD2
2727
blink KEYWORD2
28-
noBlink KEYWORD2
28+
blinkOff KEYWORD2
2929
scrollDisplayLeft KEYWORD2
3030
scrollDisplayRight KEYWORD2
3131
createChar KEYWORD2
@@ -38,12 +38,12 @@ setCursor KEYWORD2
3838
##################################
3939
# Constants (LITERAL1)
4040
##################################
41-
LCD_CLEAR LITERAL1
42-
LCD_CLEAR LITERAL1
43-
LCD_HOME LITERAL1
44-
LCD_ENTRY_MODE_SET LITERAL1
45-
LCD_DISPLAY_CONTROL LITERAL1
46-
LCD_CURSOR_OR_DISPLAY_SHIFT LITERAL1
47-
LCD_FUNCTION_SET LITERAL1
48-
LCD_SET_CGRAM_ADDR LITERAL1
49-
LCD_SET_DDRRAM_ADDR LITERAL1
41+
HD44780_CLEAR LITERAL1
42+
HD44780_CLEAR LITERAL1
43+
HD44780_HOME LITERAL1
44+
HD44780_ENTRY_MODE_SET LITERAL1
45+
HD44780_DISPLAY_CONTROL LITERAL1
46+
HD44780_CURSOR_OR_DISPLAY_SHIFT LITERAL1
47+
HD44780_FUNCTION_SET LITERAL1
48+
HD44780_SET_CGRAM_ADDR LITERAL1
49+
HD44780_SET_DDRRAM_ADDR LITERAL1

0 commit comments

Comments
 (0)