Smael 1602 как подключить

от admin

SMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часы

  • SMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часы - Цвет: gold
  • SMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часы - Цвет: army green
  • SMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часы - Цвет: khaki
  • SMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часы - Цвет: blue red

Бренд товара: smaelТип продукта: 1602Тип товара: мужские спортивные Смарт-часыТип часового механизма: электронныйДисплей режим: номерДиаметр циферблата: 51,5 ммТолщина циферблата: 16,3 ммПосылка материалы: пластикМатериал ремешка: РезинаМатериал задней крышки: 304 нержавеющая стальМатериал зеркало: зеркало из плексигласаСтиль пряжки стола: игольчатая пряжкаМатериал пряжки: нержавеющая стальВодонепроницаемость: 50 мЦвет: черный, золотой, армейский зеленый, хаки, синий красныйФункции: напоминание о телефоне, калории, Километры, шаги упражнений, напоминание о тревоге, водонепроницаемость до 50 м, sms-напоминание, напоминание о сообщениях из социальных программ, дистанционное управление фотосъемкой, bluetooth-соединение, таймер, воскресенье, ночной светильник, 12/24 часов

1 x спортивные часы (без коробки)

SMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часыSMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часыSMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часыSMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часыSMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часыSMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часыSMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часыSMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часыSMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часыSMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часыSMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часыSMAEL 1602 мужские умные наручные часы с Bluetooth спортивные часы с будильником водонепроницаемые светодиодный электронные часы мужские военные часы

1) Мы принимаем оплату alipay, Western Union и платформой. Все основные кредитные карты доступны на платформе AliExpress.2) оплата должна быть произведена в течение 3 дней после размещения заказа.3) Если вы не можете оплатить сразу после аукциона, пожалуйста, подождите несколько минут, и повторная оплата должна быть завершена в течение 3 дней.

1). Глобальная доставка. (За исключением некоторых стран, за исключением APO/FPO)2). Мы обработаем заказ в течение 48 часов после подтверждения оплаты.3). Мы доставляем товары только по подтвержденному адресу заказа. Ваш адрес заказа должен совпадать с адресом доставки.4). Изображения, отображаемые в магазине, не являются реальными предметами, только для справки.5). Время доставки экспресс-услуги предоставляется перевозчиком (курьерской компанией), за исключением выходных и праздничных дней. Время доставки может меняться, особенно в праздничные дни.6). Если вы не получили ваш товар в течение 30 дней после оплаты, пожалуйста, свяжитесь с нами. Мы будем отслеживать товары и отвечать вам как можно скорее. Наша цель – удовлетворение клиентов!7). Из-за ситуации с запасами и разницы во времени, мы выберем отправку с нашего первого доступного склада для быстрой доставки.

Мы поддерживаем высокие стандарты обслуживания, стремление к 100% удовлетворенности клиентов!Ваши отзывы очень важны для нас, и мы хотели бы, чтобы вы немедленно свяжитесь с нами, прежде чем дать нам нейтральные или отрицательные отзывы, чтобы мы могли удовлетворительно решить ваши проблемы. Мы не можем решить проблемы, если не понимаем их.

Если вы розничный продавец и хотели бы сотрудничать с нами, мы надеемся, что вы сможете связаться с нами вовремя. Мы можем предоставить вам все продукты, которые вы хотите купить из Китая, и мы можем дать вам нашу самую низкую цену. Хотя мы не можем гарантировать, что цена, которую вы покупаете здесь, самая низкая, мы можем гарантировать, что качество товаров, которые вы покупаете здесь, самое лучшее.Мы с нетерпением ждем сотрудничества с вами!

Если вы заинтересованы в сотрудничестве, вы можете напрямую связаться с нашей службой поддержки клиентов магазина, и мы ответим вам, как только увидем ваше сообщение!

Смарт часы SMAEL с Bluetooth мужские цифровые спортивные 1602 водонепроницаемые

Для получения более полной информации о стоимости и сроках доставки Смарт часы SMAEL с Bluetooth мужские цифровые спортивные 1602 водонепроницаемые нажмите «Купить».

  • Описание
  • Отзывы
  • Видео обзор

Умные Bluetooth часы SMAEL часы Мужские Цифровые relogio masculino часы мужские спортивные часы 1602 водонепроницаемые военные цифровые часы

1602---_01 alt=»1602—_02″ />1602---_031602---_041602---_051602---_061602---_071602---_081602---_091602---_101602---_111602---_12

