Вакуумно-люминесцентный индикатор (ВЛИ), или катодолюминесцентный индикатор (КЛИ) (vacuum fluorescent display (VFD) — электровакуумный прибор, элемент индикации, работающий по принципу электронной лампы.
ВЛИ могут быть сегментными, матричными, мнемоническими, комбинированными.
Вакуумно-люминесцентный индикатор представляет собой электровакуумный триод прямого накала с множеством покрытых люминофором анодов. Параметры лампы подобраны таким образом, чтобы она могла работать при низких анодных напряжениях — от 9 до 27 В.
VFD-дисплей FUTABA M202MD10D может отображать ASCII символs в 2 строки (20 знаков в 1 строке) каждый символ в виде матрицы 5х7 пикселей. Напряжение питания VFD-дисплея 5 В, но некоторые модели аналогичных дисплеев могут иметь питание от 5 до 15 В.
Управление VFD-дисплея осуществляется при помощи интерфейса UART, для этого используется библиотека SoftwareSerial позволяет реализовать последовательный интерфейс на любых других цифровых выводах Arduino с помощью программных средств, дублирующих функциональность UART. Библиотека позволяет программно создавать несколько последовательных портов, работающих на скорости до 115200 бод. Для устройств, работающих с инвертированным сигналом, в библиотеке предусмотрен соответствующий параметр, включающий инвертирование.
К сожалению мне не удалось найти документацию на VFD-дисплей FUTABA M202MD10D, поэтому часть информации взята с похожего VFD-дисплея.
Управление дисплеем состоит очень простое и состоит из нескольких регистров:
Ниже показан скетч демонстрирующий работу дисплея - http://rcl-radio.ru/?p=131325#:~:text=%23include%20%3CSoftwareSerial.h,addr)%3B%0A%20%C2%A0%7D
В скетче используются несколько основных функций:
- VFD_reset() — рестарт, очистка дисплея
- VFD_clear() — очистка дисплея (функция не поддерживается M202MD10D)
- VFD_cursor(0,0) — устанавливает курсор в позицию (0 столбец, 0 строка)
- VFD_print_str() — вывод String
- VFD_print_num() — вывод числа long, int, byte
- VFD_print_float() — вывод числа float
- VFD_brig() — задает яркость дисплея (0-5) (функция не поддерживается M202MD10D)
- VFD_character() — вывод пользовательских символов, доступны адреса 0X15-0X1E
Вывод пользовательских символов имеет свою особенность в данном дисплее, одно знакоместо представляет собой матрицу 5х7 пикселей. В дисплеях LCD1602 для этого используется 8 байт по 5 бит (5х8 пикселей), но в дисплее M202MD10D (и аналогичных) для вывода пользовательского символа используется 5 байт по 8 бит, поэтому каждый байт (8 пикселей) содержит несколько (полных и неполных) строк.
Я не указываю распиновку подключения дисплея, она может отличаться у разных моделей, но она достаточно проста, это +5 В, GND, RX и TX.
При подключении дисплея учитывайте что ток потребления может достигать 1,3 А, поэтому питание платы Arduino и дисплея должны быть разделенными.