Adafruit_CircuitPython_CharLCD/example code/char_lcd.py
2017-06-12 14:23:25 -04:00

65 lines
1.3 KiB
Python

"""
'hello_CircuitPython.py'
=================================================
hello world using 16x2 character lcd
requires:
- CircuitPython_CharLCD Module
- busio module
"""
import time, math, busio, digitalio
import af_lcd as LCD
from board import *
# Character LCD Config:
lcd_columns = 16
lcd_rows = 2
# Metro m0 Pin Config:
lcd_rs = digitalio.DigitalInOut(D7)
lcd_en = digitalio.DigitalInOut(D8)
lcd_d7 = digitalio.DigitalInOut(D12)
lcd_d6 = digitalio.DigitalInOut(D11)
lcd_d5 = digitalio.DigitalInOut(D10)
lcd_d4 = digitalio.DigitalInOut(D9)
# init the lcd class
lcd = LCD.cirpyth_char_lcd(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows)
# Print a 2x line message
lcd.message('hello\ncircuitpython')
# Wait 5s
time.sleep(5)
# Demo showing cursor
lcd.clear()
lcd.show_cursor(True)
lcd.message('showing cursor ')
# Wait 5s
time.sleep(5)
# Demo showing the blinking cursor
lcd.clear()
lcd.blink(True)
lcd.message('Blinky Cursor!')
# Wait 5s
time.sleep(5)
lcd.blink(False)
# Demo scrolling message right/left
lcd.clear()
scroll_msg = 'Scroll'
lcd.message(scroll_msg)
# Scroll to the right
for i in range(lcd_columns - len(scroll_msg)):
time.sleep(0.5)
lcd.move_right()
time.sleep(1)
for i in range(lcd_columns - len(scroll_msg)):
time.sleep(0.5)
lcd.move_left()