65 lines
1.3 KiB
Python
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()
|
|
|