Руководство по ЖК-дисплею Arduino

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

Вы можете посмотреть следующее видео или прочитать написанное ниже руководство.

Распиновка ЖК-дисплея

Он имеет 16 контактов, и первый слева направо является контактом заземления. Второй вывод — это VCC, к которому мы подключаем вывод 5 В на плате Arduino. Далее идет вывод Vo, к которому мы можем прикрепить потенциометр для управления контрастностью дисплея.

Далее, вывод RS или выбор регистра pin используется для выбора, будем ли мы отправлять команды или данные на ЖК-дисплей. Например, если для вывода RS установлено низкое состояние или нулевое напряжение, мы отправляем на ЖК-дисплей такие команды, как: установить курсор в определенное место, очистить дисплей, выключить дисплей и так далее. А когда вывод RS установлен в состояние High или 5 вольт, мы отправляем данные или символы на ЖК-дисплей.

Далее идет вывод R/W, который выбирает режим, будем ли мы читать или записывать на ЖК-дисплей. Здесь режим записи очевиден, и он используется для записи или отправки команд и данных на ЖК-дисплей. Режим чтения используется самим ЖК-дисплеем при выполнении программы, которую нам не нужно обсуждать в этом руководстве.

Далее идет контакт E, который позволяет записывать в регистры , или следующие 8 контактов данных от D0 до D7. Таким образом, через эти контакты мы отправляем 8-битные данные при записи в регистры или, например, если мы хотим видеть последнюю заглавную букву A на дисплее, мы отправим 0100 0001 в регистры в соответствии с таблицей ASCII.

И последние два контакта A и K или анод и катод предназначены для светодиодной подсветки.

В конце концов, нам не нужно сильно беспокоиться о том, как работает ЖК-дисплей. , поскольку Библиотека жидких кристаллов заботится почти обо всем. На официальном сайте Arduino вы можете найти и увидеть функции библиотеки, которые позволяют легко использовать ЖК-дисплей. Мы можем использовать библиотеку в 4- или 8-битном режиме. В этом руководстве мы будем использовать его в 4-битном режиме или просто будем использовать 4 из 8 контактов данных.

Компоненты, необходимые для этого руководства по ЖК-дисплею Arduino


Вы можете получить эти компоненты с любого из следующих сайтов:

  • ЖК-дисплей 16 × 2 …………………… .. Amazon/Banggood/AliExpress
  • Потенциометр ……………………………. Amazon/Banggood/AliExpress
  • Плата Arduino …………………………… Amazon/Banggood/AliExpress
  • Макетная плата и соединительные провода ……… Amazon/Banggood/AliExpress

Раскрытие: Это партнерские ссылки. Как сотрудник Amazon я зарабатываю на соответствующих покупках.

Схема


Мы будем использовать всего 6 цифровых входных контактов от Arduino Доска. Регистры ЖК-дисплея от D4 до D7 будут подключены к цифровым выводам Arduino от 4 до 7. Вывод Enable будет подключен к выводу 2, а вывод RS — к выводу 1. Вывод R/W будет подключен к Земля и вывод Vo будут подключены к потенциометру.

Исходные коды


Первое, что нам нужно сделать, это вставить библиотеку жидких кристаллов. Это можно сделать так: Sketch> Include Library> Liquid Crystal. Затем нам нужно создать объект LC. Параметры этого объекта должны быть номерами контактов цифрового входа платы Arduino, соответственно, выводами ЖК-дисплея: (RS, Enable, D4, D5, D6, D7). При настройке мы должны инициализировать интерфейс для ЖК-дисплея и указать размеры дисплея с помощью функции begin () .

В цикле мы пишем нашу основную программу. Используя функцию print (), мы печатаем на ЖК-дисплее. Функция используется для установки места, в котором будет отображаться последующий текст, записанный на ЖК-дисплей. Функция blink() используется для отображения мигающего курсора и noBlink () функция выключения. Для отображения курсора подчеркивания и noCursor () используется функция strong> функция выключения. С помощью функции clear() мы можем очистить ЖК-экран.

Вот исходный код первый пример из видео:

/** Arduino LCD Tutorial ** Cated by Dejan Nedelkovski, * www.HowToMechatronics.com **/# include //включает библиотеку LiquidCrystal LiquidCrystal lcd (1, 2, 4, 5, 6, 7); //Создает объект LC.  Параметры: (rs, enable, d4, d5, d6, d7) void setup () {lcd.begin (16,2); //Инициализирует интерфейс для ЖК-экрана и задает размеры (ширину и высоту) дисплея}} void loop () {lcd.print ("Arduino"); //Выводит "Arduino" на ЖК-дисплей delay (3000); //задержка 3 секунды lcd.setCursor (2,1); //Устанавливает место, в котором будет отображаться последующий текст, записанный на ЖК-дисплей lcd.print ("Учебное пособие по ЖК-дисплею");  задержка (3000);  lcd.clear (); //Очищает дисплей lcd.blink (); //Отображает задержку мигания курсора LCD (4000);  lcd.setCursor (7,1);  задержка (3000);  lcd.noBlink (); //Отключает мигание курсора на ЖК-дисплее lcd.cursor (); //Отображает подчеркивание (строку) в позиции, в которую будет записан следующий символ delay (4000);  lcd.noCursor (); //Скрывает ЖК-курсор lcd.clear (); //Очищает ЖК-экран} 

Также можно записывать собственные символы на ЖК-дисплей. Он поддерживает до 8 символов размером 5 × 8 пикселей. Мы можем указать внешний вид каждого символа массивом из 8 байтов. В исходном коде ниже мы можем заметить, как мы можем указать внешний вид персонажа, изменив 0 на 1, что представляет 5 × 8 пикселей. В настройках мы должны создать собственный персонаж с помощью функции createChar() . Первым параметром в этой функции является число от 0 до 7, иначе мы должны зарезервировать один из 8 поддерживаемых пользовательских символов. Второй параметр — это имя массива байтов. Мы записываем настраиваемый символ на дисплей с помощью функции write() и в качестве параметра мы используем номер символа.

Вот исходный код второго примера для пользовательских символов:

 #include  байтовая косая черта [8] = {//Массив байтов B00001,//B обозначает двоичный форматтер, а 5 чисел - пиксели B00010, B00100, B01000, B10000, B00000, B00000, B00000  ,}; ЖК-дисплей LiquidCrystal (1, 2, 4, 5, 6, 7); //Создает объект LC.  Параметры: (rs, enable, d4, d5, d6, d7) void setup () {lcd.begin (16,2); //Инициализирует интерфейс для ЖК-экрана и задает размеры (ширину и высоту) дисплея lcd.createChar (7, косая черта); //Создаем собственный символ для использования на ЖК-дисплее.  Поддерживается до восьми символов размером 5x8 пикселей} void loop () {for (int i = 0; i  

Не стесняйтесь задавать любой вопрос в разделе комментариев ниже.



Как подключить последовательный ЖК-дисплей к Arduino UNO

96216

307

37

Рекомендуемые

Введение: как подключить последовательный ЖК-дисплей к Arduino UNO

В этом руководстве Я покажу вам, как я подключил последовательный ЖК-дисплей 16X2 к Arduino UNO.

Существует множество инструкций и руководств, показывающих, как подключить обычный ЖК-дисплей к Arduino, но не многие из них показывают последовательный ЖК-дисплей. а на моем Arduino PINS для подключения контактов UART скрыты. С помощью этого руководства я пролью свет на эту проблему :)

Одной из причин, по которой вы могли бы использовать последовательный ЖК-дисплей, является тот факт, что он использует только 4 PINS вместо 16.

UART или последовательный модуль, который прикреплен к задней части ЖК-дисплея, отвечает за отправку и получение последовательной связи между Arduino и ЖК-дисплеем, а также имеет встроенный потенциометр для регулировки яркости экрана..

Для этого проекта вам понадобится:

  1. Arduino UNO
  2. Последовательный ЖК-дисплей, 16x2
  3. и 4 перемычки, вилка-розетка.

Шаг 1: Подключите электронику

Я воспользуюсь 4 цветными перемычками, чтобы упростить задачу.

На UART есть 4 контакта с маркировкой GND, VCC, SDA и SCL.

Используйте красный провод для подключения VCC от UART к VCC на Arduino

Используйте черный провод для подключения GND от UART к GND на Arduino

