ЖК-экраны полезны и используются во многих сферах нашей жизни. На вокзале, паркомат, торговые автоматы передают короткие сообщения о том, как мы взаимодействуем с автоматом, к которому они подключены. ЖК-экраны-это интересный способ передачи информации в Raspberry Pi Проекты Pico и другие проекты Raspberry Pi . У них есть большой яркий экран, который может отображать текст, числа и символы на экране 16 x 2. Число 16 относится к 16 символам на экране, а число 2 представляет количество имеющихся строк. Мы можем получить ЖК-экраны с 20×2, 20×4 и многими другими конфигурациями, но 16×2 является наиболее распространенной.
В этом руководстве мы узнаем, как подключить ЖК-экран HD44780 к Raspberry Pi Pico. через интерфейс I2C с помощью прилагаемого рюкзака I2C, затем мы установим библиотеку MicroPython через редактор Thonny и узнаем, как использовать ее для ввода текста на дисплей, управления курсором и подсветкой.
ЖК-экран использует протокол I2C для взаимодействия с Raspberry Pi Пико. Это означает, что нам нужно только.
Как подключить ЖК-экран I2C к Raspberry Pi Pico
<рисунок data-bordeaux-image-check>
1. Подключите GND экрана к любому GND на Pico (черный провод).
2. Подключите VDD/VCC к VBUS на Pico (красный провод). Предупреждение: это вывод 5 В.
3. Подключите SDA к I2C0 SDA (GP0, физический контакт 1, оранжевый провод).
4. Подключите SCK/SCL к I2C0 SCL (GP1, физический контакт 2, желтый провод).
5. Подключите Raspberry Pi Pico к компьютеру и откройте приложение Thonny.
/div>
6. Нажмите СТОП , чтобы подтвердить подключение Pico.
7. Откройте это ссылка и скопируйте текст со страницы.
8. Создайте пустой файл в Thonny и вставьте в него текст . Сохраните файл на Raspberry Pi Pico как lcd_api.py
9. Откройте это <1xlink и скопируйте текст со страницы .
10. Создайте пустой файл в Thonny и вставьте в него текст. Сохраните файл на Raspberry Pi Pico как pico_i2c_lcd.py
Программирование ЖК-дисплея I2C Экран с Raspberry Pi Pico
После установки библиотек мы можем приступить к написанию тестового скрипта для демонстрации функций библиотеки.
1. Создайте новый пустой файл в Thonny.
2. Импортируйте четыре библиотеки предварительно написанного кода. Первые два взяты из библиотеки Machine, и они позволяют нам использовать выводы I2C и GPIO. Затем мы импортируем функцию сна из Time, что позволяет нам приостановить код. Наконец, мы импортируем библиотеку I2C для взаимодействия с ЖК-экраном.
из машинного импорта I2C, Pin
от времени импортный сон
from machine_i2c_lcd импортировать I2cLcd
3. Создайте объект
i2c=I2C (0, sda=Pin (0), scl=Pin (1), freq=400000) код>
4. Создайте переменную <▪I2C_ADDR, в которой будет храниться первый адрес I2C, обнаруженный при сканировании шины. Поскольку у нас подключено только одно устройство I2C, нам нужно увидеть только первый адрес [0], возвращенный при сканировании.
I2C_ADDR=i2c.scan () [0]
5. Создайте объект
lcd=I2cLcd (i2c, I2C_ADDR, 2, 16)
6. Создайте цикл для непрерывного выполнения кода, первая строка цикла будет выводить I2C-адрес нашего дисплея в оболочку Python Thonny.
пока True: печать (I2C_ADDR)
7. Включите и выключите курсор ЖК-дисплея, чтобы он мигал (мигал), как в интерфейсе терминала старой школы.
lcd.blink_cursor_on ()
8. Напишите на экране две строки текста . Первый напечатает «I2C Address:», а затем адрес, хранящийся в объекте I2C_ADDR. Затем вставьте символ новой строки «\ n» , а затем напишите еще одну строку с надписью «Tom's Hardware» (или как хотите). Сделайте паузу в течение двух секунд, чтобы дать время прочитать текст.
lcd.putstr ("Адрес I2C:"+ str (I2C_ADDR) +"\ n") lcd.putstr («Оборудование Тома») сон (2)
9. Очистите экран , прежде чем повторить предыдущий раздел кода, но на этот раз мы отображаем адрес I2C ЖК-дисплея, используя его шестнадцатеричное значение. Чип PCF8574T, используемый в рюкзаке I2C, имеет два адреса, 0x20 и 0x27, и полезно знать, какой он используется, особенно если мы используем несколько устройств I2C, поскольку они могут вызвать конфликт на шине.
lcd.clear () lcd.putstr ("Адрес I2C:"+ str (шестнадцатеричное (I2C_ADDR)) +"\ n") lcd.putstr («Аппаратное обеспечение Тома»)
10. Выключите мигающий курсор , затем очистите экран, чтобы вывести на экран еще одно сообщение «Проверка подсветки».
lcd.blink_cursor_off () lcd.clear () lcd.putstr («Тест подсветки»)
11. Чтобы включить светодиодную подсветку, используйте цикл for , который будет повторяться десять раз. Он включит подсветку на 0,2 секунды, затем выключит ее на то же время. Текст «Проверка подсветки» останется на экране даже при выключенной подсветке.
для i в диапазоне (10): lcd.backlight_on () сон (0,2) lcd.backlight_off () сон (0,2)
12. Включите подсветку снова , а затем скройте курсор . Иногда мигающий курсор может отвлекать от информации, которую мы пытаемся передать.
lcd.backlight_on () lcd.hide_cursor ()
13. Создайте цикл for , который будет печатать числа от 0 до 19 на ЖК-экране. Обратите внимание, что есть задержка в 0,4 секунды, прежде чем мы удалим значение и заменим его следующим. Мы должны удалить текст, так как перезапись текста сделает его искаженным.
для i в диапазоне (20): lcd.putstr (str (i)) сон (0,4) lcd.clear ()
Полный листинг кода
с компьютера импорт I2C, Pin
от времени импортный сон
from machine_i2c_lcd импортировать I2cLcd
i2c=I2C (0, sda=Pin (0), scl=Pin (1), freq=400000) I2C_ADDR=i2c.scan () [0]
ЖК-дисплей=I2cLcd (i2c, I2C_ADDR, 2, 16)
в то время как True: печать (I2C_ADDR) lcd.blink_cursor_on () lcd.putstr ("Адрес I2C:"+ str (I2C_ADDR) +"\ n") lcd.putstr («Оборудование Тома») сон (2) lcd.clear () lcd.putstr ("Адрес I2C:"+ str (шестнадцатеричное (I2C_ADDR)) +"\ n") lcd.putstr («Оборудование Тома») сон (2) lcd.blink_cursor_off () lcd.clear () lcd.putstr («Тест подсветки») для i в диапазоне (10): lcd.backlight_on () сон (0,2) lcd.backlight_off () сон (0,2) lcd.backlight_on () lcd.hide_cursor () для i в диапазоне (20): lcd.putstr (str (i)) сон (0,4) lcd.clear ()
Сохраните и запустите свой код. Как и в случае любого скрипта Python в Thonny, Нажмите «Файл» >> «Сохранить» и сохраните файл на Raspberry Pi Pico. Мы рекомендуем называть его i2c_lcd_test.py . Когда все будет готово, нажмите зеленую кнопку воспроизведения , чтобы запустить код, и посмотрите, как тест запускается на экране.