Оглавление:

Использование более старых модулей VFD Noritake Itron: 7 шагов
Использование более старых модулей VFD Noritake Itron: 7 шагов

Видео: Использование более старых модулей VFD Noritake Itron: 7 шагов

Видео: Использование более старых модулей VFD Noritake Itron: 7 шагов
Видео: Текстовые Часы на огромном газоразрядном дисплее! 2024, Июль
Anonim
Использование более старых модулей VFD Noritake Itron
Использование более старых модулей VFD Noritake Itron
Использование более старых модулей VFD Noritake Itron
Использование более старых модулей VFD Noritake Itron
Использование более старых модулей VFD Noritake Itron
Использование более старых модулей VFD Noritake Itron

Время от времени вы сталкиваетесь с интересными деталями на ebay, от друзей или просто в магазинах подержанных вещей. Одним из примеров этого был огромный вакуумно-флуоресцентный дисплей Noritake Itron 40 x 2, выпущенный в 1994 году (или ранее), который был передан клиенту.

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

Шаг 1:

Изображение
Изображение

Скорость передачи последовательного интерфейса определяется перемычками на печатной плате.

Шаг 2:

Изображение
Изображение

Таким образом, сравнение приведенной выше таблицы с перемычками на нашем модуле дает нам скорость передачи данных 19200 бит / с без четности. Отлично - мы можем легко создать такое соединение с микроконтроллером с последовательным выходом и логическими уровнями 5В; для наших примеров мы будем использовать Arduino-совместимую плату.

Шаг 3:

Подключить VFD просто - посмотрите на белые перемычки с меткой CN2, как показано ранее. Контакт 1 составляет 5 В (вам нужен внешний источник питания, который может обеспечивать до 700 мА), контакт 2 - цифровой контакт 7 Arduino, а контакт 3 - Arduino и GND источника питания.

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

// Работа с модулями VFD Noritake Itron - модель CU40026SCPB-T20A #include SoftwareSerial VFD (6, 7); // RX, TX

установка void ()

{VFD.begin (19200); }

пустой цикл ()

{VFD.print ("Привет, мир. Это ЧРП Noritake"); // Вы можете выдавать текст do {} while (1); }

Шаг 4:

Изображение
Изображение

Что приводит к следующему…

Шаг 5:

Изображение
Изображение

Если вам не нравится цвет или яркость изображения, попробуйте немного Perspex поверх - например …

Шаг 6: Управление дисплеем

На этом этапе вам понадобится технический паспорт. Как вы видели ранее, писать текст очень просто - просто используйте функции.print. Однако вы можете захотеть отправить отдельные символы, а также специальные команды для управления аспектами отображения. Они указаны в таблице данных - см. Таблицы «Программные команды» и «Символьные шрифты».

Если вам нужно отправить отдельные команды - например, «очистить дисплей», который равен 0x0E, используйте команду.write, например:

VFD.write (0x0E); // очистить дисплей

Некоторые команды имеют формат управляющих кодов (помните их?), Поэтому вам нужно отправить ESC, а затем следующий байт, например, чтобы изменить яркость на 50%:

VFD.write (0x1B); // ESC VFD.write (0x4C); // яркость VFD.write (0x40); // 50% яркости

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

Шаг 7: Собираем все вместе

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

// Работа с модулями VFD Noritake Itron - модель CU40026SCPB-T20A // John Boxall 2013

#включают

SoftwareSerial VFD (6, 7); // rx, tx

установка void ()

{VFD.begin (19200); // установить скорость программного последовательного порта resetVFD (); VFDclearsceen (); // VFD.write (0x12); // режим вертикальной прокрутки (включен)}

недействительным resetVFD ()

// выполняет программный сброс контроллера VFD {VFD.write (0x1B); // ESC VFD.write (0x49); // сброс программного обеспечения}

void VFDnewline ()

// перемещает курсор в начало следующей строки {VFD.write (0x0D); // возврат каретки VFD.write (0x0A); // перевод строки}

void VFDclearsceen ()

// перемещает курсор в верхний левый угол и очищает дисплей {VFD.write (0x0E); // очистить дисплей VFD.write (0x0C); // подача формы - курсор в верхний левый угол}

void VFDbrightness (целое количество)

// устанавливает яркость VFD - 25/50/75/100% // использует последовательности ESC {switch (amount) {case 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // яркость VFD.print (0); // 25% перерыв яркости; case 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // яркость VFD.write (0x40); // 50% яркости; case 75: VFD.write (0x1B); // ESC VFD.write (0x4C); // яркость VFD.write (0x80); // 75% перерыв яркости; case 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // яркость VFD.write (0xC0); // 100% яркость}}

void VFDchars ()

// пробегаем символы для выбранного шрифта {for (int i = 21; i <256; i ++) {VFD.write (0x16); // подчеркивание курсора вне VFD.write (i); задержка (100); }}

void moveCursor (позиция в байтах)

// перемещает курсор - верхняя строка 0 ~ 39, нижняя строка 40 ~ 79 // режим вертикальной прокрутки должен быть отключен, если используется {VFD.write (0x1B); // ESC VFD.write (0x48); // перемещаем курсор VFD.write (position); // место нахождения }

пустой цикл ()

{VFD.write (0x16); // подчеркивание курсора вне VFD.print ("Hello, world - line one."); // Вы можете выдать текст delay (1000); VFDnewline (); VFD.print ("Привет, мир - строка вторая."); задержка (1000); VFDclearsceen (); VFDbrightness (25); VFD.print («*** яркость 25% ***»); задержка (1000); VFDclearsceen (); VFDbrightness (50); VFD.print («*** яркость 50% ***»); задержка (1000); VFDclearsceen (); VFDbrightness (75); VFD.print («*** яркость 75% ***»); задержка (1000); VFDclearsceen (); VFDbrightness (100); VFD.print («*** 100% яркость ***»); задержка (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

для (int я = 0; я <80; я ++) {VFD.write (0x16); // подчеркивание курсора за пределами moveCursor (i); VFD.print ("X"); задержка (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Мы надеемся, что вы нашли это интересным и полезным.

Этот пост предоставлен pmdway.com - все для производителей и любителей электроники с бесплатной доставкой по всему миру.

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