ЖК-экраны полезны и используются во многих сферах нашей жизни. На вокзале, паркомат, торговые автоматы передают короткие сообщения о том, как мы взаимодействуем с автоматом, к которому они подключены. ЖК-экраны-это интересный способ передачи информации в 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>

Raspberry Пико с ЖК-экраном

(Изображение предоставлено: Tom’s Hardware)

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.

Изображение 1 из 3 <рисунок data-bordeaux-image-check>

<тип источника="image/webp"alt="Пико Raspberry Pi с ЖК-экраном"class="lazy-image-van optional-image"onerror="if (this.src && this.src.indexOf ('missing-image.svg')!==-1) {return true;}; this.parentNode.replaceChild (window.missingImage (), this)"sizes="(min-width: 1000px) 970px, calc (100vw-40px)"data-normal="https://vanilla.futurecdn.net/tomshardware/media/img/missing-image.svg"data-original-mos="https://cdn.mos.cms.futurecdn.net/kPcRayBBocv7Yqb93mQHxh.jpg"данные-pin-media="https://cdn.mos.cms.futurecdn.net/kPcRayBBocv7Yqb93mQHxh.jpg"srcset="https://cdn.mos.cms.futurecdn.net/kPcRayBBocv7Yqb93mQ80Hxjpg-320. 320 Вт, https://cdn.mos.cms.futurecdn.net/kPcRayBBocv7Yqb93mQHxh-650-80.jpg.webp 650 Вт, https://cdn.mos.cms.futurecdn.net/kPcRayBBocv7Yqb93mQHxh-970-80.jpg.webp 970w">Raspberry Pi Pico с ЖК-экраном

(Изображение предоставлено: Оборудование Тома)

Изображение 2 из 3

Raspberry Pi Pico с ЖК-экраном

(Изображение предоставлено Tom’s Hardware)

Изображение 3 из 3

/div>

(Изображение предоставлено: Tom’s Hardware)

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. Здесь мы используем канал 0 I2C, который сопоставляет SDA с GP0 и SCL с GP1.

  i2c=I2C (0, sda=Pin (0), scl=Pin (1), freq=400000)  

4. Создайте переменную <▪I2C_ADDR, в которой будет храниться первый адрес I2C, обнаруженный при сканировании шины. Поскольку у нас подключено только одно устройство I2C, нам нужно увидеть только первый адрес [0], возвращенный при сканировании.

  I2C_ADDR=i2c.scan () [0]  

5. Создайте объект , чтобы настроить соединение I2C для библиотеки. Он сообщает библиотеке, какие выводы I2C мы используем, устанавливается с помощью объекта i2c , адрес нашего экрана, устанавливается с помощью I2C_ADDR , и, наконец, он устанавливает, что у нас есть экран с две строки и 16 столбцов.

  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 . Когда все будет готово, нажмите зеленую кнопку воспроизведения , чтобы запустить код, и посмотрите, как тест запускается на экране.

Categories: IT Info