Поиск
Закройте это поле поиска.

Интерфейс 16×2 LCD-модуля без I2C: полное руководство для Arduino и ESP32

Оглавление

В этой статье мы подробно рассмотрим взаимодействие ЖК-модуля 16×2 с микроконтроллерами, такими как Arduino и ESP32, уделив особое внимание настройке без использования модуля I2C. Мы рассмотрим, почему вы можете выбрать этот метод, как он работает, и предоставим подробное руководство по подключению и программированию вашего ЖК-дисплея. Если вы хотите понять основы взаимодействия ЖК-дисплеев и как управлять ЖК-дисплеем 16×2, не полагаясь на удобство адаптера I2C, это руководство для вас.

Модуль ЖК-дисплея Arduino Character 1602

1. Что такое ЖК-дисплей 16×2 и зачем его использовать?

ЖК-дисплей 16×2, сокращение от 16-символьный 2-строчный жидкокристаллический дисплей, является распространенным и универсальным модулем отображения. Он используется для представления текстовой и числовой информации в ясной и лаконичной форме. В отличие от сложных графических дисплеев, ЖК-дисплеи 16×2 относительно просты в управлении, что делает их идеальными для различных проектов микроконтроллеров. «16×2» относится к его способности отображать 16 символов в каждой из двух строк, что делает его пригодным для отображения показаний датчиков, состояния проекта или пользовательских сообщений. Интерфейс этих модулей ЖК-дисплеев с микроконтроллерами, такими как arduino или ESP32, позволяет вашим проектам взаимодействовать с пользователем, отображая информацию в удобочитаемой форме. Они относительно дешевы и просты в использовании.

Апелляция 16×2 ЖК Модуль заключается в его простоте и низкой стоимости. Он является основным элементом в электронике для различных хобби и профессиональных проектов благодаря своей способности отображать текст и числа без накладных расходов более сложных технологий отображения. Интерфейс этого модуля позволяет разработчикам встраиваемых систем создавать устройства, которые способны обеспечивать визуальную обратную связь, без использования сложных графических дисплеев. Простота интеграции делает ЖК-дисплеи 16×2 очень полезным инструментом отображения для отображения информации с различных датчиков.

2. Почему стоит выбрать интерфейс ЖК-дисплея 16×2 без I2C?

Хотя модули I2C предлагают удобство сокращения количества контактов, необходимых для сопряжения, выбор подключения ЖК-дисплея 16×2 без i2c напрямую имеет несколько преимуществ. Во-первых, это обеспечивает более глубокое понимание базовых протоколов связи и того, как функционирует ЖК-модуль, что делает его отличным образовательным опытом. Во-вторых, не полагаясь на интерфейс i2c, вы избегаете сложностей шины i2c и потенциальных конфликтов адресов. Это может быть важно, если вы сталкиваетесь с ограничениями в своем проекте или хотите уменьшить сложность подключения устройств i2c. Вы не ограничены одним адресом.

Более того, прямое подключение может быть полезным для проектов, где каждый вывод на вашем микроконтроллере имеет ценность. Модуль i2c обычно сокращает количество выводов, которые вам нужно использовать, до 2, но эти 2 вывода выделены для связи i2c и могут понадобиться для чего-то еще, в то время как при подключении без модуля i2c вы можете свободно выбирать, какие выводы вы хотите использовать. Подключение без модуля i2c дает вам полный контроль над подключением. Прямое подключение также может быть более быстрым для отображения данных, поскольку связь i2c должна быть выполнена до того, как данные могут быть переданы на ЖК-дисплей. Это не всегда критично, но это следует учитывать при разработке приложений, требующих быстрого времени обновления для отображаемого контента.

3. Какое оборудование требуется для подключения ЖК-дисплея 16×2 без модуля I2C?

Для сопряжения ЖК-модуля 16×2 без i2c вам понадобится несколько основных компонентов. Основным элементом является стандартный ЖК-дисплей 16×2, который обычно поставляется с 16 контактами для подключения. Вам также понадобится микроконтроллер, например Arduino Uno или ESP32. Кроме того, вам понадобятся перемычки для подключения различных контактов ЖК-модуля к вашему микроконтроллеру. Кроме того, необходим потенциометр для регулировки контрастности ЖК-дисплея. Макетная плата может стать отличным помощником для аккуратного подключения и организации всего.