Используйте зеленый провод для подключения SDA от UART к SDA на Arduino

И, наконец, используйте желтый провод для подключения SCL от UART к SCL на Arduino

ПРИМЕЧАНИЕ :

ПИНы SDA и SCL на Arduino помечены на задней стороне платы, используйте изображения в качестве руководства

Это это для проводки, это легко. Затем загрузите IDE Arduino и загрузите эскиз в Arduino.

Шаг 2: Эскиз

Шаг первый - загрузить библиотеку Liquid Crystal, если вы еще этого не сделали.

Я добавлю zip-файл с библиотекой для Windows или вы можете зайти на сайт https://bitbucket.org/fmalpartida/new-liquidcrysta ... и скачать его самостоятельно.

После того, как у вас есть библиотека, извлеките ее содержимое из библиотеки Arduino папку на вашем компьютере. На моем компьютере расположение по умолчанию было C: programfiles Arduino library.

Я приложил копию эскиза, который использовал в этом руководстве,

Вот разбивка:

Сначала вам нужно загрузить библиотеки, мы загрузим wire.h, LCD.h и LiquidCrystal_I2C.h

//загрузим библиотеки
#include wire.h

#include LCD.h

#include LiquidCrystal_I2C.h


Затем нам нужно определить переменные ... в этом разделе просто скопируйте его как есть, потому что он сообщает IDE, где найти PCF8574A и как взаимодействовать с ЖК-дисплеем, чтобы включить подсветку, контакт чтения , контакты записи и данных и т. д ...

//Определить переменные

#define I2C_ADDR 0x27//Определить I2C-адрес, где находится PCF8574A

#define BACKLIGHT_PIN 3

#define En_pin 2

#define Rw_pin 1

#define Rs_pin 0

#define D4_pin 4

#define D5_pin 5

#define D6_pin 6

#define D7_pin 7

Еще одна строка необходима для инициализации ЖК-дисплея. , это выполняется с помощью массива, который включает переменные, которые мы определили ранее.

//Инициализируем ЖК-дисплей
LiquidCrystal_I2C lcd (I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin);

В настройке void мы начинаем с того, что говорим IDE, что имеем дело с ЖК-дисплеем 16X2

lcd.begin (16,2 );

Затем я включаю подсветку (всегда хорошо, если ЖК-дисплей светится), замечаю, что это та же самая переменная сверху ...

lcd. setBacklightPin (BACKLIGHT_PIN, POSITIVE);
ЖК-дисплей. setBacklight (HIGH);

Затем я приказываю ему перейти к первой строке в крайнем левом положении lcd.setCursor (0,0);

и распечатать lcd. print ("Я только что сделал");

затем переместите курсор на вторую строку и в крайнее левое положение lcd.setCursor (0,1);

и print: lcd.print ("Instructable :)");

Есть недействительный цикл, потому что программе нужен цикл для компиляции, но он должен оставаться пустым.

Вот и все ... очень просто, если вы будете следовать этим инструкциям, на ЖК-дисплее будет отображаться все, что вы набираете в этом коде.

На следующем шаге вы увидите подробное видео.

Вложения

  • LiquidCrystal.zip
    Загрузить
  • Serial_LCD_number_1.zip
    Загрузить

Шаг 3: Пошаговое видео

Шаг 4: Конечный результат

Если вы следуете инструкциям, на ЖК-дисплее должно быть напечатано «Я сделал и инструкции :)»

Удачи

Этот проект сделали 4 человека!

  • Экаюдхипратама сделал это!
  • PerL16 сделал это!
  • JamesM246 сделал это!
  • benterou сделал это!

Рекомендации

Цифровой измерительный ролик с использованием Microbit & Tinkercad в инструментах
6 405
Карманные кости! Электронные кости для лжецов, кости и другое в электронике
97 8,4K
Схема поиска светодиодов без микросхемы в светодиодах
145 18K
RGB-очки в светодиодах
63 10K
  • Конкурс "Сделай это свечением"

  • Конкурс впервые представленных авторов

  • PCB Challenge

37 Обсуждения

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

LiquidCrystal_I2C.h не существует, как и LCD. h

также не совместим с любыми другими ЖК-библиотеками или скриптами.

