Обикновено за получаване от Arduino видеосигналът се използва или с външно хардуерно устройство на TellyMate, или с библиотеката arduino-tvout. Във втория случай допълнителен микроконтролер вече не е необходим, но разделителната способност на изображението е малка. Комплектът от библиотеки MRETV, описан от Instructables под името Mr. E, съчетава предимствата на двата метода: микроконтролерът е един, както във втория случай, а разделителната способност е същата като в първия. Но това не е всичко: едновременно с решаването на всякакви задачи можете да извеждате не само изображение, но и стерео звук, както и да работите с устройства за въвеждане.
Разбира се, от Arduino или от съвместим съвет за едновременното изпълнение на всичко това са нужни доста средства. Следователно, набор от библиотеки работи само с дънни платки, базирани на микроконтролери ATmega168, 328 и 2560. Не говорим за работа с, да речем, дънни платки с микроконтролери ATmega8 или ATtiny85 (например Digispark).
За да свържете външни устройства, капитанът събира прости вериги на резистори, диоди и кондензатори. Той започва с схема за заснемане на видео сигнал. Това е най-простият миксер, който смесва сигнали за яркост и синхронизация в определено съотношение. Схемите за различни типове платки се различават само в пиновите номера за премахване на тези сигнали.
Майсторът събира тази схема в опции за "лалето" и S-Video. Във втория случай входът за хромалния сигнал по очевидни причини не се включва.
За да провери видео изхода в действие, съветникът инсталира библиотеки (архиви с тях и примери са тук, по-нова версия - тук) в ръчно ID на Arduino, автоматичната инсталация няма да работи. За да направите това, той затваря всички прозорци, свързани с IDE, и след това поставя библиотеките от архива в папката библиотеки на тази среда за програмиране и примерите в неговата папка Примери. И за начало стартира такава скица:
#include "MRETV.h"
#include "textfont.h"
char mystring [] = "Здравей свят";
настройка за невалидност () {
Screen.begin (textfont, mystring, 2 * fontheight, 6,30,30,1);
}
void loop () {}
След като се увери, че фразата "Здравей свят" се показва на телевизора, съветникът експериментира с примери:
SimpleDisplay.ino - I / O интерфейс към съществуващи проекти
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, а терминален емулатор с по-разработен набор от функции. Следното показва как да получите достъп до функциите на библиотеката от вашите програми. Можете да използвате всички горепосочени интерфейси едновременно, един по един или във всяка комбинация.
Работа с видео изход:
Съветникът се опитва да свърже различни аналогови сензори, също поддържани от MRETV, към Arduino. Например променлив резистор, термистор, разделител за измерване на напрежение, сензор за влажност, диод като сензор за температура, фоторезистор:
Сензорите трябва да са такива, че входното напрежение да падне в интервала от 0 до +1 V, като същевременно се постига най-добра точност на измерване. примери:
Ponguino.ino - сега можете да играете с аналогов контролер
KeyboardTool.ino - вижте функцията за четене от аналогови входове
От кабела на твърдия диск с IDE интерфейс, капитанът прави „сензорна вана“ - адаптер за удобно свързване на аналогови сензори:
Примери за работа с него:
KeyboardTool.ino - използвайте същия начин като при свързване на сензори без „сензорна вана“
DiodeCalibration.ino - автоматично калибриране при използване на диоди като точни температурни сензори
Процедура на калибриране:
1. Свържете термистор към A0, 10 kΩ резистор към C0
2. Направете разделител на напрежението: резистор от 2 kOhm плавно (възможно от два резистора от 1 kOhm) до A1, резистор от 10 kOhm до C1
3. Свържете от един до четири диода като температурни сензори към резистори A2 - A5, 10 kΩ към C2 - C5.
Сега сте готови за калибриране.
Файлът MRETV.S е написан в асемблер, той ще се компилира само когато е в папката на библиотеката. Файлът MRETV.extensions е необходим, за да реши кои разширения да се използват при компилиране.
Заявление.
MRETV използва сериен изход за генериране на видео и произволен поток от данни може да бъде изпратен до монитора на серийния порт. Превключвателят ви позволява да избирате между хардуер и софтуер за трансфер на данни. Във втория случай пълният дуплекс се реализира едновременно с генерирането на видео.
Името на библиотечния набор идва от прякора на разработчика Mr. E, а също и означава Master Raster (Extended) Transmission Vision.