2018 Новые смарт-цифровые часы, bluetooth часы для мужчин спортивные, круто выглядят так же, как вы, новый матовый черный цвет этой серии спортивных часов добавляет выбор часов с отчетливо взрослым характером и средним размером корпуса.

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

-1 * спортивные часы SMAEL

-1 * Гарантийный талон

-Тип: мужские спортивные часы/повседневные часы

-Цифровой циферблат, циферблат с тремя стрелками, сделанный с фирменным красивым цветом, который ассоциируется с совершенством.

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

-Водонепроницаемость до 3 АТМ, водонепроницаемость до 30 м, можно плавать с ним

-Точное отображение времени

Напоминание о кэшбэке: Что бы получить кешбек при покупке этого или другого товара на Aliexpress. Авторизуйтесь или зарегистрируйетсь в кэшбэк-сервисе, далее появиться подробная инструкция как получать кэшбэк при покупках на Алиэкспресс.

Руководство по эксплуатации цифровых мужских часов SKMEI 1602 Sport

SKMEI 1602 Спортивные цифровые мужские часы

SKMEI 1602 Руководство по эксплуатации

report this ad

Особенности :
  • Функция времени: час, минута, секунда, год (2000-2099) Месяц, день, 12 ч/24 ч.
  • Функция секундомера, максимальный диапазон составляет 23:59′ 59 дюймов, 1/100 с.
  • Функция 24-часового обратного отсчета.
  • 5 групп функция напоминания о тревоге, hourlфункция звонка.
  • Двойное время.
  • Светодиодная подсветка.
  • Функция настройки сенсорного экрана.

B. Подсветка и разблокировка:

  • Нажмите клавишу D, чтобы зажечь светодиодную подсветку
  • Нажмите и удерживайте кнопку D в течение 3 секунд, чтобы разблокировать и войти в режим обычного времени.
  • Нажмите клавишу B, чтобы переключить режимы функций.

SKMEI 1602 Спортивные цифровые мужские часы - рис.

D. Установка времени и даты:

Мужские цифровые часы SKMEI 1602 Sport - установка времени и даты

  • В режиме обычного времени. Нажмите клавишу C, чтобы переключиться между 12-часовым/24-часовым режимом.
  • В обычном режиме времени нажмите и удерживайте кнопку A в течение 2 секунд, чтобы войти в режим установки времени, и секунда начнет мигать.
  • Нажмите клавишу B, чтобы переключить настройки
  • Нажмите клавишу C, чтобы увеличить значение, продолжайте нажимать клавишу C, чтобы быстро увеличить значение.
  • Нажмите клавишу A, чтобы выйти из настройки
    Примечание: автоматически блокируется через 1 минуту без использования ключа и отображает «блокировка».

E.Функция хронографа:

  • В режиме хронографа нажмите кнопку C, чтобы начать отсчет секунд, снова нажмите кнопку C, чтобы остановить отсчет секунд, и нажмите кнопку A, когда отсчет секунд остановится, чтобы вернуться к нулю.
  • В режиме хронографа нажмите клавишу C, чтобы начать отсчет времени, нажмите клавишу A, чтобы войти в функцию разделения, и символ (« ”). Нажмите клавишу A еще раз, чтобы получить запись первой группы, но вторая группа все еще обрабатывается в задней группе, снова нажмите клавишу A, чтобы продолжить вторую группу, снова нажмите клавишу A, чтобы прочитать запись второй группы…… Когда окончательная группа завершена, нажмите клавишу C, чтобы остановить функцию SPL, нажмите клавишу A, чтобы прочитать запись последней группы (SUM), снова нажмите клавишу C, чтобы очистить запись до нуля.
  • В режиме обратного отсчета нажмите клавишу A в течение 2 секунд, чтобы войти в режим обратного отсчета.
    1. Нажмите B, чтобы выбрать элемент настройки в следующем порядке:2. Нажмите клавишу C, чтобы настроить выбранный элемент.
    3. Нажмите клавишу для подтверждения и возврата к состоянию отображения обратного отсчета.
  • Нажмите клавишу C, чтобы начать/остановить обратный отсчет
  • Нажмите клавишу A, чтобы установить и сбросить режим обратного отсчета.
    Примечания: Когда время обратного отсчета истекло, предупреждающий сигнал будет звучать в течение 1 минуты, символ мигает; нажмите любую клавишу, чтобы прервать, и время обратного отсчета начнется заново. Он автоматически выйдет из состояния настройки без каких-либо операций с клавишами в течение одной минуты.