Я думаю, вы не установили библиотеку, необходимую для I2C. вы можете скачать последнюю версию здесь. https://www.circuitschools.com/connect-lcd-display-to-arduino-with-only-two-pins-i2c-adapter/

Вы установили библиотеки?

задняя часть ЖК-дисплея дисплей У меня таких контактов нет, как его подключить? ....

Как бы вы ни хотели, пайка работает напрямую, добавляя свои собственные заголовки или выводы, основная цель - просто подвести электричество из точки a в точку b, после присоединения заголовков проще всего, потому что их легко удалить и заменить позже, но пайка проводов непосредственно к плате дает лучшее соединение.

какое устройство за ЖК-дисплеем, которое позволяет подключаться к контактам SDA и SLC на ардуино?

Привет, я считаю, что они называются интерфейсом I2C.

http://www.gearbest.com/development-boards/pp_5100 ...

Проверьте ссылку, иногда они продаются отдельно от ЖК-дисплея.

Я искал "серийный номер 1602" на eBay.

Ненавижу быть тем, кто заявляет очевидное, но ... ЭТО БОЛЬШЕ НЕ СЕРИЙНЫЙ ЖК-дисплей. Это не руководство о том, как подключить последовательный ЖК-дисплей, а о том, как подключить рюкзак I2C к Arduino. Если вы используете последовательный ЖК-дисплей, вам придется подключить все 16 контактов к Arduino вместо того, чтобы предварительно упакованный рюкзак делал всю работу за вас.

Поправьте меня, если я ошибаюсь, но если вы подключились все 16 проводов направлены к Arduino, это будет параллельный ЖК-дисплей, а не последовательный. В руководстве показано, как использовать преобразованный в рюкзак ЖК-дисплей, чтобы подключить его по последовательному, а не параллельно, так что это действительно точно..

код не открывается в Arduino ide

что делать, если у вас нет 0538A?

Не скомпилировано, но с пустым дисплеем подсветки отображается мой с адресом 0x3F, есть ли какие-то сокращения, которые нужно сделать

почти работает, загружается нормально, но у меня нет текста на ЖК-дисплее, какие-либо советы

отличается ли он от книги для Mac?

Хорошо, я понял свою. Вот где я получил ответ, и это отличное видео с полной информацией:

В какой-то момент он упоминает, что на задней части рюкзака I2C есть три перемычки (у меня есть помечены как A0, A1 и A2), которые не распаяны. В этом руководстве предполагается, что показано на видео выше - что базовый серийный адрес для рюкзака - 0x27.

Ну, я читал обзоры Amazon, где у меня есть ЖК-дисплей с последовательным интерфейсом, который я должен использовать в качестве адреса 0x3F. У рюкзака НЕТ ничего припаянного в области перемычек, поэтому, по сути, тот, кто сделал рюкзак, который у меня есть, вообще не соблюдает правила. Адрес 0x27 появляется снова и снова в руководствах, но, очевидно, не всегда.

Мне не приходилось этого делать, но если вы не знаете серийный адрес, вы можете использовать эту ссылку, чтобы написать код, чтобы найти его для вас.
http://playground.arduino.cc/Main/I2cScanner

О, чувак, большое вам спасибо за этот комментарий !!!

Я медленно сходил с ума ... у меня тоже 0x3F ... для двух моих ЖК-дисплеев ... Я никогда не думал об этом адресе, так как он действительно упоминается в каждом руководстве ...

Еще раз - спасибо!

У меня такая же проблема ... все подключено и загружается, без ошибок компиляции и пустой экран. :(

Arduino: 1.6.5 (Windows 8.1), плата: "Arduino Uno"

lcd_test.ino: 3: 17: фатальная ошибка: LCD.h: такого файла нет или каталог
компиляция прервана.
Ошибка компиляции.

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

на верхней панели перейдите в [Sketch> Включить библиотеки> Управление библиотеками> Фильтр]

и введите библиотеку, которую нужно загрузить. найдите то, что вам нужно, получите последнюю версию и нажмите "Установить". Затем перейдите в

[Sketch> Include Libraries> (... Library Name ...) и щелкните по нему. затем на панели сценариев он должен появиться с

#include

Надеюсь, это поможет

~ Scratchndent

Оцените статью
logicle.ru
Добавить комментарий