Четырёхразрядный индикатор (Trema-модуль)

Сетырёхразрядный LED индикатор

Четырёхразрядный LED индикатор (Trema-модуль) - позволяет выводить: числа (целые, дробные, отрицательные), время, температуру, текст и т.д.

Общие сведения:

Модуль построен на базе чипа TM1637 и четырехразрядного индикатора. Он позволяет регулировать яркость свечения, выводить числа (целые, дробные, положительные, отрицательные) и символы ("abcdefghijlnopstu .,:;*-_").

Спецификация:

  • Напряжение питания Vcc: 5 В ±10%
  • Уровень логической «1» на входе: > 0,7 Vcc
  • Уровень логического «0» на входе: < 0,3 В
  • Потребляемый ток: < 60 мА, при Vcc = 5В, все сегменты включены на максимальной яркости
  • Потребляемый ток: < 200 мкА, при Vcc = 5В, все сегменты выключены
  • Цвет сегментов: красный
  • Рабочая температура: -40 ... 85 °С
  • Габариты: 65х30х13 мм (без учёта колодки выводов)
  • Вес: 20 г

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

Модуль подключается по двум проводам, к любым цифровым или аналоговым выводам arduino.
Номера выводов указываются при объявлении объекта библиотеки: iarduino_4LED ОБЪЕКТ( CLK , DIO );

Работа с модулем:

Для работы с модулем, нужно установить библиотеку iarduino_4LED, она позволяет выводить числа, время, температуру и текст.

Примеры:

Вывод на индикатор времени, прошедшего с начала старта скетча:
iarduino_4LED dispLED(A5,A4);  //  объявляем объект для работы с функциями библиотеки iarduino_4LED, с указанием выводов дисплея ( CLK , DIO )
float i;                       //  объявляем переменную для хранения числа секунд прошедших с момента старта скетча
void setup(){
  dispLED.begin();             //  инициируем LED дисплей
}
void loop(){
  i=(float) millis()/1000;     //  получаем время в секундах с момента старта скетча в виде числа с плавающей точкой
  dispLED.print( i, 2);        //  выводим число с двумя знаками после запятой.
}

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

Описание функций библиотеки, для работы с LED индикатором:

Подключение библиотеки:
#include <iarduino_4LED.h>                     // подключаем библиотеку iarduino_4LED
iarduino_4LED dispLED( ВЫВОД_CLK, ВЫВОД_DIO ); // объявляем объект dispLED с указанием выводов подключённых к ( CLK , DIO )
Функция begin();
  • Назначение: Инициализация индикатора
  • Синтаксис: begin();
  • Параметры: Нет.
  • Возвращаемые значения: Нет.
  • Примечание: Необязательная функция (она очищает дисплей и устанавливает среднюю яркость). Вызывается 1 раз в коде setup.
  • Пример:
dispLED.begin(); // Инициируем работу с LED индикатором
Функция clear();
  • Назначение: очистка индикатора
  • Синтаксис: clear();
  • Параметры: Нет.
  • Возвращаемые значения: Нет.
  • Пример:
dispLED.clear(); // Чистим LED индикатор (все диоды выключатся)
Функция light();
  • Назначение: Установка яркости свечения индикатора.
  • Синтаксис: light ( ЧИСЛО );
  • Параметры:
    • ЧИСЛО - целое число, определяющее яркость, от 0 (слабое свечение) до 5 (максимальная яркость).
  • Возвращаемые значения: Нет.
  • Примечание: Если не вызывать функцию begin(), то яркость = 0.
  • Пример:
dispLED.light(5); // Устанавливаем максимальную яркость свечения LED индикатора
Функция point();
  • Назначение: Установка точек.
  • Синтаксис: point ( ПОЗИЦИЯ , СОСТОЯНИЕ );
  • Параметры:
    • ПОЗИЦИЯ - целое число, указывающее позицию точки: 1, 2, 3, 4 или 0 для двоеточия.
    • СОСТОЯНИЕ - bool, 0 (выключить) или 1 (включить).
  • Возвращаемые значения: Нет.
  • Примечание:
    • Если первый параметр ПОЗИЦИЯ больше 4, то ЗНАЧЕНИЕ применится ко всем точкам и двоеточию индикатора.
    • Функция управляет только точками и не влияет на ранее установленные цифры.
  • Пример:
dispLED.point(0, true);  // Включаем двоеточие     (светится только двоеточие)
dispLED.point(1, true);  // Включаем первую точку  (светится и двоеточие и самая левая точка)
dispLED.point(0, false); // Выключаем двоеточие    (светится только самая левая точка)
Функция setLED();
  • Назначение: Установка светодиодов (сегментов) индикатора по битам.
  • Синтаксис: setLED ( [[[[[ БАЙТ_№1 ] , БАЙТ_№2 ] , БАЙТ_№3 ] , БАЙТ_№4 ] , ФЛАГ ] );
  • Параметры:
    • БАЙТ_№1 - каждый бит этого байта включает свой светодиод (сегмент) в 1 разряде.
    • БАЙТ_№2 - каждый бит этого байта включает свой светодиод (сегмент) в 2 разряде.
    • БАЙТ_№3 - каждый бит этого байта включает свой светодиод (сегмент) в 3 разряде.
    • БАЙТ_№4 - каждый бит этого байта включает свой светодиод (сегмент) в 4 разряде.
    • ФЛАГ - включает двоеточие.
  • Возвращаемые значения: Нет.
  • Примечание:
    • Каждый бит байта соответствует одному светодиоду (сегменту) в следующем порядке: hgfedcba (старший бит управляет сегментом «h», а младший бит управляет сегментом «a»).
    • Все параметры являются необязательными, отсутствие параметра означает что все светодиоды (сегменты) в данном разряде будут выключены.
  • Пример:
dispLED.setLED(B00000110, B01100011);  // В 1 разряде включены сегменты «c» и «b» (как у цифры 1), а во 2 разряде включены сегменты «g»«f»«b»«a» (как у символа градуса), остальные разряды выключены
Функция print();
  • Назначение: Вывод числа, массива чисел, текста, времени или температуры.
  • Синтаксис: print ( ЗНАЧЕНИЕ , ПАРАМЕТРЫ_ВЫВОДА_ЧИСЛА );
  • Параметры:
    • ЗНАЧЕНИЕ - то, что требуется вывести на индикатор, это может быть:
      • Целое число (как положительное, так и отрицательное).
      • Дробное число (как положительное, так и отрицательное).
      • Массив (из 4 положительных целых чисел, от 0 до 9)
      • Текст (из следующих символов "0123456789 abcdefghijlnopstu .,:;*-_")
    • ПАРАМЕТРЫ_ВЫВОДА_ЧИСЛА - допускается указывать от 0 до 5 параметров:
      • LEN1, LEN2, LEN3 или LEN4 - количество символов в выводимом числе (включая знак минус).
      • POS1, POS2, POS3 или POS4 - позиция от левого края, к которой привязывается выводимое число.
      • LEFT или RIGHT - направление вывода относительно указанной позиции.
      • DEC или HEX - система счисления для выводимого числа.
      • TIME или TEMP - отображение чисел в виде времени или числа в виде температуры.
      • символ типа char - для заполнения им недостающих разрядов
  • Возвращаемые значения: Нет.
  • Примечание:
    • Параметры указываются только если значением является число (целое или с плавающей точкой).
    • Если первым параметром (после значения) указать число, то оно будет означать количество выводимых разрядов после запятой.
  • Примеры:
dispLED.print( 12345.6789 , 2 , POS1 , LEN3 , RIGHT ); // число 12345.6789 будет выведено как 5.67
Вывод без форматирования:
dispLED.print( 1 ); // Вывод целого числа 1.
dispLED.print( 3.45 ); // Вывод дробного числа 3.45 (по умолчанию выводится 1 знак после запятой)
dispLED.print( -12 ); // Вывод отрицательного целого числа -12.
dispLED.print( -3.45 ); // Вывод отрицательного дробного числа -3.45
dispLED.print( 250 , HEX ); // Вывод числа 250 в шестнадцатиричной системе счисления
int a[4]={0,3,6,9}; dispLED.print( a ); // Вывод массива из 4 положительных цифр от 0 до 9
dispLED.print( 23 , TEMP ); // Вывод температуры
dispLED.print( 23.6 , TEMP ); // Вывод температуры
dispLED.print( 4 , 5 , TIME ); // Вывод времени
dispLED.print( "67" ); // Вывод текста
dispLED.print( "OFF" ); // Вывод текста из букв латинского алфавита
dispLED.print( "8:9" ); // Вывод текста с двоеточием
Вывод чисел с указанием количества знаков после запятой:
dispLED.print( 1 , 2 ); // Вывод целого числа 1 с 2 знаками после запятой
dispLED.print( -2 , 1 ); // Вывод отрицательного целого числа -2 с 1 знаком после запятой
dispLED.print( 3.45 , 2 ); // Вывод дробного числа 3.45 с 2 знаками после запятой
dispLED.print( -3.45 , 0 ); // Вывод отрицательного дробного числа -3.45 без знаков после запятой
Вывод чисел с указанием их размерности:
dispLED.print( 1 , LEN2 ); // Вывод целого числа 1 в 2 разрядах
dispLED.print( -1 , LEN3 ); // Вывод отрицательного целого числа -1 в 3 разрядах
dispLED.print( 2.3 , LEN3 ); // Вывод дробного числа 2.3 в 3 разрядах
dispLED.print( -4.567 , 1 , LEN4 ); // Вывод дробного числа -4.567 в 4 разрядах , с 1 знаком после запятой
dispLED.print( 8901 , LEN1 ); // Вывод целого числа 8901 в 1 разряде
dispLED.print( 7 , LEN3 , '-' ); // Вывод числа 7 в 3 разрядах, с заполнением пустых разрядов символом '-'
Указание направления сдвига чисел:
dispLED.print( 1 , RIGHT ); // Вывод целого числа 1 со сдвигом вправо от старшего разряда
dispLED.print( 12 , RIGHT ); // Вывод целого числа 12 со сдвигом вправо от старшего разряда
dispLED.print( 12.3 , RIGHT ); // Вывод дробного числа 12.3 со сдвигом вправо от старшего разряда
dispLED.print( 1 , LEFT ); // Вывод целого числа 1 со сдвигом влево (по умолчанию) от младшего разряда
dispLED.print( 12 , LEFT ); // Вывод целого числа 12 со сдвигом влево (по умолчанию) от младшего разряда
dispLED.print( 12.3 , LEFT ); // Вывод дробного числа 12.3 со сдвигом влево (по умолчанию) от младшего разряда
Вывод чисел с привязкой к определённой позиции от левого края:
dispLED.print( 74 , POS4 ); // Вывод целого числа 74 со сдвигом влево от 4 позиции
dispLED.print( 74 , POS3 ); // Вывод целого числа 74 со сдвигом влево от 3 позиции
dispLED.print( 74 , POS2 ); // Вывод целого числа 74 со сдвигом влево от 2 позиции
dispLED.print( 74 , POS1 ); // Вывод целого числа 74 со сдвигом влево от 1 позиции
dispLED.print( 74 , POS4 , RIGHT ); // Вывод целого числа 74 со сдвигом вправо от 4 позиции
dispLED.print( 74 , POS3 , RIGHT ); // Вывод целого числа 74 со сдвигом вправо от 3 позиции
dispLED.print( 74 , POS2 , RIGHT ); // Вывод целого числа 74 со сдвигом вправо от позиции
dispLED.print( 74 , POS1 , RIGHT ); // Вывод целого числа 74 со сдвигом вправо от 1 позиции
Параметры вывода числа можно комбинировать в любой последовательности:

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

dispLED.print( 12345.6789 , 2 , POS1 , LEN3 , RIGHT );
// Вывод дробного числа 12345.6789
// выводить 2 знака после запятой
// POS1 - число вывести на дисплей начиная с 1 позиции от левого края
// LEN3 - размерность выводимого числа 3 разряда
// RIGHT - число сдвигать вправо от указанной позиции.

Применение:

  • Вывод небольших чисел: время, температура, скорость, позиция и т.д.

Ссылки:

Обсуждение

Присоединяйся

На главную