Настройка будильника:
  • Режим будильника, нажмите клавишу C, чтобы включить / выключить хоurlу звон ( )
  • Нажмите клавишу D, чтобы выбрать AL1-AL5.
  • Нажмите клавишу C, чтобы включить/выключить будильник (A)( )
  • Нажмите кнопку A в течение 2 секунд, чтобы установить время будильника.
  • Нажмите клавишу B, чтобы переключить настройки.
  • Нажмите клавишу C, чтобы настроить выбранный элемент
  • Нажмите клавишу A, чтобы выйти из настройки времени
    Примечания: 1: входит в состояние настройки будильника, будильник включается автоматически.
    2 : Когда время будильника истекло, звуковой сигнал тревоги будет звучать в течение 1 минуты.

H. Двойная настройка времени:

  • Двойной режим времени, нажмите клавишу A в течение 2 секунд, чтобы войти в настройку времени
  • Нажмите клавишу B, чтобы переключить настройки.
  • Нажмите клавишу C, чтобы настроить выбранный элемент
  • Нажмите клавишу A, чтобы выйти из настройки времени
    Примечания: установка двойного времени, установленного в 30-минутных единицах, не влияет на час.

Документы / Ресурсы

Похожие сообщения

Цифровые часы Skmei 1540

Цифровые часы Skmei 1540 Руководство по эксплуатации Функции Функциональная настройка времени / даты Режим будильника Секундомер Таймер обратного отсчета…

SKMEI 1667 Многофункциональные цифровые часы Функция кнопки часов и ЖК-дисплей Руководство по эксплуатации Отображение времени Дата по хиджре…

SKMEI 1100 ЦИФРОВЫЕ ЧАСЫ ИНСТРУКЦИИ ПО ЦИФРОВЫМ ЧАСАМ Четыре кнопки на этих часах называются: СВЕТ, РЕЖИМ, СБРОС,…

1155 Аналоговые цифровые мужские часы Инструкции 1155 Аналоговые цифровые мужские часы Особенности: 10-значный ЖК-дисплей Отображение часов…

Smael 1602 как подключить

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

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

Нам понадобится дополнительный модуль 1602 LCD конвертор в IIC/I2C. Он припаивается к нашему дисплею как видно на фото ниже.

И подключается к ардуине следующим образом

Arduino Mega Arduino Uno LCD i2c Цвет проводов на фото
GND GND GND Черный
5V 5V VCC Красный
20 (SDA) A4 SDA Коричневый
21(SCL) A5 SCL Белый

Этот способ подключения работает только со специально библиотекой, скачать библиотеку можно по ссылке (LiquidCrystal_I2C1602V1 Библиотека). Установите данную библиотеку.

Взаимодействие LCD 1602 с Ардуино. Описание, распиновка, подключение

Хотите, чтобы в ваших проектах Arduino отображались пользовательские сообщения или показания датчиков? Тогда для этих целей можно рекомендовать дисплей LCD 1602. Подобные дисплеи чрезвычайно распространены и представляют собой быстрый способ добавить читаемый интерфейс в какой-либо проект.

Эта статья охватит все, что необходимо знать, чтобы начать работу с LCD 1602. Да и не только с 1602 (16×2), но и любыми другими символьными ЖК-дисплеями (например, 16×4, 16×1, 20×4 и т. д.), основанными на контроллере параллельного интерфейса HD44780 от Hitachi.

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

Обзор LCD 1602

Эти ЖК-дисплеи идеально подходят для отображения только текста/символов, отсюда у них есть и другое название — «символьные ЖК-дисплеи». Дисплей имеет светодиодную подсветку и может отображать 32 символа в кодировке ASCII в двух рядах по 16 символов в каждом ряду.

Если вы посмотрите внимательно, вы можете увидеть маленькие прямоугольники для каждого символа на дисплее и пиксели, которые составляют символ. Каждый из этих прямоугольников представляет собой сетку 5 × 8 пикселей.

Хотя такие дисплеи отображают только текст, они бывают разных размеров и цветов: например, 16×1, 16×4, 20×4, с белым текстом на синем фоне, с черным текстом на зеленом и другие.

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

Распиновка 16х02 символов

Перед тем, приступить к сборке и написанию кода, давайте сначала взглянем на распиновку LCD 1602.

