print("Hello, ESP32!")
# shows the address of liquid crystal display as 0x27. You will most likely get the same address for LCD with 16 columns and 2 rows.
# import machine
# sdaPIN=machine.Pin(21) #for ESP32
# sclPIN=machine.Pin(22)
# i2c=machine.I2C(sda=sdaPIN, scl=sclPIN, freq=10000)
# devices = i2c.scan()
# if len(devices) == 0:
# print("No i2c device !")
# else:
# print('i2c devices found:',len(devices))
# for device in devices:
# print("At address: ",hex(device))
import machine
from machine import Pin, SoftI2C
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
from time import sleep
I2C_ADDR = 0x27
totalRows = 2
totalColumns = 16
totalRows2 = 4
totalColumns2 = 20
i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=10000) #initializing the I2C method for ESP32
#i2c = I2C(scl=Pin(5), sda=Pin(4), freq=10000) #initializing the I2C method for ESP8266
lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns)
lcd2 = I2cLcd(i2c, I2C_ADDR, totalRows2, totalColumns2)
cross= bytearray([0x1F,0x11,0x0A,0x04,0x0A,0x11,0x1F,0x00])
ball = bytearray([ 0x00,
0x0E,
0x15,
0x1B,
0x15,
0x0E,
0x00,
0x1F])
# lcd. custom_char(0,cross)
# lcd. custom_char(1,cross)
# lcd.move_to(0,1)
# lcd.putstr(chr(0)+"I2C LCD Tutorial"+chr(1))
lcd2.move_to(0,0)
lcd2.putstr("ECE 285")
lcd2.move_to(0,1)
lcd2.putstr("uPY")
lcd2.move_to(5,2)
lcd2.putstr("36-801")
lcd2.move_to(9,3)
lcd2.putstr("class")
# while True:
# lcd.putstr("I2C LCD Tutorial")
# sleep(2)
# lcd.clear()
# lcd.putstr("Lets Count 0-10!")
# sleep(2)
# lcd.clear()
# for i in range(11):
# lcd.putstr(str(i))
# sleep(1)
# lcd.clear()