Основная проблема при подключении ЖК-дисплея 16×2 без i2c заключается в том, что для этого требуется больше контактов от вашего микроконтроллера, чем при использовании адаптера i2c. В частности, мы будем использовать 6 контактов для управления ЖК-дисплеем, а также два контакта для управления питанием и заземлением. Поэтому вам следует спланировать схему микроконтроллера с достаточным количеством доступных выходных контактов. Наличие этих контактов дает вам полный контроль над ЖК-дисплеем. Потенциометр позволяет вам регулировать контрастность, чтобы текст на ЖК-дисплее был четко виден.

4. Как устроен ЖК-дисплей 16×2?

ЖК-дисплей 16×2 основан на контроллере HD44780 или совместимом чипе. Этот контроллер управляет отображением символов и принимает команды через параллельный интерфейс. Интерфейс обычно использует 8 контактов данных (D0-D7) или 4 контакта данных в 4-битном режиме (D4-D7), а также контрольные контакты (RS, R/W и EN). Каждая позиция символа на ЖК-дисплее адресуется контроллером внутренне. Когда вы отправляете команду или данные символа, контроллер HD44780 получает команду и действует соответствующим образом.

Контроллер HD44780 использует специальные команды для таких задач, как очистка дисплея, установка положения курсора или инициализация ЖК-дисплея. Понимание этой архитектуры имеет решающее значение, когда вы пишете код для управления ЖК-дисплеем без абстракции, предоставляемой модулем i2c. Команды отправляются на дисплей через контакты данных, а режим связи определяется контрольными контактами. Это также позволяет контроллеру работать с различными типами размеров дисплеев, такими как 20×4, ЖК-дисплей 16×2 использует предопределенный набор символов, который может отображаться на экране.

5. Как подключить ЖК-дисплей 16×2 напрямую к Arduino?

Подключение 16×2 ЖК напрямую к Arduino включает в себя подключение каждого необходимого контакта. Во-первых, вам нужно будет подключить контакт VSS ЖК-дисплея к земле (GND), а контакт VDD к 5 В, это ваш источник питания. Контакт V0 (регулировка контрастности) подключен к среднему контакту потенциометра; два других контакта потенциометра подключены к земле и 5 В, чтобы создать делитель напряжения, который мы будем использовать для изменения контрастности ЖК-дисплея. Затем подключите контакт RS (выбор регистра) ЖК-дисплея к цифровому контакту Arduino (например, контакту 12). Контакт R/W (чтение/запись) должен быть заземлен, так как мы будем только записывать данные на ЖК-дисплей. Контакт EN (включение) должен быть подключен к другому цифровому контакту на Arduino (например, контакту 11).

Затем подключите выводы данных D4 - D7 к цифровым выводам на Arduino, например, выводам 5, 4, 3 и 2 соответственно. Таким образом, мы используем 4-битный режим, что является обычной практикой, так как он использует меньше выводов. 4-битный режим проще и использует меньше проводов по сравнению с 8-битным режимом. Выводы подсветки A (анод) и K (катод) должны быть подключены к 5 В и GND соответственно с токоограничивающим резистором на аноде, если необходимо. Обязательно используйте принципиальную схему для руководства этим процессом. Выводы иногда пронумерованы по-разному для некоторых модулей ЖК-дисплея. Расположение выводов всегда можно найти в техническом описании модуля ЖК-дисплея.

ЖК-дисплей STN 16x2 символа

6. Программирование Arduino для управления ЖК-дисплеем 16×2: подробное руководство

Чтобы запрограммировать arduino для взаимодействия с 16×2 lcd, вам понадобится библиотека LiquidCrystal. Начните с открытия arduino ide и включите библиотеку liquidcrystal в код вашего проекта. Инициализируйте объект lcd в вашем коде, указав контакты, используемые для подключения. В нашем примере это контакты: RS, EN, D4, D5, D6, D7. Например: ЖК-дисплей LiquidCrystal (12, 11, 5, 4, 3, 2);. Внутри функции setup() инициализируйте lcd, вызвав lcd.begin(16, 2); для установки количества столбцов и строк ЖК-дисплея. Вам также следует инициализировать ЖК-дисплей с помощью функции инициализации ЖК-дисплея.

Теперь в функции цикла вы можете использовать различные команды для отображения данных на ЖК-дисплее. Например, вы можете установить позицию курсора с помощью lcd.setCursor(столбец, строка); и отобразить текст с lcd.print("Привет, мир");. Вы можете очистить дисплей с помощью lcd.clear(); команда. Вы можете создать короткую программу и запустить несколько кодов для проверки платы, и после того, как я подключу все это. Вы можете использовать последовательный монитор для отладки программы. Библиотека liquidcrystal обрабатывает всю низкоуровневую связь HD44780 для вас, поэтому вам не нужно беспокоиться об отправке отдельных последовательностей байтов и управляющих сигналов. Ключевая функция — lcd.print(), которая используется для отображения данных.