Распиновка 16х02 символов

  • GND должен быть подключен к земле Arduino.
  • VCC — это вывод питание для ЖК-дисплея, к которому мы подключаем 5-вольтовый контакт Arduino.
  • Vo (LCD Contrast) — вывод контролирует контрастность и яркость ЖК-дисплея. Используя простой делитель напряжения с потенциометром, мы можем точно отрегулировать контрастность.
  • RS (Register Select) — этот вывод позволяет Arduino сообщать ЖК-дисплею, отправляются команды или данные. В основном этот вывод используется для дифференциации команд от данных. Например, когда на выводе RS установлено значение LOW, мы отправляем команды на ЖК-дисплей (например, установить курсор в определенном месте, очистить дисплей, сдвинуть дисплей вправо и т. д.). Когда вывод RS установлено значение HIGH, мы отправляем данные/символы на ЖК-дисплей.
  • R/W (Read/Write) — вывод предназначен для контроля того, что необходимо сделать — считать данные или передать их на ЖК-дисплй. Поскольку мы просто используем этот ЖК-дисплей в качестве устройства вывода, то достаточно на этот вывод подать HIGH уровень, тем самым мы перейдем в режим записи.
  • EN (Enable) вывод используется для включения дисплея. Это означает, что когда на этом выводе установлено значение LOW ЖК-дисплей не реагирует на то, что происходит с R/W, RS и линиями шины данных. Когда же на этом выводе HIGH ЖК-дисплей обрабатывает входящие данные.
  • D0-D7 (Data Bus) — это выводы, по которым передаются 8-битные данные на дисплей. Например, если мы хотим отобразить символ «A» в верхнем регистре, мы отправляем на LCD дисплей 0100 0001 (в соответствии с таблицей ASCII) .
  • AK (Anode & Cathode) используются для управления подсветкой LCD дисплея.

Практика

Теперь мы переходим к интересным вещам. Давайте проверим ЖК-дисплей. Сначала подключим контакты 5В и GND от Arduino Uno к шинам электропитания макетной платы. Затем подключим LCD 1602. Данный LCD имеет две отдельные линии питания:

  1. Контакт 1 и контакт 2 для питания самого LCD 1602
  2. Контакт 15 и контакт 16 для подсветки LCD 1602

Подсоедините контакты 1 и 16 LCD на минус питания, а контакты 2 и 15 к + 5В.

Далее необходимо подключить контакт 3, который отвечает за контрастность и яркость дисплея. Для точной настройки контрастности необходимо подключить крайние выводы потенциометра сопротивлением 10 кОм к 5В и GND, а центральный контакт (бегунок) потенциометра к контакту 3 на LCD дисплея.

Регулировка контрастности ЖК-дисплея с помощью потенциометра

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

Подключение LCD 1602 к Arduino

Прежде чем мы приступим к загрузке скетча и отправке данных на дисплей, давайте подключим LCD 1602 к Arduino.

LCD дисплей имеет много контактов (16 контактов). Но, хорошая новость заключается в том, что не все эти контакты необходимы для нас, чтобы подключиться к Arduino.

Мы знаем, что есть 8 выводов данных, по которым передаются данные на дисплей. Но, ЖК-дисплеи на HD44780 разработаны таким образом, что мы можем общаться с ЖК-дисплеем, используя только 4 вывода данных (4-разрядный режим) вместо 8 (8-разрядный режим). Таким образом мы можем сэкономить 4 вывода Arduino!

Разница между 4-битным и 8-битным режимом

8-битный режим быстрее, чем 4-битный. Это связано с тем, что что в 8-битном режиме мы передаем данные за один раз. Однако в 4-битном режиме мы должны разделить байт на 2 части, сдвинуть один из них на 4 бита вправо и выполнить 2 операции записи.

Итак, 4-битный режим часто используется для экономии выводов микроконтроллера, а 8-битный режим лучше всего использовать, когда требуется высокая скорость в приложении и при этом доступно как минимум 10 выводов ввода/вывода микроконтроллера.

Итак, что мы будем работать с LCD дисплеем, используя 4-битный режим, и, следовательно, нам нужно только 6 контактов: RS, EN, D7, D6, D5 и D4.

Теперь давайте подключим ЖК-дисплей к Arduino. Четыре контакта данных (D4-D7) дисплея подключаем к цифровым контактам Arduino #4, #5, #6, #7. Вывод EN подключим к Arduino вывод #2, а вывод RS к выводу #1.

