Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » MRETV - набор библиотек для Arduino, реализующий видеовыход, вывод стереозвука и работу с устройствами ввода

    MRETV - набор библиотек для Arduino, реализующий видеовыход, вывод стереозвука и работу с устройствами ввода




    Обычно для получения от Arduino видеосигнала применяют либо внешнее аппаратное устройство TellyMate, либо библиотеку arduino-tvout. Во втором случае дополнительный микроконтроллер становится не нужен, но разрешающая способность изображения мала. Набор библиотек MRETV, о котором рассказывает автор Instructables под ником Mr. E, сочетает преимущества обоих способов: микроконтроллер один, как во втором случае, а разрешение - такое же, как в первом. Но и это ещё не всё: одновременно с решением в фоне каких-либо задач можно выводить не только изображение, но и стереозвук, а также работать с устройствами ввода.

    Конечно, от Arduino или совместимой с ним платы для одновременной реализации всего этого требуется довольно много ресурсов. Поэтому набор библиотек работает только с платами на микроконтроллерах ATmega168, 328 и 2560. О работе, скажем, на платах с микроконтроллерами ATmega8 или ATtiny85 (например, Digispark) речь не идёт.

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



    Мастер собирает эту схему в вариантах для "тюльпана" и S-Video. Во втором случае вход для сигнала цветности по понятной причине не задействуется.





    MRETV - набор библиотек для Arduino, реализующий видеовыход, вывод стереозвука и работу с устройствами ввода


    Чтобы проверить видеовыход в действии, мастер устанавливает библиотеки (архивы с ними и примерами лежат здесь, более новая версия - здесь) в Arduino IDE вручную, автоматическая установка не подойдёт. Для этого он закрывает все окна, относящиеся к IDE, после чего помещает библиотеки из архива в папку libraries этой среды программирования, а примеры - в её же папку Examples. И для начала запускает такой скетч:

    
    #include "MRETV.h"
    #include "textfont.h"
    char mystring[]="Hello world";
    void setup(){
    Screen.begin(textfont,mystring,2*fontheight,6,30,30,1);
    }
    void loop() {}


    Убедившись, что фраза "Hello world" на телевизор выводится, мастер экспериментирует с примерами:

    SimpleDisplay.ino - интерфейс ввода-вывода к существующим проектам
    TVText.ino - Arduino в качестве внешней видеокарты
    TestPattern.ino - испытательная таблица
    Bounce.ino - работа с движущимися и растровыми изображениями

    Наступает очередь выхода стереозвука. Здесь смешивать сигналы не требуется, но если подключать динамические головки или наушники не непосредственно, а через усилитель, не обойтись без ФНЧ. И снова - схема в двух вариантах, в зависимости от того, на каком микроконтроллере выполнена плата:



    Это устройство мастер тоже собирает:





    И пробует примеры:

    Arudion.ino - секвенсер
    ScreenTool.ino - многофункциональная утилита, требует клавиатуры (см. далее) или эмулятора терминала на ПК
    Ponguino.ino - клон Pong, со звуком, требует клавиатуры (также см. далее).

    Следующая задача - подключить клавиатуру или мышь (но не то и другое одновременно) устаревшего стандарта PS/2. Их осталось ещё довольно много.



    С этим мастер тоже справляется:











    Примеры - в основном те же самые, но новая периферия открывает и новые возможности:

    TVText.ino - теперь терминал позволяет не только выводить информацию, но и вводить её
    ShootEmUp.ino - игра, управление клавишами со стрелками, только ATmega328 и 2560
    Ponguino.ino - теперь можно и сыграть: нажать j, затем управлять клавишами WASD, потом, когда придёт пора подключать датчики, можно будет изготовить аналоговые контроллеры
    KeyboardTool.ino - развитие утилита ScreenTool
    Bounce.ino - подключив клавиатуру, можно попробовать больше эффектов
    Arudion.ino - с клавиатурой можно попробовать больше функций, а также сыграть самому как на синтезаторе

    Всё это замечательно, но после примеров хочется попробовать пользоваться функциями MRETV и в своих программах. Мастер рекомендует пользоваться не монитором последовательного порта Arduino IDE, а эмулятором терминала с более развитым набором функций. Далее показано, как обращаться к функциям библиотек из своих программ. Можно пользоваться всеми упомянутыми выше интерфейсами одновременно, по одному или в любых сочетаниях.

    Работа с видеовыходом:



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













    Датчики должны быть такими, чтобы напряжение на входе попадало в диапазон от 0 до +1 В, при этом достигается наилучшая точность измерения. Примеры:

    Ponguino.ino - теперь можно сыграть и аналоговым контроллером
    KeyboardTool.ino - см. функцию считывания с аналоговых входов

    Из шлейфа жёсткого диска с интерфейсом IDE мастер изготавливает "сенсорбаторий" - переходник для удобного подключения аналоговых датчиков:







    Примеры для работы с ним:

    KeyboardTool.ino - пользоваться так же, как при подключении датчиков без "сенсорбатория"
    DiodeCalibration.ino - автоматическая калибровка при применении диодов в качестве точных термодатчиков

    Порядок калибровки:

    1. Подключить термистор к A0, резистор на 10 кОм к C0

    2. Сделать делитель напряжения: резистор на 2 кОм ровно (можно из двух резисторов на 1 кОм) к A1, резистор на 10 кОм к C1

    3. Подключить от одного до четырёх диодов в качестве датчиков температуры к A2 - A5, резисторы на 10 кОм к C2 - C5.

    Теперь можно приступать к калибровке.

    Файл MRETV.S написан на ассемблере, он будет компилироваться только при нахождении в папке для библиотек. Файл MRETV.extensions необходим для принятия решений о том, какие расширения задействовать при компиляции.

    Приложение.

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





    Название набора библиотек происходит от ника разработчика Mr. E, а также одновременно означает Master Raster (Extended) Transmission Vision.

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    Устройство для запуска робота-пылесоса по расписанию

    Зубная щетка - «стукач»

    10
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 10 из 10 (голосов: 2 / История оценок)

    Добавить комментарий

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Опрос
    А Вы знаете, что на сайте оплачиваются отчеты о создании самоделок?

    Последние комментарии

    Все комментарии