РадиоКот :: Бегущая стрка - Информационное табло
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: Добавить тег

Бегущая стрка - Информационное табло

Автор: Астапов Константин
Опубликовано 15.09.2012
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2012!"

Поздравляю Кота с днём рождения!

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

Характеристки:

  • 8 эффектов для управления отображением информации
  • Дисплей переменной длины(настраивается с ПК), максимальный размер - 8x160 точек.
  • Два типа шрифта - обычный 5x8 и жирный 7x8.
  • Знакогенератор: 2 языка + дополнительные символы.
  • Наличие всторенных часов реального времени, датчиков температуры, атмосферного давления, влажности.
  • Возможность динамического или статического отображения информации с датчиков или часов.
  • USB интерфейс с ПК.
  • Объём встроенной EEPROM памяти для программы вывода изображения - 16 Кбит.
  • Напряжене питания: 7-12V
  • Потребляемый ток: ~2А


Видео демонстрации работы

  Демонстрация работы

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

Схема устройства 

Итак, перейдём к схеме устройства. Вся конструкция разбита на три блока: блок управления, блок индикации, модуль USB-RS232 конвертера. Рассмотрим всё по порядку.

Блок управления

В сущности, схема каких либо нюансов или особенностей не имеет, так что опишу лишь назначение отдельных разъёмов и элементов индикации. Начнём с разъёмов:

  • JP1, JP2 - к разъёмам X5, X6 блока индикации 
  • JP3 - к датчику температуры DS18B20 (номера контактов соответствуют номерам выводов датчика)
  • JP4 - к датчику атмосферного давленя MPX4115AP (1 контакт разъёма к 2 выводу датчика, 2 контакт к 1 выводу, 3 контакт 3 выводу)
  • JP5 - к датчику влажности HIH-4010-004 (номера контактов соответствуют номерам выводов датчика)
  • X3 - К разъёму USB-RS232 конвертера. Вцелом связь бегущей строки с компьютером органзована следующим образом: строка связана с конвертером по RS232, а он уже подсоединён через интерфейс USB к компьютеру.

Касательно т.н. "элементов индикации": LED21 сигнализирует об чтении и обработке данных с внешней EEPROM 24LC16B, LED22 загорается при работе микроконтроллера с датчками или часами реального времени DS1307, LED23 - при приёме байта через последовательный порт. Лично я поставил вместо светодиода электромагнитный излучатель звука (проще говоря пищалку), так что при приёме данных строка напоминает древний dial-up модем :)

Блок индикации.




Схема целиком в приемлемом виде не поместлась, пришлось разбть на две части, вверху первя часть, снизу - вторая. Схема полностью приложена в архиве в конце статьи.

Как видно, принцип организации дисплея довольно прост: строки дисплейных матриц TA16-11GWA объеденины вместе, столбцы - подключены к выходам сдвиговых регистров 74HC595D, которые, в свою очередь, каскадно соеденины друг с другом. Подобным образом, можно наращивать длину дисплея вплоть до 160 точек (32 светодиодных матрицы 5x8). На схеме же показано подключение лишь 20 матриц (100 точек). Несмотря на то, что в конструкции используются светододные матрицы формата 5x8 с диаметром точки в 3 мм, схему можно переработать под любые друге матрицы с общим катодом в строках. Важное замечание: хотя на схеме резисторы в столбцах табло не показаны, их обязательно нужно устанавливать! Номинал- 200 ом. (Я собирал без них, было лень запаивать 100 SMD сопротивлений, да и как оказалось, регистры почти не греются даже в таком подключении)

USB-RS232 конвертер



Схема типовая и особенностей также не имеет. На схеме X2 - разъём питания всего устройства. Для точных показаний датчиков давления и влажности, блок питания должен обеспечивать достаточный ток, чтобы недопустить просадок напряжения на внутренней шине питания (5V). Соединение строки и конвертера производится так: 8,9 контакты разъёма X4 - 8,9 контакты X3, а 2 и 3 контакты разъёмов соединяются перекрёстно.

Софт

Программа управления устройством нарисована написана в среде LabVIEW 2011, для работы откомпилированного там прложения необходимы дополнительные системные компоненты: RunTime Engine и NI VISA. Они доступны для свободной загрузки с сайта производителя. Вот главное (и единственное) окно программы с настройками бегущей строки как для видео к статье:



Как видно, большинство места занято однотипными блоками, состоящими из следующих элементов: форма ввода текста(6), ручки выбора действия(7) и регулятора скорости выполнения эффекта(8). Каждый такой блок описывает определённую команду, записываемую в EEPROM память устройства. Выполняясь последовательно,они состовляют единую циклическую программу вывода изображения для бегущей строки.

Рассмотрим прочие элементы управления:

  1. Окно выбора COM-порта
  2. Кнопка "Записать" При её нажатии программа вывода изображения запишется в бегущую строку и та начнёт её выполнение.
  3. Кнопка для полной перезагрузки контроллера строки с переинициализацией внешней и внутренней переферии.
  4. Элементы для установки длины дисплея строки. В поле необходмо вводить лишь половину общей длины дисплея.
  5. Группа элементов для установки текущего времени в устройстве.

Остановимся поподробнее на элементе управленя(7) - именно он определяет команду, задающую действие для бегущей строки. Вот список этих команд:

  • 0 - Выполнение программы сначала. Текстовый параметр(6) - отсутствует.
  • 1 - Эффект "бегущей строки". Текстовый параметр - текст для вывода.
  • 2 - Посимвольный вывод текста(мгновенное отображение символов) в пределах дисплея. Текстовый параметр - позиция начала вывода в знакоместах(задаётся двузначным числом), текст для вывода.
  • 3 - Посимвольный вывод текста(последовательная вертикальная прорисовка символов) в пределах дисплея. Текстовый параметр - позиция начала вывода в знакоместах(двузначное число), текст для вывода.
  • 4 - Эффект вертикальной прокрутки всего изображения на дисплее. Текстовый параметр - количество раз выполнения эффекта(задаётся числом символов).
  • 5 - Пауза, выполнение программы преостанавливается. Текстовый параметр - длительность в секундах(двузначное число).
  • 6 - Эффект отображения информации с датчиков или часов в динамике. Текстовые параметы - время отображения, источник информации(буква), позиция(в знакоместах).
  • 7 - Очистка экрана(горзонтальное свёртывание изображения). Текстовый параметр - область очистки(в знакоместах).
  • 8 - Очистка экрана(вертикальное свёртывание изображения). Текстовый параметр - любой символ в форме ввода.
  • 9 - Установка шрифта. Текстовый параметр - тип шрифта(0-обычный, 1-жирный).

Специальные параметры(вместо параметра при отбражении будет выведена соответствующая ему информация):

  • t - текущее время(ЧЧ:ММ) 
  • d - дата(ДД.ММ.ГГГГ)
  • m - месяц
  • w - день недели
  • c - температура
  • h - влажность
  • p - атмосферное давлене

Вроде с описанием софта всё, но осталась неосвещённой последняя связанная с ним часть: протокол обмена ПК и строки.

Протокол обмена

Он весьма примитивен, вот его основные принципы:

  • Обмен ведётся на скорости 1200bps, один стоп-бит, без конттроля чётности.
  • Вся передаваемая посылка состоит из блоков, каждый из них описывает одну команду, передаются блоки в порядке следования команд.
  • Каждый блок состоит из байта кода команды(элемент управления 7), байта скорости выполнения команды(элемент управления 8), текстовых данных(форма ввода 6).
  • Каждый блок завершается смволами "-".
  • Вся посылка завершается символами "rp", где r - код символа возврата каретки.
  • Вся принимаемая строкой информация немедленно передаётся обратно.

Помимо основных, также существуют сервисные команды, начинаются они с символа перевода каретки. Вот их коды:

  • p - переход на начало программы отображения.
  • r - полная перезагрузка контроллера строки с переинициализацией внешней и внутренней переферии.
  • s - установка длины дисплея, следующий передаваемый байт - размер половины дисплея.
  • t - установка времени. Дальше передаются данные в таком формате(квадратные скобки обозначают один байт): [часы]:[минуты]:[секунды],[дата],[месяц],[год(2 последних разряда)],[номер дня недели]

Наконец-то все программно-аппаратные аспекты конструкции описаны. Движемся к последней части статьи - о внешнем виде устройства.

Корпус

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





И, напоследок, ещё фотки:











Удачи в повторении! 


Файлы:
Исходный код, прошивка
Чертежи печатных плат
Программа управления


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

26 0 0
4 0 0