Подключение 16-символьного ЖК-дисплея к Arduino UNO

Подключение 16-символьного ЖК-дисплея к Arduino UNO

Скетч

Следующий тестовый скетч напечатает сообщение «Hello World!». Далее разберем его работу по подробнее.

Объяснение кода:

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

Далее мы должны создать объект LiquidCrystal. Этот объект использует 6 параметров и указывает, какие выводы Arduino подключены к выводам RS, EN и выводам данных: d4, d5, d6 и d7.

Читать:
Как разобрать переходник hdmi vga

Теперь, когда мы объявили объект LiquidCrystal, мы можем получить доступ к специальным методам (или функциям), специфичным для ЖК-дисплея.

В функции setup() мы будем использовать две функции: первая функция begin(). В ней указываются размер дисплея, т.е. количества столбцов и строк. Если вы используете 16 × 2 символьный ЖК-дисплей, укажите параметры 16 и 2, если вы используете ЖК-дисплей 20 × 4, укажите параметры 20 и 4.

Вторая функция clear() очищает экран и перемещает курсор в верхний левый угол.

В функции loop() мы используем функцию print(), выводящая сообщение, которое мы видим в первой строке экрана.

После этого мы переводим курсор на вторую строку, вызвав функцию setCursor(). Позиция курсора указывает место, где вам нужно отобразить новый текст на дисплее. Верхний левый угол считается col = 0, row = 0.

Другие полезные функции библиотеки LiquidCrystal

Есть несколько полезных функций, которые вы можете использовать с объектом LiquidCrystal. Немногие из них перечислены ниже:

  • Если вы просто хотите расположить курсор в верхнем левом углу дисплея без очистки дисплея, используйте home().
  • Существует много приложений, таких как turbo C++ или notepad ++, в которых нажатие клавиши «insert» на клавиатуре меняет курсор. Точно так же вы можете изменить курсор на ЖК-дисплее с помощью blink() или lcd.Cursor().
  • Функция blink() отображает мигающий блок размером 5 × 8 пикселей, а lcd.Cursor() подчеркивание (линия) на позиции, в которую будет записан следующий символ.
  • Вы можете использовать функцию noblink(), чтобы отключить мигающий курсор на дисплее и lcd.noCursor() чтобы скрыть курсор.
  • Вы можете прокрутить содержимое дисплея на один пробел вправо, используя lcd.scrollDisplayRight() или один пробел влево используя lcd.scrollDisplayLeft(). Если вы хотите непрерывно прокручивать текст, вам нужно использовать эти функции внутри цикла for.

Генерация пользовательских символов для LCD

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

Как мы уже обсуждали ранее в этом руководстве, символ на дисплее формируется в матрице 5×8 пикселей, поэтому вам нужно определить свой пользовательский символ в этой матрице. Для определения символа необходимо использовать функцию createChar() библиотеки LiquidCrystal.

Для использования createChar() сначала необходимо назначить массив из 8 байт. Каждый байт (учитывается только 5 бит) в массиве определяет одну строку символа в матрице 5×8. В то время как нули и единицы в байте указывают, какие пиксели в строке должны быть включены, а какие-выключены.

Генератор символов LCD

Создание собственного символа до сих пор было непросто! Поэтому было создано небольшое приложение под названием «Генератор пользовательских символов» для LCD.

Вы видите синюю сетку ниже? Вы можете нажать на любой из 5 × 8 пикселей, чтобы установить/очистить этот конкретный пиксель. И когда вы нажимаете на пиксели, код для символа генерируется рядом с сеткой. Этот код может быть непосредственно использован в вашем скетче Arduino.

Единственным ограничением является то, что библиотека LiquidCrystal поддерживает только восемь пользовательских символов.

Следующий скриншот демонстрирует, как вы можете использовать эти пользовательские символы на дисплее.

После включения библиотеки нам нужно инициализировать пользовательский массив из восьми байтов.

В настройках мы должны создать пользовательский символ, используя функцию createChar(). Эта функция принимает два параметра. Первый — это число от 0 до 7, чтобы зарезервировать один из 8 поддерживаемых пользовательских символов. Второй параметр — это имя массива байтов.

Далее в цикле для отображения пользовательского символа мы используем функцию write(), а в качестве параметра мы используем номер символа, который мы зарезервировали.

