Giter VIP home page Giter VIP logo

liquidcrystal_i2c_menu's Introduction

LiquidCrystal_I2C_Menu

LiquidCrystal_I2C_Menu - это библиотека для создания пользовательского интерфейса на Ардуино и текстовом ЖК дисплее с I2C интерфейсом. Библиотека предоставляет функционал для форматированного вывода, ввода и выбора значений, организации меню. Управление осуществляется с помощью энкодера вращения с кнопкой.

Подключение

LiquidCrystal_I2C_Menu Подключение

Управление кнопками

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

Функции

Наряду со стандартными функциями, унаследованными из библиотеки LiquidCrystal_I2C, в данной библиотеке реализованы следующие:

  • printAt(x, y, text) – вывод текста на дисплей с указанной позиции.
  • printf(format, …) – форматированный вывод текста. Действуют те же правила, что и в других функциях форматированного вывода, например, sprintf.
  • printfAt(x, y, format, …) – форматированный вывод с указанной позиции.
  • attachEncoder(pinA, pinB, pinBtn) – сообщает библиотеке, к каким выводам Ардуино подключен энкодер.
  • getEncoderState() – опрос состояния энкодера. Возвращает значение типа eEncoderState (перечисляемый тип, описан в библиотеке как {eNone, eLeft, eRight, eButton}).
  • printMultiline(text) – вывод длинного текста с возможностью вертикальной прокрутки. Возврат из функции осуществляется при нажатии кнопки энкодера.
  • inputVal(title, min, max, default, [step], [onChangeFunc]) – ввод числового значения. title – заголовок; параметры min и max задают диапазон, в котором может изменяться значение; default – начальное значение; step – величина приращения, по умолчанию равна 1; необязательный параметр onChangeFunc - указатель на функцию, которая должна вызываться при изменении значения.
  • inputValAt(x, y, min, max, default, [step], [onChangeFunc]) – аналогична функции inputVal, но в отличие от нее не очищает дисплей при вызове и ввод значения осуществляется с указанной позиции.
  • inputValBitwise(title, value, precision, [scale], [signed]) – позволяет вводить значения путем редактирования отдельных разрядов числа. Параметр title определяет заголовок; value – ссылка на переменную, в которую будет помещен результат ввода; precision – общее количество разрядов в числе; scale – количество разрядов после запятой, значение по умолчанию 0; signed – разрешает (при значении true) или запрещает (при значении false – по умолчанию) ввод отрицательных чисел. Функция возвращает true, если пользователь подтвердил ввод, false, если отказался.
  • inputStrVal(title, buffer, length, available_symbols) – аналогично функции inputValBitwise предоставляет возможность поразрядного ввода, но кроме цифр могут быть введены и другие символы. Параметр title определяет заголовок; buffer – ссылка на символьный буфер, в который будет помещен результат ввода; length – количество вводимых символов; параметр available_symbols – это строка символов, доступных для ввода. Функция возвращает true, если пользователь подтвердил ввод, false, если отказался.
  • selectVal(title, list_of_values, count, [show_selected], [selected_index]) – позволяет выбрать значение из списка list и возвращает индекс выбранного элемента. title – отображаемый на дисплее заголовок; list – список значений для выбора, представляет собой массив значений типа char*, String или int; count – количество элементов в массиве; show_selected - флаг отображения метки на выбранном элементе; selected_index – индекс выбранного по умолчанию элемента.
  • showMenu(menu, menu_length, show_title) – отображает меню и возвращает ключ выбранного элемента. menu – массив элементов типа sMenuItem; menu_length – длина меню; show_title – признак необходимости отображения заголовка.
  • getSelectedMenuItem() – возвращает ключ выбранного пункта меню для использования внутри обработчиков.
  • attachIdleFunc(IdleFunc) – позволяет привязать функцию, которая будет вызываться библиотекой при бездействии.

Поддержка дисплеев с кириллицей

Для включения поддержки дисплеев с кириллицей необходимо в файле LiquidCrystal_I2C_Menu.h раскомментировать строку #define CYRILLIC_DISPLAY. После этого станет возможным использование русского текста в меню и других функциях библиотеки.

Более подробно

Более подробную информацию о библиотеке и её функциях вы найдете здесь: https://tsibrov.blogspot.com/2020/09/LiquidCrystal-I2C-Menu.html

liquidcrystal_i2c_menu's People

Contributors

vladimirtsibrov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

liquidcrystal_i2c_menu's Issues

Please help me use inputValBitwise

Hello
Currently I want to use STM32F103RCT6 on your library and combine with LCD20x4 is there support
And I want to use inputValBitwise to generate multiple integer and decimal values on LCD20x4 for example
Row number 1 is 0.0
Number 2 is 0.00
Row number 3 is 00.00
row number 4 is 000.00
The purpose i want to display multiple rows with integers and decimals like that for example i want to control the values of stepper motor according to different values i can set those values and other values that can be changed.
So on your library is it possible to do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.