# ex_3_5_04_lcd_layout.py (จำลอง: https://wokwi.com/projects/469958113222680577)
from machine import Pin, I2C
from lcd_i2c_esp32 import I2cLcd
import time
i2c = I2C(0, sda=Pin(21), scl=Pin(22), freq=100000)
lcd = I2cLcd(i2c, 0x27, 2, 16)
def clip16(text):
return text[:16] # ตัดสตริงไม่ให้เกิน 16 ตัวอักษรต่อแถวเสมอ
label = "Temp:"
value = "27.5C"
lcd.move_to(0, 0)
lcd.putstr(clip16(label)) # ป้ายชื่อชิดซ้ายแถวบน
lcd.move_to(16 - len(value), 0) # ค่าตัวเลขชิดขวาแถวเดียวกัน
lcd.putstr(clip16(value))
lcd.move_to(0, 1)
lcd.putstr(clip16("Status: Ready ")) # แถวล่างเว้นช่องว่างท้ายกันซากข้อความเก่า
time.sleep(3)