Подключение LCD 1602 по I2C интерфейсу

Подключение LCD 1602

LCD 1602 является широко распространенным и популярным дисплеем среди радиолюбителей, кроме этого, аналогичные дисплеи встраиваются в различные устройства серийного производства. Дисплей построен на базе контроллера HD44780 и его аналогах, широкая известность связана с его давним появлением на рынке, во времена стремительного развития электроники. В этой статье я расскажу про сопряжение интерфейса I2C и LCD 1602, с помощью микросхемы расширителя портов PCF8574.

В продаже имеется два типа дисплея, с зеленым экраном и темными символами (заказать можно здесь ), а также с синим экраном и светлыми символами (заказать можно тут ), как по мне, то светлый зеленый экран смотрится лучше.

Описание и команды управления LCD 1602

Дисплей содержит две строки, в каждой умещается по 16 символов, напряжение питания может находиться в пределах 4,5-5,5 В, ток потребления составляет 1,2 мА без учета подсветки, которая может потреблять значительный ток. Дисплей имеет достаточно много выводов, назначение которых приведено в следующей таблице:

Номер вывода Название Описание
1 Vss Вывод питания дисплея “-”
2 Vdd Вывод питания дисплея “+”
3 VO Вход регулировки контрастности дисплея
4 RS Вход выбора типа инструкций, 1 – данные, 0 – команда
5 R/W Вход направления передачи данных, 1 – запись данных в дисплей, 0 – чтение данных из дисплея
6 E Вход тактирования
7-14 DB0-DB7 Линии ввода/вывода данных
15 A Вывод питания подсветки “+”
16 K Вывод питания подсветки “-”

Вход VO предназначен для регулировки контрастности экрана, которая зависит от величины напряжения на входе, обычно для этих целей устанавливается переменный резистор сопротивлением 10-20 кОм, подключенный к линии питания. С помощью входов RS, R/W выбирается тип инструкций и направление передачи данных. Вход тактирования E предназначен для “защелкивания” (фиксации) состояний входов и линий ввода/вывода, ввод инструкций в контроллер дисплея, а также считывание данных происходит по спаду сигнала (задний фронт). Линии DB7-DB0 представляют собой 8-битный интерфейс ввода/вывода данных, за один период тактового импульса передается 1 байт данных. Выводы A и K представляют собой анод и катод светодиода подсветки, на плате дисплея установлен токоограничивающий резистор.

Ниже в таблице представлены команды для управления LCD 1602:

Описание инструкции Код инструкции Время выполнения
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 Очистка дисплея с установкой курсора в начало первой строки 0 0 0 0 0 0 0 0 0 1 1,53 мс
2 Установка курсора в начало первой строки 0 0 0 0 0 0 0 0 1 1,53 мс
3 Установка направления вывода символов, разрешение сдвига экрана 0 0 0 0 0 0 0 1 I/D SH 39 мкс
4 Управление режимом питания дисплея и отображением курсора 0 0 0 0 0 0 1 D C B 39 мкс
5 Команда сдвига курсора и экрана 0 0 0 0 0 1 S/C R/L 39 мкс
6 Настройка интерфейса ввода/вывода данных, количества строк для вывода символов, размера шрифта 0 0 0 0 1 DL N F 39 мкс
7 Запись адреса CGRAM памяти в адресный указатель 0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 39 мкс
8 Запись адреса DDRAM памяти в адресный указатель 0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 39 мкс
9 Команда чтения флага занятости и адресного указателя 0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 0 мкс
10 Запись данных во внутреннюю память дисплея 1 0 D7 D6 D5 D4 D3 D2 D1 D0 43 мкс
11 Чтение данных из внутренней памяти дисплея 1 1 D7 D6 D5 D4 D3 D2 D1 D0 43 мкс

Назначение битов представлено в следующей таблице:

Бит Значение Описание
I/D 0 Вывод символов справа-налево, декремент адресного указателя DDRAM/CGRAM памяти
1 Вывод символов слева-направо, инкремент адресного указателя DDRAM/CGRAM памяти
SH 0 Запрет сдвига экрана при выводе символов
1 Разрешение сдвига экрана при выводе символов
D 0 Выключить экран дисплея, сегменты погашены, содержимое внутренней памяти сохраняется
1 Включить экран дисплея, нормальный режим работы
C 0 Отключить отображение курсора
1 Включить отображение курсора
B 0 Отключить функцию мигания курсора
1 Включить функцию мигания курсора
S/C 0 Выбрать курсор для сдвига
1 Выбрать экран (вместе с курсором) для сдвига
R/L 0 Сдвиг влево (только курсор или весь экран, зависит от бита S/C)
1 Сдвиг вправо (только курсор или весь экран, зависит от бита S/C)
DL 0 4-битный интерфейс ввода/вывода данных
1 8-битный интерфейс ввода/вывода данных
N 0 Использовать одну строку для вывода символов
1 Задействовать 2 строки для вывода символов
F 0 Размер шрифта 5×8 пикселей
1 Размер шрифта 5×11 пикселей
BF 0 Контроллер дисплея готов к обработке новой команды
1 Контроллер дисплея занят выполнением внутренних операций

Дисплей можно подключить к микроконтроллеру используя все линии ввода/вывода, то есть через 8-битный интерфейс, но для этого потребуется значительное количество выводов микроконтроллера. Можно сократить количество выводов, если переключиться на 4-битный интерфейс (инструкция №6 из таблицы), в этом режиме задействованы линии ввода/вывода DB7-DB4, линии DB3-DB0 становятся неактивными. В этом случае 1 байт данных передается за два тактовых импульса, сначала старшие 4 бита, затем младшие.

Каждая инструкция выполняется определенное время, которое указано в вышеприведенной таблице, завершение внутренней операции можно узнать с помощью чтения флага занятости BF (инструкция №9). Но обычно флаг не опрашивают, а просто выдерживают соответствующую паузу после передачи инструкции. Вообще чтение данных из дисплея применяется редко, и не представляет особого интереса.

Внутренняя память LCD 1602 подразделяется на 3 вида: DDRAM, CGROM и CGRAM. Область DDRAM (Display Data RAM) памяти используется для хранения 8-битного кода ASCII символов, отображаемых на экране. Адреса регистров DDRAM памяти связаны с положением символов на экране, соответствие приведено в следующей таблице:

Адреса ячеек
1-я строка 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
2-я строка 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F

На каждой строке экрана умещается 16 символов, но это только видимая область, общий объем DDRAM памяти составляет 80 байт, то есть в каждую строку можно записать по 40 символов, и только 16 из них будут отображаться на экране, остальные символы останутся в невидимой области. С помощью команды сдвига экрана (инструкция №5) можно просмотреть все остальные символы, наподобие эффекта бегущей строки. Регистры с адресами 0x00-0x27 составляют первую строку, ячейки 0x40-0x67 вторую строку. Если задать только одну строку для вывода (бит N=0 в инструкции №6, при этом будет использована 1-я строка), то длина строки увеличиться, и будет вмещать 80 символов.

LCD 1602 таблица символов

Память CGROM (Character Generator ROM) представляет собой знакогенератор и содержит данные для прорисовки ASCII символов. В памяти заложены спецзнаки, цифры, латинский алфавит, если не ошибаюсь, имеются китайские иероглифы, а также символы греческого алфавита, которые используются для обозначения физических величин. Каждый символ занимает 5 байт в памяти, что соответствует размеру шрифта 5×8 пикселей. На следующей картинке представлена таблица символов в соответствии с ASCII кодами:

Кириллица в LCD 1602 не заложена, что не удивительно, ведь это китайский дисплей, но существуют аналогичные отечественные дисплеи фирмы МЭЛТ с поддержкой русского алфавита.

Для вывода символа необходимо записать адрес регистра DDRAM памяти в адресный указатель (инструкция №8), тем самым выбрав положение символа на экране, затем записать в выбранный регистр код ASCII символа (инструкция №10), исходя из полученного кода, контроллер дисплея извлекает данные из CGROM памяти для прорисовки символа в заданном положении на экране. После вывода символа, адресный указатель автоматически инкрементируется или декрементируется, в зависимости от того, какое значение было задано биту направления I/D. Таким образом, символы можно выводить последовательно, при этом корректировка адреса DDRAM памяти не требуется. Например, если первая строка полностью заполнится символами, то произойдет переход на вторую строку, и наоборот.

LCD 1602 CGRAM память

Энергонезависимая память CGRAM (Character Generator RAM) предназначена для создания уникальных символов под нужды разработчика. Объем памяти небольшой, и позволяет хранить 8 произвольных символов. Для создания одного символа размером 5×8 пикселей, необходимо передать 8 байт данных в регистры памяти. На картинке ниже изображена структура CGRAM памяти и пример расположения символов:

