from machine import I2C, Pin
from pico_i2c_lcd import I2cLcd
import time
# Инициализация I2C на пинах 4 (SDA) и 5 (SCL)
i2c = I2C(0, sda=Pin(4), scl=Pin(5), freq=400000)
# Поиск I2C устройств
devices = i2c.scan()
print("Найдены I2C устройства:", [hex(device) for device in devices])
# Инициализация LCD (стандартный адрес 0x27)
lcd = I2cLcd(i2c, 0x27, 2, 16) # 2 строки, 16 символов
# Очистка дисплея
lcd.clear()
# Демонстрация основных функций
def demo():
# Вывод простого текста
lcd.putstr("Hello, Pico!")
time.sleep(2)
# Перемещение курсора на вторую строку
lcd.move_to(0, 1)
lcd.putstr("I2C LCD 1602")
time.sleep(2)
# Очистка и вывод форматированного текста
lcd.clear()
lcd.putstr("Line 1")
lcd.move_to(0, 1)
lcd.putstr("Line 2")
time.sleep(2)
# Демонстрация бегущей строки
lcd.clear()
message = "MicroPython on Pico is awesome! "
for i in range(len(message) - 16 + 1):
lcd.move_to(0, 0)
lcd.putstr(" " * 16) # Очистка строки
lcd.move_to(0, 0)
lcd.putstr(message[i:i+16])
time.sleep(0.3)
# Отображение счетчика
lcd.clear()
for i in range(1, 11):
lcd.move_to(0, 0)
lcd.putstr(f"Count: {i:2d}/10")
lcd.move_to(0, 1)
lcd.putstr("Working...")
time.sleep(1)
# Завершение
lcd.clear()
lcd.putstr("Demo complete!")
lcd.move_to(0, 1)
lcd.putstr("Goodbye!")
# Запуск демо
demo()