#включать 

// Определить контакты, подключенные к ЖК-дисплею
константа инт рс = 12, ru = 11, д4 = 5, д5 = 4, д6 = 3, д7 = 2;

// Инициализация объекта LCD
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

пустота настраивать() {
  // Задаем количество столбцов и строк
  ЖК-дисплей.начинать(16, 2);
  // Вывести сообщение на ЖК-дисплей
  ЖК-дисплей.печать(«Привет, ЖК!»);
}

пустота петля() {
  // Установить курсор на вторую строку
  ЖК-дисплей.установитьКурсор(0, 1);
  // Отображение времени
  ЖК-дисплей.печать(миллис()/1000); ЖК.печать("секунды");
}

7. Что насчет ESP32? Интерфейс 16×2 LCD без I2C на ESP32

Интерфейс 16×2 LCD без i2c на ESP32 похож на то, как это делается на Arduino, но с некоторыми небольшими отличиями. ESP32 — это микроконтроллер 3,3 В, в то время как 16×2 ЖК обычно рассчитан на работу при напряжении 5 В. Поэтому вам может потребоваться использовать преобразователи уровня для обеспечения совместимости напряжения между логическими выводами ESP32 и ЖК-дисплея. В качестве альтернативы использование платы esp32 со смещением уровня может устранить необходимость во внешней схеме смещения уровня. Физическая разводка будет в основном такой же, как и в Arduino. Подключите VSS к земле, а VDD к 5 В (или 3,3 В, если вы используете ЖК-дисплей 3,3 В или преобразователи уровня).

Код в arduino ide будет почти таким же, как и предоставленный для arduino, с небольшими изменениями или без них. Используйте библиотеку LiquidCrystal так же, как в руководстве по Arduino. Не забудьте правильно определить соединения контактов в LCD-дисплей LiquidCrystal объект. Всегда проверяйте спецификацию вашего ЖК-модуля, чтобы убедиться, что контакты подключены правильно. Также проверьте распиновку вашей платы ESP32, чтобы убедиться, что соединения правильные. Знайте о различных контактах, которые могут быть доступны, и выбирайте правильные для вашего приложения.

8. Как создать пользовательские символы на ЖК-дисплее 16×2 без I2C?

Создание пользовательских символов на ЖК-дисплее 16×2 возможно даже без помощи модуля i2c. Контроллер HD44780 позволяет вам определять до 8 пользовательских символов. Вы создаете пользовательские символы, определяя шаблон байтов, где каждый байт представляет строку матрицы символов 5×8 пикселей. Для этого вы сначала создаете массив байтов, который определяет шаблон пикселей для вашего пользовательского символа. Каждый байт представляет одну строку символа.

Затем используйте lcd.createChar(расположение, карта_символов) функция в коде Arduino. Аргумент location определяет, в каком из 8 доступных мест хранить новый символ (от 0 до 7), а characterMap — это массив байтов, который вы только что создали. Затем вы можете отобразить свой собственный символ, используя lcd.write(местоположение) в вашем коде, где расположение это местоположение, которое вы ранее определили. Это делается с помощью объекта lcd, который вы создали ранее. Это чрезвычайно полезно, если вашему приложению требуются уникальные символы, которые отсутствуют в стандартном наборе символов модуля lcd.

9. Устранение распространенных проблем при подключении ЖК-дисплея 16×2 без I2C

Подключение ЖК-дисплея 16×2 без адаптера i2c, хотя и простое, может вызвать несколько распространенных проблем. Первая проблема — неправильная проводка. Всегда дважды проверяйте схему цепи и убедитесь, что все соединения выполнены правильно. Распространенной ошибкой является изменение полярности контактов питания ЖК-модуля, что может привести к его необратимому повреждению. Кроме того, убедитесь, что провода надежно подключены. Во-вторых, неправильная инициализация объекта ЖК-дисплея может вызвать проблемы. Дважды проверьте, что контакты инициализированы правильно в соответствии с подключением к плате. Кроме того, тип ЖК-модуля может потребовать немного иной последовательности инициализации.

Настройки контрастности также необходимо правильно отрегулировать с помощью потенциометра, чтобы отрегулировать контрастность ЖК-дисплея до тех пор, пока текст не станет четко виден. Если дисплей пустой или искажен, у вас может быть ошибка в проводке или проблема с источником питания. Убедитесь, что у вас стабильный источник питания и правильное напряжение. Вы также можете проверить код с помощью последовательного монитора для отладки возможных проблем. Если у вас все еще возникают проблемы, рассмотрите возможность обращения на форум arduino. Часто можно увидеть, что другие люди сталкивались с такими же проблемами. Reddit анонимен, поэтому вы наверняка получите имя или предложение.