Перед созданием символа необходимо записать адрес регистра CGRAM памяти в адресный указатель (инструкция №8), далее передать байты данных, которые составят изображение символа (инструкция №10), адресный указатель автоматически инкрементируется/декрементируется (в зависимости от бита I/D), как и в случае DDRAM памяти. В создании символа участвуют только 5 младших битов байта данных. Символам присваиваются коды 0x00-0x07 в соответствии с их расположением в памяти CGRAM, они отображены в ранее приведенной таблице символов.

Инициализация LCD 1602

Инициализация LCD 1602

После подачи питания необходимо провести инициализацию дисплея для корректного функционирования, в этой статье я не стану рассматривать 8-битный интерфейс передачи данных, так как все операции с LCD 1602 по I2C интерфейсу выполняются в 4-битном режиме. Порядок инструкций для инициализации представлен на следующей картинке:

После инициализации дисплей настроен на использование 2-х строк, экран очищен от мусора, курсор установлен в начало первой строки (адрес DDRAM памяти 0x00), отображение курсора отключено, выбран шрифт 5×8 пикселей, направление вывода символов слева-направо, сдвиг экрана при выводе символов запрещен.

Если разрешить сдвиг экрана при выводе символов (бит SH=1), то с каждым новым символом экран будет сдвигаться в выбранном направлении, то есть новые символы будут появляться в заданном положении на экране, а остальные сдвигаться.

Дополнительно на экране можно включить отображение курсора (бит C=1), который выглядит в виде линии подчеркивания, и может мигать в зависимости от настроек. Положение курсора на экране соответствует текущему адресу DDRAM памяти в адресном указателе. Курсор можно сдвигать по экрану (инструкция №5), при этом адресный указатель будет инкрементироваться/декрементироваться в зависимости от направления сдвига.

Подключение LCD 1602 через I2C интерфейс

Модуль PCF8574 I2C

Специально для дисплея, в продаже имеется модуль-переходник на основе микросхемы PCF8574AT, которая предназначена для расширения количества линий ввода/вывода. Микросхема подключается по I2C интерфейсу и имеет порт из 8 линий ввода/вывода, принцип функционирования простой, при записи байта данных в микросхему, линии порта принимают уровни, соответствующие значениям битов полученного байта. Операция чтения возвращает байт данных, биты которого указывают состояние линий порта. Таким образом, микросхема позволяет расширить количество линий ввода/вывода, используя два управляющих провода. Фото модуля представлено ниже:

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

Подключение LCD 1602 по I2C интерфейсу

На следующей картинке приведена схема подключения LCD 1602 и I2C модуля:

Адрес микросхемы PCF8574AT на шине I2C можно настраивать, старшие 4 бита адреса фиксированы, и равны 0111, младшие 3 бита зависят от состояния входов микросхемы A2-A0. На модуле данные входы подтянуты к высокому уровню, соответственно адрес микросхемы принимает значение 0111111.

Передача данных LCD 1602 через PCF8574

Как видно из схемы, к микросхеме подключена только часть линий ввода/вывода дисплея DB7-DB4, это означает, что управление дисплеем возможно только через 4-битный интерфейс. Для ввода инструкции в дисплей требуется 2 тактовых импульса на линии E, то есть последовательность уровней 1010 (“защелкивание” данных происходит по спаду уровня), в итоге необходимо записать в микросхему 4 байта для одной инструкции. На картинке ниже приведен пример записи инструкции в дисплей по интерфейсу I2C:

Сначала передается старший полубайт инструкции с битом E=1, затем то же самое с битом E=0, при этом в дисплей передается первая половина инструкции. Далее таким же образом передается вторая половина (младший полубайт).

Для управления подсветкой дисплея, на плате модуля установлен транзистор, подключенный к линии P3 микросхемы. Таким образом, 3-й бит в байте данных управляет подсветкой, 0 – выключена, 1 – включена. При отсутствии джампера (о котором я писал выше) подсветка отключается, независимо от бита управления.

Схема подключения LCD 1602 по интерфейсу I2C

Я подключил дисплей с модулем к микроконтроллеру PIC16F628A, схема представлена ниже:

Кнопка SB1 управляет подсветкой дисплея, светодиод HL1 загорается в случае ошибки передачи данных. Неполный код программы приведен ниже (полную версию можно скачать в конце статьи):

Похожие публикации