МозгоНавигатор: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

Arduino и TV

28.03.2014 в Электронные самоделки

FBXMYQ2GTV9UC6XСлово от переводчика: когда-то, когда страна и деревья были большими, а воображение просто безграничным, была у меня мечта – возможность выводить изображение с моего программируемого микрокалькулятора Электроника МК-61 (ну, там графики всякие, кривые, картинки) на экран телевизора. Времена были дикие позднесовковые, и не то что игровая приставка и очень персональный МИКРОкомпьютер («Правец 8Д» или «Специалист» или «Сикнклер»), но и видеомагнитофоны были в диковинку. В общем, народ требовал зрелищ и те, кто помнит цикл учебно – развлекательных публикаций для программируемых калькуляторов под общим названием «Путь к Земле» (журнал «Техника – Молодежи») меня поймут.

Если кратко, то в виде научно-фантастического романа с неплохим сюжетом описывалось путешествие двух идиотов случайных знакомых – профессионального космонавта и мажора кибернетика с Луны на Землю. Отдельной остроты всему сюжету придавало то, что путешествовали они на т.н. «Лунолете», то есть малом космическом судне с химическим двигателем, предназначенным для передвижения в условиях прямой видимости над лунами и прочими небесными телами похожими на биллиардный шар с простым рельефом. В каждом выпуске цикла присутствовало упрощенное правда, но вполне обоснованное математическое описание каждого маневра как в условиях сильной (относительно) гравитации близкого небесного тела, так и при влиянии на небесный снаряд героев гравитаций Земли и Луны, а также программа для расчета очередного этапа полета. В общем, глядеть на циферки на экране калькулятора не то чтоб доставало, но хотелось красивых кривых на экран (как в ЦУПе).

Вот здесь можно выкачать архив с отрывками текста романа.

С другой стороны, не будем забывать что даже примитивные микроконтроллеры семейства Arduino на порядок превосходят по производительности не только микропроцессоры тогдашних флагманов – МК-52 и МК-61, но и вычислительные возможности некоторых 8-битовых игровых приставок поздних времен (Atary 2600 и прочих Рембо так точно).

В общем, вступление вышло слегка затянутым, так что перейдем к теме сегодняшнего занятия – выводе видеоизображения с Arduino на экран телевизора.

К сожалению, конструктивные особенности Arduino позволяют выводить только монохромное (черно – белые) изображения, хотя и это может быть полезным в некоторых проектах, а ЧСВ поднимет у нубов так точно…

Шаг первый. Детали и ПО

 F75Z06EGTUYA5J9

Вам понадобятся:

Детали и агрегаты:

  1. Микроконтроллер Arduino
  2. Телевизор (без него точно никуда)
  3. Макетная плата или шилд для Arduino
  4. 2 резистора номиналом 470 Ом и 1 Ком
  5. 2 двухпиновых монтажных переходника папа-папа
  6. Экранированный телевизионный кабель с тюльпаном на конце

Программное обеспечение:

  1. Среда разработки/прошивки Arduino. Официальная ссылка
  2. Библиотека для обработки вывода ТВ – изображения.

Шаг второй. Сборка

FLI1M9ZGTQVP3E5

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

FXV5DJCGTQVP3EX

Гораздо лучше, что куда и как паять, поясняет принципиальная схема, к тому же состоящая всего из нескольких деталей.

FV0WWAPGTV9WNAR.LARGE

Распиновка:

Sync — цифровой вывод 9 микроконтроллера

Video — цифровой вывод 8 микроконтроллера

GND — вывод GND микроконтроллера

 

Шаг третий. Программирование

Самая веселая часть – программирование.

FY2D3X5GTUYA7I6

В принципе, уже вышла новая версия ТВ – библиотеки, однако она еще более глючна нестабильна чем R5.91, которую использует автор, так что лучше качайте библиотеку по приведенной выше ссылке.

Текс программы для ленивых тех, кому лень перенабирать код с копии экрана:

#include <TVout.h>
TVout TV;
unsigned char x, y;
void setup ( )
{
TV.start_render( _NTSC );
}
void loop ( )
{
TV.clear_screen ( );
TV.print_str ( 10, 10, «TVout FTW!!!» );
TV.delay ( 60 );
}

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

  • begin(mode) Начало вывода информации на экран. Разешение стандартное — 128х96
  • begin(mode,x,y) Начало вывода информации на экран. Разешение определяется пользователем аргументами x,y
  • end() Очистка видеобуфера
  • force_vscale(sfactor) Force the number of times to display each line.
  • force_outstart(time) Force the time to start outputting on an active line.
  • force_linestart(line) Force line to start outputting on.
  • set_vbi_hook(func) Set the function to be called once per vertical blanking period.
  • set_hbi_hook(func) Set the function to be called once per horizontal blanking period.
  • hres() Команда возвращает значение горизонтального разрешения,
  • vres() Команда возвращает значение вертикального разрешения,
  • char_line() Команда возвращает значение количества символов, которые поместятся в строку.
  • set_pixel(x,y,color) Установка цвета пикселя по заданным координатам
  • get_pixel(x,y) Установка пикселя с заданными координатами в качестве точки отсчета.
  • fill(color) Заливка экрана заданным цветом.
  • clear_screen() Очистка экрана.
  • invert() Инвертирование изображение на экране.
  • shift(distance,direction) Прокрутка экрана на заданную дистанцию в любом из 6 направлений.
  • draw_line(x0,y0,x1,y1,color) Создание прямой с координат (x0,y0) до координат (x1,y1).
  • draw_row(row,x0,x1,color) Заполнение строки с координатами от  x0 to x1 заданным цветом.
  • draw_column(column,y0,y1,color) Заполнение столбца с координатами от  у0 до у1 заданным цветом.
  • draw_rect(x,y,w,h,color,fillcolor) Отображение прямоугольника с началом в координатах (x,y) с размерами(h,w), и заполнение заданным цветом.
  • draw_rect(x,y,w,h,color) Отображение прямоугольника с началом в координатах (x,y) с размерами(h,w).
  • draw_circle(x,y,radius,color,fillcolor) Отображение окружности с центором в координатах (x,y) с радиусом (RADIUS) и его заполнение заданным цветом
  • draw_circle(x,y,radius,color) Отображение окружности с центором в координатах (x,y) с радиусом (RADIUS).
  • bitmap(x,y,bmp,i,width,height) Отображение заданного изображения в координатах..
  • print_char(x,y,c) Печать символа в координатах (x,y).
  • set_cursor(x,y) Установка позиции для вывода слеующего символа.
  • select_font(font) Установка шрифт для вывода текста.
  • print() Вывод текста.
  • println() Вывод пстой строки.
  • printPGM() Вывод строки с текстом из памяти программы.
  • tone(frequency) Тональный сигнал с заданной частостой.
  • tone(frequency,duration) Тональный сигнал заданной частоты и длительности.
  • noTone() Прикращение вывода тонового сигнала.

Шаг четверый. Завершение

FBXMYQ2GTV9UC6X

Или все же старт? Возможностей и способов использования ТВ – вывода Arduino на самом дела масса, не говоря уже про простое использование Arduino в качестве игровой приставки.

Пример:

И еще один:

(A-Z Source)


  • RSS
  • Facebook
  • LiveJournal
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • В закладки Google
  • Blogger
  • Twitter

16 ответов на Arduino и TV

  1. Гениально! Все так же просто как и все остальное гениальное!
    Почему-то раньше и в голову не приходила возможность так использовать Ардуинку.
    Спасибо!

  2. http://mozgochiny.ru/wp-content/uploads98983jkhdkjf9873/2014/03/TVout_R5.91.zip
    Вот ссылка на библиотеку для Ардуино. В тексте статьи почему-то не вставил ее.

  3. Хм. Можнотвыложить картинкамр в jpg.

  4. прс с прицелом вообще круто

  5. Очень круто) Никогда бы не подумал что arduino можно использовать для этого:)

  6. Пришлось потанцевать с бубном, чтобы прочитать кусочек вашего романа. Вчитываться буду позже, искать явления, процессы и взаимоотношения героев.

    • В смысле с бубном?
      К сожалению, полного текста отыскать так и не удалось(

      • Современные детишки ведь уже и текст то не могут самостоятельно прочитать,вот и с бубном.

        • Ну, роман не мой. и, к сожалению, найти его целиков уже вероянтно невозможно.

Прокомментировать

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Мастер-классы | Как сделать | DIY | Handmade | Self made | Поделки | Своими руками | Карта сайта | Реклама

Всё что ты хочешь, ты можешь сделать САМ! Мы за созидание, развитие и свободное распространение знаний и личного опыта!

МозгоЧины - сообщество энтузиастов © 2010 – 2016

Перейти к верхней панели