Подключаем Ардуино к ТВ

Небольшой урок в котором вы узнаете, как подключить Arduino к телевизору (ТВ) для отображения текста, информации и графики.

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

Комплектующие

По традиции начинаем с деталей, которые нам нужны будут для проекта:

  • 1x - Arduino Uno
  • 1x - 470 Ом резистор
  • 1x - 1 кОм резистор
  • 1x - ТВ с композитным видеовходом
  • 1x - Композитный видеокабель (разъем RCA)

Схема подключения Ардуино к ТВ

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

Как это работает?

Теперь поговорим о том, как работают композитные телевизионные сигналы.

Композитные телевизионные сигналы довольно сложны и запутанны, поэтому мы рассмотрим только основы. Следует также отметить, что мы будем рассматривать только PAL, а не NTSC, поскольку у них несколько разные тайминги, и мы большей частью живем в Европе, которая использует PAL.

Скорость, с которой телевизоры показывают серию изображений для формирования движущегося изображения, называется кадрами в секунду (также известными как FPS). Поскольку каждый кадр является неподвижным изображением, и эти изображения на телевизоре рисуются по строкам, изображения отправляются на телевизор последовательно, каждый пиксель отправляется по одному за раз. Но если линия изображения является последовательными данными, как определяется яркость? В отличие от цифрового последовательного соединения сигналы PAL являются аналоговыми, а напряжение на последовательной линии определяет, насколько ярким является пиксель. На приведенном ниже графике показан график PAL и значения разных напряжений.

Если входной сигнал равен 0 В, телевизор видит это как сигнал синхронизации. В зависимости от того, как выполняется синхронный сигнал, его можно использовать для передачи ТВ одной из двух вещей:

  • Горизонтальная синхронизация - готовность отобразить следующую строку на нашей картинке
  • Вертикальная синхронизация - готовность к совершенно новому изображению

Напряжение между 0,3 В и 1 В - это пиксели изображения, где 0,3 В представляет черный пиксель, 1 В представляет белый пиксель, а напряжения между ними являются серыми. Цветные пиксели не будут покрываться, так как цвет очень сложный, используя сигналы фазового сдвига и цветовой синхронизации. Итак, как мы можем достичь этих уровней напряжения, если у нас нет аналогового выхода на Arduino Uno? Вот зачем наши два внешних резистора!

Arduino Uno при использовании в сочетании с библиотекой TV Out имеет два контакта: видео и синхронизацию. Вывод видеосигнала используется для передачи видеоданных (отдельные пиксели), а синхросигнал используется для синхронизации телевизора. Эти два контакта соединены вместе через R1 и R2, которые образуют простой делитель потенциалов, который дает следующие уровни напряжения.

Установка ТВ библиотеки

Начните с загрузки Arduino IDE, затем нажмите:

Sketch → Include Library → Manage Libraries
(Эскиз → Включить библиотеку → Управление библиотеками)

В открывшемся окне библиотеки выберите строку поиска и введите «TV Text».

Когда поиск будет завершен, выберите библиотеку ТВ-текста «TV Text» и нажмите «установить» (англ. - install).

Последний шаг будет включать в себя открытие встроенного примера, чтобы мы могли проверить его. Нажмите:

File → Examples → TV Out → Demo PAL
(Файл → Примеры → TV Out → Demo PAL)

Сборка устройства

Этот проект использует макет, чтобы помочь подключить Arduino Uno к двум резисторам и композитному видеокабелю. Ардуино подключен к компьютеру для легкого программирования, а также для обеспечения питания, и как только настройка будет выполнена (как показано ниже), вы можете запрограммировать Arduino и включить телевизор.

Если все идет по плану, у вас должно быть что-то похожее на экране телевизора, показанном ниже:

Это был первый урок из серии взаимодействия Ардуино и ТВ. Если мы получим хорошую обратную связь мы продолжим публикации уроков в данном направлении. Все отличных проектов.

Ардуино+
Больше интересного ↓