from pico_i2c_lcd import I2cLcd
from machine import I2C, Pin
from time import sleep
i2c = I2C(id=0,scl=Pin(1),sda=Pin(0),freq=100000)
lcd = I2cLcd(i2c, 0x27, 4, 20)
#create custom character
cc0 = [0b00011111,0b00011111,0b00011111,0b00011111,0b00011111,0,0,0] #top-
cc1 = [0,0,0,0b00011111,0b00011111,0b00011111,0b00011111,0b00011111] #bot-
lcd.custom_char(0,cc0)
lcd.custom_char(1,cc1)
#now list [0,1,254,255] 254 for blank space, 255 for full box in cLCD table
def bignum(number, row):
if number == 0:
lcd.move_to(row,0)
lcd.putchar(chr(255))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(255))
lcd.move_to(row,1)
lcd.putchar(chr(255))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.move_to(row,2)
lcd.putchar(chr(255))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.move_to(row,3)
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
if number == 1:
lcd.move_to(row,0)
lcd.putchar(chr(254))
lcd.putchar(chr(0))
lcd.putchar(chr(255))
lcd.putchar(chr(254))
lcd.move_to(row,1)
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.putchar(chr(254))
lcd.move_to(row,2)
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.putchar(chr(254))
lcd.move_to(row,3)
lcd.putchar(chr(254))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
if number == 2:
lcd.move_to(row,0)
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(255))
lcd.move_to(row,1)
lcd.putchar(chr(1))
lcd.putchar(chr(1))
lcd.putchar(chr(1))
lcd.putchar(chr(255))
lcd.move_to(row,2)
lcd.putchar(chr(255))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.move_to(row,3)
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
if number == 3:
lcd.move_to(row,0)
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(255))
lcd.move_to(row,1)
lcd.putchar(chr(1))
lcd.putchar(chr(1))
lcd.putchar(chr(1))
lcd.putchar(chr(255))
lcd.move_to(row,2)
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.move_to(row,3)
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
if number == 4:
lcd.move_to(row,0)
lcd.putchar(chr(255))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.move_to(row,1)
lcd.putchar(chr(255))
lcd.putchar(chr(1))
lcd.putchar(chr(1))
lcd.putchar(chr(255))
lcd.move_to(row,2)
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.move_to(row,3)
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(0))
if number == 5:
lcd.move_to(row,0)
lcd.putchar(chr(255))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.move_to(row,1)
lcd.putchar(chr(255))
lcd.putchar(chr(1))
lcd.putchar(chr(1))
lcd.putchar(chr(1))
lcd.move_to(row,2)
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.move_to(row,3)
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
if number == 6:
lcd.move_to(row,0)
lcd.putchar(chr(255))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.move_to(row,1)
lcd.putchar(chr(255))
lcd.putchar(chr(1))
lcd.putchar(chr(1))
lcd.putchar(chr(1))
lcd.move_to(row,2)
lcd.putchar(chr(255))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.move_to(row,3)
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
if number == 7:
lcd.move_to(row,0)
lcd.putchar(chr(255))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(255))
lcd.move_to(row,1)
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.move_to(row,2)
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.move_to(row,3)
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(0))
if number == 8:
lcd.move_to(row,0)
lcd.putchar(chr(255))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(255))
lcd.move_to(row,1)
lcd.putchar(chr(255))
lcd.putchar(chr(1))
lcd.putchar(chr(1))
lcd.putchar(chr(255))
lcd.move_to(row,2)
lcd.putchar(chr(255))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.move_to(row,3)
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
if number == 9:
lcd.move_to(row,0)
lcd.putchar(chr(255))
lcd.putchar(chr(0))
lcd.putchar(chr(0))
lcd.putchar(chr(255))
lcd.move_to(row,1)
lcd.putchar(chr(255))
lcd.putchar(chr(1))
lcd.putchar(chr(1))
lcd.putchar(chr(255))
lcd.move_to(row,2)
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(255))
lcd.move_to(row,3)
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(254))
lcd.putchar(chr(0))
def num1():
lcd.clear()
bignum(0,0)
bignum(1,5)
bignum(2,10)
bignum(3,15)
def num2():
lcd.clear()
bignum(4,0)
bignum(5,5)
bignum(6,10)
bignum(7,15)
def num3():
lcd.clear()
bignum(8,0)
bignum(9,5)
bignum(0,10)
def idle():
lcd.clear()
lcd.putstr("type function ")
lcd.move_to(4,1)
lcd.putstr('num1()')
lcd.move_to(4,2)
lcd.putstr('num2()')
lcd.move_to(4,3)
lcd.putstr('num3(), idle()')
msg()
def msg():
print("type function num1(), num2(), num3()")
num1()
sleep(2)
num2()
sleep(2)
num3()
sleep(2)
idle()