Статьи

Управление ЖК-дисплеем 16×2 с помощью Raspberry PI 2 с помощью библиотеки Adafruit

Как энтузиаст, я начал работать со встроенными системами с Netduino . Это было весело, но в то же время Netduino не предлагал так много вещей, которые я могу сделать сейчас. Для такого человека, как я, который не знает электроники и C / C ++, это был подарок. Сейчас я использую последнюю версию Raspberry PI и у меня есть все, что я когда-либо хотел, на одном аппаратном обеспечении.

Чтобы начать работать с Python и Raspberry PI, я рассмотрел пример мигания светодиода «Hello World». Использование ЖК-дисплея — это второе, что я хотел бы проверить, и вот оно здесь. Прежде чем начать, вот вещи, которые вам понадобятся.

1. 1 х малины PI 2

2. ЖК-дисплей с дисплеем 16×2 — HD44780

3. 8 х мужчин и женщин перемычек

4. 5 х мужчин и мужчин перемычек

Вот простая схема подключения ЖК-дисплея к вашему Raspberry PI 2

Название изображения

Как видно из схемы соединений, ЖК-дисплей займет около 6 контактов GPIO на вашем Raspberry PI. Если у вас есть подключенные модули или вы планируете это сделать, есть вероятность, что вы не дотянете до выводов GPIO. Чтобы сохранить контакты GPIO на вашей плате, вы можете использовать MCP23008 или MCP23017. Для простоты я пока не использую расширители портов.

Теперь код, у меня очень мало знаний о Python на данный момент. Поэтому я собираюсь придерживаться того, что я прочитал и протестировал. Для управления ЖК-дисплеем я собираюсь использовать ЖК-библиотеку Adafruit, которую вы можете получить у Github здесь . Я собираюсь использовать Adafruit_CharLCD.py для управления моим ЖК-дисплеем. Имейте в виду, что вы не можете использовать эту библиотеку из коробки. Вы должны внести изменения, чтобы установить правильные выводы GPIO в функции __init__ . Откройте файл с помощью приведенной ниже команды.

$ sudo nano Adafruit_CharLCD.py

Если вы используете ту же проводку, что и я, измените функцию __init__ следующим образом

def __init__init(self, pin_rs=26, pin_e=19, pins_db=[13, 6, 5, 11], GPIO=None):

Сохраните изменения, и мы готовы к работе. Чтобы проверить, правильно ли выполнены подключения и изменения кода, выполните приведенную ниже команду в том же каталоге.

$ sudo ./Adafruit_CharLCD_IPclock_example.py

Название изображенияДавайте попробуем отобразить некоторые пользовательские сообщения на дисплее с помощью этой простой программы.

from Adafruit_CharLCD import Adafruit_CharLCD

lcd = Adafruit_CharLCD()
lcd.message("Raspberry PI 2\nLCD Demo")

Название изображения

Вот еще один. Программа попросит вас ввести строку для отображения.

from Adafruit_CharLCD import Adafruit_CharLCD

lcd = Adafruit_CharLCD()

#Getting input from user
msg = raw_input("Enter message to display\n")

#Display it on the LCD
lcd.message(str(msg))

Причина, по которой я использую библиотеку Adafruit для управления дисплеем, состоит в том, что она имеет другие полезные функции для управления ЖК-дисплеем Вот список функций, которые вы можете попробовать.

clear () — очищает ЖК-дисплей и удаляет текст из памяти.

display () / noDisplay () — Переключение видимости текста на ЖК-дисплее. Текст остается в памяти.

cursor () / noCursor — Переключить видимость курсора.

blink () / noBlink () — Переключение курсора мигает.

home () — перевести курсор на позицию 0,0, т.е. первый столбец первой строки.

setCursor (col, row) — устанавливает курсор на определенную позицию. Используйте lcd.begin (столбцы, строки), чтобы установить количество столбцов и строк, которые у вас есть.

Я надеюсь, что это будет полезно для людей, которые только начинают работать с Raspberry Pi. Вы также можете скачать полный исходный код с Github здесь .