Электротехнический интернет-журнал Electrik.info

"Электрик Инфо" - онлайн журнал про электричество. Теория и практика. Обучающие статьи, примеры, технические решения, схемы, обзоры интересных электротехнических новинок. Уроки, книги, видео. Профессиональное обучение и развитие. Сайт для электриков и домашних мастеров, а также для всех, кто интересуется электротехникой, электроникой и автоматикой.
 

 

  • В чем отличие блока питания от драйвера для светодиодов: теория и практика, всё что нужно знать
  • Неисправности светодиодных лент и методы их ремонта
  • Инфракрасные системы отопления и инфракрасные обогреватели
  • Как сделать ветрогенератор своими руками
  • Почему мигают светодиодные лампы после выключения? Виноват выключатель с подсветкой!
  • Как выбрать настольную лампу для работы или учёбы
  • 10 интересных проектов для Arduino
  • Электрик  

    Электрик Инфо » Схемы на микроконтроллерах » Какие бывают дисплеи для Ардуино и как их подключить
    Количество просмотров: 63301
    Комментарии к статье: 0


    Какие бывают дисплеи для Ардуино и как их подключить

    Микроконтроллеры позволяют сделать любые системы автоматизации и мониторинга. Но для взаимодействия техники и человека нужны как устройства ввода – различные кнопки, рычаги, потенциометры, так и устройства вывода – световые индикаторы (лампочки), различные звуковые сигнализаторы (пищалки) и наконец дисплеи. В этой статье мы рассмотрим символьные дисплеи для Arduino, как их подключить и заставить работать.

    Какие бывают дисплеи для Ардуино и как их подключить

    Содержание статьи

    Виды дисплеев

    Дисплеи можно разделить на:

    • Сегментные (такие, как на цифровых часах);

    • Алфавитно-цифровые;

    • Графические.

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

    Они могут быть как жидкокристаллическими, так и светодиодными. Алфавитно-цифровые дисплеи можно встретить на старой бытовой технике, игрушках, промышленной технике и прочем. Их еще называют знакосинтезирующими, текстовыми, символьными. Состоят из набора крупных пикселей. Могут быть выполнены по LCD, TFT и OLED-технологии.

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

    Знакосинтезирующие дисплеи

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

    • 1602;

    • 2002.

    Где первые две цифры – количество символов в строке, а вторая пара – количество строк. Таким образом дисплей с названием 1602 может отображать одновременно 2 строки по 16 символов.

    По типу ввода данных различают дисплеи:

    • С параллельным вводом данных;

    • С вводом данных по протоколу I2C.

    Параллельный ввод данных предполагает передачу 8 или 4-битных слов по 10 или 6 выводам соответственно (рис. ниже – схема подключения для управления 4 битами). Кроме данных на дисплей подаётся питание. Учитывайте это при проектировании, в противном случае вам может не хватить пинов платы Ардуино.

    Схема подключения дисплея к Ардуино

    Передача данных на дисплей с помощью I2С займет 4 пина вашей Arduino, 2 из которых питание, а 2 – данные. Но подробнее рассмотрим этот вопрос немного ниже.

    Среди отечественных производителей можно выделить фирму МЭЛТ. Среди продукции, которой есть целый ряд различных дисплеев. Например, ниже изображен дисплей с маркировкой 20S4, по аналогии с предыдущей рассмотренной, это говорит нам о том, что он отображает 4 строки по 20 знаков.

    Дисплей 20S4

    Он построен на контроллере КБ1013ВГ6, от ОАО «АНГСТРЕМ», который аналогичен HD44780 фирмы HITACHI и KS0066 фирмы SAMSUNG. На которых построены подавляющее большинство китайских дисплеев. Кстати он, как и дисплеи на перечисленных чипах поддерживает стандартную библиотеку параллельного управления Arduino IDE, но о ней позже.

    Разные виды дисплеев для использования Ардуино

    Знакосинтезирующие дисплеи бывают с подсветкой и без неё, также могут отличаться цветом изображаемых символов. Яркость подсветки и контрастность изображения обычно регулируется. Ниже приведет пример схемы из даташита, на упомянутый выше МЭЛТ.

    Пример схемы из даташита МЭЛТ

    Переменный резистор R и служит для регулировки яркости.

    Подключение

    Подключение будем рассматривать на дисплее типа 1602. В первую очередь обратите внимание на подписи выводов. Встречается два варианта, нумерации. На двух рисунках ниже всё нормально – от 1 до 16 вывода.

    Выводы дисплея типа 1602
    Выводы дисплея типа 1602

    Отметим, что под VSS понимается земля. В остальном назначения выводов идентичны. Но часто можно встретить и нестандартную нумерацию:

    Нестандартная нумерация выводов дисплея

    Что вы видите? Контакты подписаны только 1, 14 и 15. Причем в неправильной последовательности. В остальном – 15 и 16 контакт всё также остались анодом и катодом подсветки, а 1 и 2 – общий контакт и плюс питания. Будьте бдительны и обращайте внимание при подключении на этот факт!

    Разберем подробнее.

    • 1 – (Vss) земля или «—» питания.

    • 2 – (Vcc) «+» питания. Чаще всего это 5 вольт.

    • 3 – регулировка контрастности символов. Осуществляется через потенциометр, установленный между «+» питания и этим контактом. Чем выше напряжение – тем меньше яркость и энергопотребление.

    • 4 – (RS) Адресный сигнал. По наличию сигнала от ардуино на этом входе контроллер дисплея понимает, на линии данных сигнал команды (перемещение курсора, например) или кода символа для отображения.

    • 5 – (E) разрешения доступа к данным. Когда здесь логическая «1» - дисплей выполняет команду или выводит символ.

    • 6-14 – через эти пины обеспечивается параллельный ввод данных.

    • 15 – (BLA) анод подсветки. Чтобы она зажглась на всю яркость – сюда подают +5В.

    • 16 – (BLC) катод подсветки. Подключают к земле.

    Один из примеров подключения к Ардуино в 4 битовом режиме мы рассмотрели выше. Теперь взгляните на схему подключения в 8 битовом режиме управления. Кстати вы могли заметить переменный резистор. Он и нужен для регулировки яркости подсветки, как было сказано ранее.

    Схема подключения дисплея к Ардуино в 8 битовом режиме управления

    Таким образом у вас оказываются занятыми половина входов платы Arduino UNO. Конечно если вы будете использовать MEGA – это будет не столь существенной проблемой, но всё же это не рационально, особенно если вы собираетесь подключать группу датчиков и клавиш управления.

    Чтобы высвободить входы используйте конвертер I2C для LCD экрана (именно так он называется, и вы сможете найти его в магазинах под таким названием).

    Конвертер I2C для LCD экрана

    Внимание:

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

    Гребёнка, изображенная снизу просто припаивается к дисплею, а четыре контакта на торце платы – подключаются к пинам Arduino, также есть третья группа из двух контактов (на фото сзади) – это включение подсветки, модели поставляются с установленной перемычкой.

    Схема такого модуля выглядит следующим образом:

    Схема модуля

    А вот так он выглядит припаянным непосредственно к контактам дисплея. Большинство моделей продаются уже распаянными.

    Подключение модуля к контактам дисплея

    Однако для его использования вам нужно будет найти в сети библиотеку LiquidCrystal_I2C её нет в стандартном наборе актуального на момент написания статьи Arduino IDE.

    Напомним цоколевку плат Arduino UNO, по нумерации контактов она в принципе совпадает и с Nano и некоторыми другими (для увеличения нажмите на рисунок).

    Цоколевку платы Arduino UNO

    Для работы по I2C нужно сформировать 2 информационных сигнала – SDA и SCL, обратите внимание в нижний правый угол рисунка. Эти выводы в ардуино совмещены с A4 и A5 аналоговыми входами.

    Важно:

    Переназначить их вы на другие выводы не можете.

    Тогда монтажная схема подключения будет иметь вид:

    Схема подключения экрана к Ардуино через конвертер

    Согласитесь, проводов намного меньше! От ардуино к дисплею идут всего 4 провода. А сигнальных пина использовано всего два!

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

    Конвертер I2C для LCD экрана

    Научитесь разрабатывать устройства на базе микроконтроллеров и станьте инженером умных устройств с нуля: Инженер умных устройств

    Программа

    Естественно нам нужен какой-то скетч, который может показывать изображение на символьном дисплее. Если вы хотите «напрямую» работать с дисплеем – придется изучить даташиты и таблицы символов на каждое конкретное изделие. Но Ардуино была создана для простого и быстрого прототипирования электронных устройств. Поэтому мы пойдем другим путём и воспользуемся благами цивилизации. Мы уже упомянули, что в стандартном наборе библиотек в Arduino IDE есть готовое решение для работы с LCD-дисплеями. Найти его можно здесь:

    Подключение библиотеки

    Кстати после нажатия строка с объявлением о подключении библиотеки появляется автоматически.

    Строка с объявлением о подключении библиотеки

    Также в Arduino IDE есть несколько примеров для работы с дисплеем. Они отражают базовые операции и функции.

    Примеры для работы с дисплеем

    Рассмотрим простейший «Хэлоу ворд». Пример полностью совпадает с тем, что есть в стандартном наборе IDE, я лишь перевёл текст комментариев на русский язык. Обратите внимание – это пример работы в 4-битном режиме.

    Простая программа

    Работа с I2C практически аналогична:

    Программа для работы с I2C

    ВАЖНО:

    Обратите внимание, что в этом примере кода первой командой указан несколько размер дисплея, количество строк и символов, но и его I2C адрес. А именно – 0x27, что соответствует отсутствующим перемычкам. Вообще это нужно для того, чтобы подключить на два сигнальных провода несколько дисплеев (8 штук).

    Официальную документацию к библиотеке liquidcrystal с примерами и пояснениями вы сможете найти на официальном сайте Arduino:

    https://www.arduino.cc/en/Reference/LiquidCrystal?from=Tutorial.LCD8Bits

    Подборка видеоуроков по теме

    Чтобы вам не было сложно освоить навык работы с дисплеем мы сделали подборку видеоуроков по этой теме.

     

    Заключение

    Оказывается, подружить плату Arduino и дисплей совсем не сложно. Вам доступна возможность как параллельной передачи данных, так и последовательной с помощью шины I2C, что выбрать – решать вам, как по удобству, так и по требованиям к быстродействию системы в целом. Пишите в комментариях какие вопросы нужно рассмотреть подробнее и что конкретно вы бы хотели видеть по теме микроконтроллеров!

    Еще больше информации про Ардуино и особенности его использования в различных схемах смотрите в электронной книге - Ардуино для чайников. Иллюстрированное практическое руководство.

    Совсем недавно вышел новый курс Максима Селиванова "Программирование дисплеев Nextion". Это "arduino" в мире дисплеев с сенсорным экраном. Но, информации по нему очень мало.

    Дисплей Nextion

    Что такое дисплеи Nextion? Если кратко, то эти дисплеи представляют собой программируемые дисплеи с тачскрином и UART для создания самых разных интерфейсов на экране. Для программирования используется очень удобная и простая среда разработки, которая позволяет создавать даже очень сложные интерфейсы для различной электроники буквально за пару вечеров! А все команды передаются через интерфейс UART на микроконтроллер или компьютер.

    Здесь есть все что бы начать работать с дисплеями Nextion на новом уровне: Программирование дисплеев NEXTION

    Максим Селиванов - автор видеокурсов "Программирование микроконтроллеров для начинающих", "Программирование микроконтроллеров на языке С", "Создание устройств на микроконтроллерах". Подробее о нем и его видеокурсах смотрите здесь - Обучение программированию и созданию устройств на микроконтроллерах

    Покупки в Aliexpress с кэшбэком

    Алексей Бартош

    Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте сеть умных гаджетов!

    Записывайтесь в онлайн-университет от GeekBrains:

    Факультет Интернет вещей

    Обучение Интернет вещей и современные встраиваемые системы

    Вы сможете:

    • Изучить C, механизмы отладки и программирования микроконтроллеров;

    • Получить опыт работы с реальными проектами, в команде и самостоятельно;

    • Получить удостоверение и сертификат, подтверждающие полученные знания.

    Starter box для первых экспериментов в подарок!

    После прохождения курса в вашем портфолио будет: метостанция с функцией часов и встроенной игрой, распределенная сеть устройств, устройства регулирования температуры (ПИД-регулятор), устройство контроля влажности воздуха, система умного полива растений, устройство контроля протечки воды...

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

    Подробнее здесь: Интернет вещей и современные встраиваемые системы






    Поделитесь этой статьей с друзьями:

    Другие статьи с сайта Электрик Инфо:

  • Что такое дисплеи Nextion и как с ними работать?
  • 19 шилдов для Arduino на все случаи жизни
  • Измерение температуры и влажности на Arduino – подборка способов
  • Подключение и программирование Ардуино для начинающих
  • 7 учебных курсов по работе с Ардуино, онлайн обучение проектированию и конс ...
  • Способы чтения и управления портами ввода-вывода Arduino
  • Как происходит преобразование аналогового сигнала в цифровой
  • Про микроконтроллеры для начинающих - история создания, основные виды и раз ...
  • Какую плату Arduino выбрать
  • Как подключить инкрементальный энкодер к Arduino
  • Категория: Схемы на микроконтроллерах

    Программирование Ардуино, Ардуино, Arduino для начинающих, Встраиваемые системы

    Добавление комментария
    Имя:*
    Комментарий:

    Популярные статьи:

    Присоединяйтесь к нам в социальных сетях:

    ВКонтакте | Facebook | Одноклассники | Яндекс Дзен

     


    Популярные разделы сайта:

    Электрика дома  Электрообзоры  Энергосбережение
    Секреты электрика Источники света Делимся опытом
    Домашняя автоматика Электрика для начинающих
    Практическая электроника Электротехнические новинки

    Copyright © 2009-2021 Электрик Инфо - Electrik.info, Андрей Повный
    Вся информация на сайте предоставлена в ознакомительных и познавательных целях.
    За применение этой информации администрация сайта ответственности не несет.
    Перепечатка материалов сайта запрещена.

    Источник иллюстраций: авторские рисунки и фотографии, электрика на стоковых фото