summaryrefslogtreecommitdiff
path: root/Adafruit_Python_CharLCD/examples/char_lcd_mcp.py
diff options
context:
space:
mode:
Diffstat (limited to 'Adafruit_Python_CharLCD/examples/char_lcd_mcp.py')
-rwxr-xr-xAdafruit_Python_CharLCD/examples/char_lcd_mcp.py85
1 files changed, 85 insertions, 0 deletions
diff --git a/Adafruit_Python_CharLCD/examples/char_lcd_mcp.py b/Adafruit_Python_CharLCD/examples/char_lcd_mcp.py
new file mode 100755
index 0000000..58b8d70
--- /dev/null
+++ b/Adafruit_Python_CharLCD/examples/char_lcd_mcp.py
@@ -0,0 +1,85 @@
+#!/usr/bin/python
+# Example using an RGB character LCD connected to an MCP23017 GPIO extender.
+import time
+
+import Adafruit_CharLCD as LCD
+import Adafruit_GPIO.MCP230xx as MCP
+
+
+# Define MCP pins connected to the LCD.
+lcd_rs = 0
+lcd_en = 1
+lcd_d4 = 2
+lcd_d5 = 3
+lcd_d6 = 4
+lcd_d7 = 5
+lcd_red = 6
+lcd_green = 7
+lcd_blue = 8
+
+# Define LCD column and row size for 16x2 LCD.
+lcd_columns = 16
+lcd_rows = 2
+
+# Alternatively specify a 20x4 LCD.
+# lcd_columns = 20
+# lcd_rows = 4
+
+# Initialize MCP23017 device using its default 0x20 I2C address.
+gpio = MCP.MCP23017()
+
+# Alternatively you can initialize the MCP device on another I2C address or bus.
+# gpio = MCP.MCP23017(0x24, busnum=1)
+
+# Initialize the LCD using the pins
+lcd = LCD.Adafruit_RGBCharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
+ lcd_columns, lcd_rows, lcd_red, lcd_green, lcd_blue,
+ gpio=gpio)
+
+# Print a two line message
+lcd.message('Hello\nworld!')
+
+# Wait 5 seconds
+time.sleep(5.0)
+
+# Demo showing the cursor.
+lcd.clear()
+lcd.show_cursor(True)
+lcd.message('Show cursor')
+
+time.sleep(5.0)
+
+# Demo showing the blinking cursor.
+lcd.clear()
+lcd.blink(True)
+lcd.message('Blink cursor')
+
+time.sleep(5.0)
+
+# Stop blinking and showing cursor.
+lcd.show_cursor(False)
+lcd.blink(False)
+
+# Demo scrolling message right/left.
+lcd.clear()
+message = 'Scroll'
+lcd.message(message)
+for i in range(lcd_columns-len(message)):
+ time.sleep(0.5)
+ lcd.move_right()
+for i in range(lcd_columns-len(message)):
+ time.sleep(0.5)
+ lcd.move_left()
+
+# Demo turning backlight off and on.
+lcd.clear()
+lcd.message('Flash backlight\nin 5 seconds...')
+time.sleep(5.0)
+# Turn backlight off.
+lcd.set_backlight(0)
+time.sleep(2.0)
+# Change message.
+lcd.clear()
+lcd.message('Goodbye!')
+# Turn backlight on.
+lcd.set_backlight(1)