Дистанционное управление для телевизора на ARDUINO UNO, схема и программа
Впрочем, не обязательно для телевизора, вполне применимо и для множества другой аудио-видео техники.
Допустим, что пульт управления телевизором или какой-то другой бытовой техникой, был потерян или испорчен. Или же пульт есть, и он работает, но находится в таком состоянии, что лишний раз брать его в руки не желательно, а приобрести новый не представляется возможным, например, из-за отсутствия такового в продаже, или же он слишком дорогой.
В этом случае, конечно можно продолжать эксплуатацию телевизора и без пульта, -управляя им при помощи кнопок на его передней панели. Конечно, есть такие регулировки (цветность, яркость, четкость, контрастность, размер и т.д.), которые можно установить один раз и больше не трогать, но регулировкой громкости звука и переключением программ, пусть даже по кольцу, приходится пользоваться часто. Поэтому, здесь хотелось бы пульт хотя бы на эти регулировки.
Если есть ненужный пульт от какого-то другого аппарата, плюс плата ARDUINO UNO, и нет «комплексов» по поводу вскрытия корпуса аппарата и пайки проводов к дорожкам его кнопок, то можно очень простым способом сделать дополнительную систему ДУ, которая будет «нажимать» кнопки выбора программ (Р+, Р-) и кнопки регулировки громкости (Vol+, Vol-).
Рис. 1. Принципиальная схема устройства дистанционного управления телевизором, собрано на ARDUINO UNO.
Ненужным оказался пульт пульт дистанционного управления марки TOSHIBA SE-R0301 от неисправного DVD-плеера. Но, в принципе, можно использовать любой другой пульт, соответственно внеся изменения в программу.
У данного пульта посредине есть две кнопки со стрелками вниз и вверх, - которые можно использовать для переключения программ по кольцу и две кнопки со стрелками влево и вправо, которые можно использовать для регулировки громкости. В принципе, они привычно расположены, практически так же, как кнопки аналогичного назначения на пультах многих телевизоров.
Стационарные клавиатуры управления большинства телевизоров и многой другой аппаратурой построены по схеме, когда кнопки замыкают контакт на общий минус питания.
Это позволяет в качестве электронных органов управления использовать обычные маломощные биполярные транзисторы, включенные в ключевом режиме.
Таблица 1. Исходный код программы для МК.
/*
ДУ для телевизора
*/
#include
IRrecv irrecv(2); // фотоприемник на порту D2
decode_results results;
void setup() {
pinMode(4, OUTPUT) ; // задание порта D4 как выходного
pinMode(5, OUTPUT); // задание порта D5 как выходного
pinMode(6, OUTPUT); // задание порта D6 как выходного
pinMode(7, OUTPUT); // задание порта D7 как выходного
irrecv.enablelRIn();
}
void loop() {
if (irrecv.decode(&results)) {
switch( results.value ) {
case Ox:A25DB24D:
digitalWrite( 4, HIGH); // кнопка Vol-
delay(200); // время удержания 0,2 сек
digitalWrite( 4, LOW);
break;
case 0xA25D8A75:
digitalWrite( 5, HIGH); // кнопка Vol+
delay(200); // время удержания 0,2 сек
digitalWrite( 5, LOW);
break;
case 0xA25D817E:
digitalWrite( 6, HIGH); // кнопка P-
delay(200); // время удержания 0,2 сек
digitalWrite( 6, LOW);
break;
case 0xA25D01FE:
digitalWrite( 7, HIGH); // кнопка P+
delay(200); // время удержания 0,2 сек
digitalWrite( 7, LOW);
break;
}
irrecv.resume();
}
}
Если эмиттер такого транзистора подключен к общему минусу, а коллектор к контакту кнопки, то при подаче на базуэтого транзистора отпирающего тока, он открывается и «замыкает» кнопку на общий минус, имитируя её нажатие.
Принципиальная схема показана на рисунке. Для приема команд пульта дистанционного управления используется фотоприемник F1 типа TSOP4838, но можно применить и любой другой аналогичный. Сигнал от него поступает на цифровой порт D2, который используется для работы на прием.
Транзисторы. которые имитируют нажатия кнопок. - это VT1, VT2. VT3, VТ4, на их базы управляющие напряжения поступают с портов D4-D7 платы ARDUINO UNO.
Конечно, можно выбрать и другие порты, но я выбрал эти. Коллекторы этих транзисторов должны быть подключены к соответствующим нопкам телевизора.
Питается плата ARDUINO UNO напряжением от 7 до 12V, которое можно найти на выходе блока питания телевизора.
Программа для ARDUINO UNO приводится в таблице 1.
Данная программа требует загрузки библиотеки IRremote.h которая нужна для распознавания команд пульта ДУ. Эта библиотека есть в стандартном наборе программного обеспечения для ARDUINO, у меня версия Arduino 1.6.11.
Далее идет назначение портов.
В строке:
IRrecv irrecv(2);
входным назначен порт D2. На него подается сигнал с выхода интегрального фотоприемника.
А в строках:
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
выходными назначены порты D4, D5, D6. D7. Но. порты можно выбрать и другие. -как вам захочется, соответственно, к ним подключив, через резисторы, базы транзисторов VT1, VT2, VT3, VТ4.
В программе после «case Ох» записаны коды команд, которые формируется при нажатии соответствующей кнопки. Как уже сказано выше, используются кнопки пульта дистанционного управления марки TOSHIBA SE-R0301, с изображением стрелок вверх, вниз, влево и вправо. Этим кнопкам соответствуют коды A25D01FE, A25D817E, A25D8A75, A25DB24D, соответственно, и далее прописано, что должно происходить с выходами после поступления соответствующего кода.
Вот, при нажатии кнопки «стрелка вправо», на порту D4 платы ARDUINO UNO появляется логическая единица, которая держится в течение времени, равного 0,2 секунды, и потом логический уровень на этом порту опять становится нулевым.
Это отображено в строках:
case Ох:A25DB24D:
digitalWrite(4, HIGH);
delay(200);
digitalWrite(4, LOW);
Время 0,2 секунды, в течение которого действует на порту логическая единица задано строкой:
delay(200);
Его легко изменить, написав другое число вместо «200». Например, если нужно чтобы было 0,5 секунды, пишем: delay(500);
Совершенно аналогично все происходит и с тремя другими кнопками.
Как уже сказано выше, для данного устройства подойдет почти любой пульт ДУ от аудио-видеотехники. Но нужно будет определить коды кнопок этого пульта, которые будут использоваться для управления.
Для этого нужно сначала загрузить в ARDUINO UNO программу из таблицы 2, из предыдущей статьи, опубликованной в этом же журнале (статья «Приставка DVB-Т2 управляет телевизором при помощи ARDUINO UNO»).
После загрузки данной программы в микроконтроллер платы ARDUINO UNO, нужно открыть монитор COM-порта, для этого в окне программы Arduino 1.6.11 выбираем «Инструменты» и из выпадающего меню «Монитор порта».
После того как откроется окошко Монитора порта, берем пульт ДУ и нажимаем интересные нам кнопки. В окне Монитора порта будет отображаться код, соответствующий каждой кнопке, который нужно будет внести в программу в таблице 1 после «case 0х» (без строк из букв «F», если таковые будут отображаться в Мониторе порта).
Каравкин В. РК-02-2020.
- PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН.
- Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет.
- Проекты с открытым исходным кодом - доступ к тысячам открытых проектов в сообществе PCBWay!
- Как использовать радиозвонок в качестве охранной сигнализации
- Регулятор яркости системы освещения на трех светодиодных лентах (Arduino UNO)
- Акустическая приставка к цветному телевизору с подключением по видеовходу
- Схема регулятора хода двигателя на ВА6209, КР1006ВИ1 (1,6А - 12В)
