#!/usr/bin/python # Example using an RGB character LCD connected to an MCP23017 GPIO extender. import math import time import Adafruit_CharLCD as LCD import Adafruit_GPIO.MCP230xx as MCP # Define MCP pins connected to the LCD. lcd_rs = 7 # RS is actually connected to the RPi GPIO lcd_en = 0 #Swapped with d7 lcd_d4 = 1 lcd_d5 = 2 lcd_d6 = 3 lcd_d7 = 4 lcd_red = 5 lcd_green = 6 lcd_blue = 7 # 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() #gpio = MCP.MCP23008(address=0x20, busnum=1) gpio = MCP.MCP23008() #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) 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)