10. Передовые технологии и будущие проекты с ЖК-дисплеями 16×2

После того, как вы освоите основы сопряжения ЖК-дисплея 16×2 без i2c, вы сможете изучить более продвинутые методы. Это включает в себя отображение данных с датчиков в реальном времени или создание системы меню. Вы также можете использовать пользовательские символы для создания простой графики и значков состояния для вашего проекта. Не забывайте всегда использовать техническое описание для ЖК-модуля, как показано, чтобы проверить конкретные требования к подключению вашего ЖК-модуля. Метод, который мы используем, обеспечивает гибкость с точки зрения выводов микроконтроллера, которые могут быть использованы.

Вы можете использовать несколько таких ЖК-дисплеев, если вам нужно показать больше информации, но помните о количестве используемых контактов. Также попробуйте поэкспериментировать с отображением чисел с помощью lcd.печать() команду и попробуйте разные способы использования установить позицию курсора функция размещения различных элементов в разных частях дисплея. Это открывает множество возможностей для ваших будущих проектов. Знания, которые вы получите, управляя ЖК-дисплеем без I2C, станут хорошей отправной точкой для управления более сложными типами дисплеев.

LCD1602 ЖК-модуль Дисплей STN COB

Ключевые выводы: 10 вещей, которые следует помнить при подключении ЖК-дисплея 16×2 без I2C

  • Понимание основ: Модуль ЖК-дисплея 16×2 управляется через контакты управления и данных 6–10 без модуля i2c.
  • Штыревые соединения имеют решающее значение: Проверьте спецификацию на предмет конкретной распиновки вашего ЖК-модуля.
  • Регулировка контрастности: Для регулировки контрастности ЖК-дисплея всегда используйте потенциометр.
  • Библиотека LiquidCrystal: Используйте LiquidCrystal библиотека в arduino ide для упрощения программирования.
  • Инициализация: Всегда правильно инициализируйте ЖК-дисплей, используя lcd.begin(16, 2);.
  • Отображение данных: Используйте lcd.печать() для отображения данных на модуле отображения.
  • Пользовательские символы: Создавайте собственных персонажей, используя lcd.createChar() когда они вам понадобятся.
  • Поиск неисправностей: Дважды проверьте всю проводку, код и соединения, чтобы определить причину любых проблем.
  • Доступность PIN-кода: При выборе этого метода обратите внимание на используемые контакты микроконтроллера.
  • Продвигаемся дальше: Изучите передовые методы создания еще более сложных приложений.

Следуя этому подробному руководству, вы будете полностью готовы к подключению вашего ЖК-модуля 16×2 напрямую к Arduino или ESP32 и отображению необходимой для ваших проектов информации без адаптера I2C.

Комментарии

Теги
Модуль дисплея AMOLED OLED экран

Революция визуальных эффектов: изучение великолепия 0,95-дюймовых AMOLED-дисплеев для автомобильной промышленности и не только

Модули дисплеев AMOLED быстро становятся золотым стандартом в области визуальных технологий, предлагая непревзойденное качество изображения, яркие цвета и исключительную энергоэффективность.

Читать далее "
Sony 0.5 Micro OLED-дисплей для AR VR

Секретное оружие Apple Vision Pro: рост популярности микродисплеев Micro-OLED и MicroLED в дополненной и виртуальной реальности

В этой статье мы подробно рассмотрим мир микродисплеев micro-OLED и microLED, изучим их технологию, сферы применения и важную роль, которую они играют в формировании будущего дополненной и виртуальной реальности, особенно в таких устройствах, как Apple Vision Pro.

Читать далее "

Связаться с нами

Великие дела в бизнесе никогда не делаются одним человеком. Они делаются командой людей. У нас есть эта динамичная группа людей
Революция VR AR: рост популярности дисплеев Micro OLED в устройствах с креплением на голове

Революция в области виртуальной и дополненной реальности: рост популярности дисплеев Micro OLED в устройствах, крепящихся на голову

Мир виртуальной реальности (VR) и дополненной реальности (AR) стремительно развивается, и в основе этой трансформации лежит важнейший компонент: дисплей.

Читать далее "
Прокрутить вверх

Онлайн-запрос

Заполните форму ниже, и мы свяжемся с вами в ближайшее время.