- PVSM.RU - https://www.pvsm.ru -
Пусть описание принципа работы уникального смарт-девайса для упрощения взаимодействия в системе «человек машина» выглядит как реклама таблеток для похудения, но в данном случае это лучший способ объяснить для чего, почему и как собирался данный девайс.

Тему телевидения затрагивать в статье не буду, расскажу только про «гаджетостроение» и разработку интерфейса.
Эта статья частично является продолжением моей статьи Bluetooth пульт для телевизора [1], поэтому буду ссылаться на некоторые технические моменты, описанные в ней.
Сначала покажу как работает мой девайс (на видео он в левом нижнем углу, рядом с ресивером Дом.ru):
Снаружи девайс выглядит так:

Это в разобранном виде:

В качестве корпуса я использовал муляж камеры наблюдения. Такие муляжи продаются по 1-2 доллара в китайских интернет-магазинах. Конструкцию девайса можно посмотреть в предыдущей статье [1], а скетч с кодами кнопок для управления ресивером Дом.ru
void S6() {irsend.sendNEC(0x810EF, 32);delay(100);}
void S7() {irsend.sendNEC(0x8906F, 32);delay(100);}
void S8() {irsend.sendNEC(0x850AF, 32);delay(100);}
void S9() {irsend.sendNEC(0x8D02F, 32);delay(100);}
void S0() {irsend.sendNEC(0x830CF, 32);delay(100);}
void Son() {irsend.sendNEC(0x800FF, 32);delay(100);}
void Smute() {irsend.sendNEC(0x818E7, 32);delay(100);}
void Splus() {irsend.sendNEC(0x8F807, 32);delay(100);}
void Sminus() {irsend.sendNEC(0x802FD, 32);delay(100);}
void loop()
{
if (Serial.available())
{ a = Serial.parseInt();
if (a==1) {S1();}
if (a==2) {S2();}
if (a==3) {S3();}
if (a==4) {S4();}
if (a==5) {S5();}
if (a==6) {S6();}
if (a==7) {S7();}
if (a==8) {S8();}
if (a==9) {S9();}
if (a==0) {S0();}
if (a==161) {Son();}
if (a==162) {Smute();}
if (a==163) {Splus();}
if (a==164) {Sminus();}
}
}
Если кто-то захочет сделать подобный девайс для управления ресивером Триколор ТВ, то скетч с кодами кнопок здесь:
void S6() {irsend.sendNEC(0x810EF, 32);delay(200);}
void S7() {irsend.sendNEC(0x8906F, 32);delay(200);}
void S8() {irsend.sendNEC(0x850AF, 32);delay(200);}
void S9() {irsend.sendNEC(0x8D02F, 32);delay(200);}
void S0() {irsend.sendNEC(0x830CF, 32);delay(200);}
void Son() {irsend.sendNEC(0x800FF, 32);delay(100);}
void Smute() {irsend.sendNEC(0x818E7, 32);delay(100);}
void Splus() {irsend.sendNEC(0x828D7, 32);delay(100);}
void Sminus() {irsend.sendNEC(0x848B7, 32);delay(100);}
void loop()
{
if (Serial.available())
{ a = Serial.parseInt();
if (a==1) {S1();}
if (a==2) {S2();}
if (a==3) {S3();}
if (a==4) {S4();}
if (a==5) {S5();}
if (a==6) {S6();}
if (a==7) {S7();}
if (a==8) {S8();}
if (a==9) {S9();}
if (a==0) {S0();}
if (a==161) {Son();}
if (a==162) {Smute();}
if (a==163) {Splus();}
if (a==164) {Sminus();}
}
}
Видео с демонстрацией работы девайса с телевидением Триколор ТВ здесь. [2]
Как считывать коды кнопок других ресиверов тоже описано в предыдущей статье [1]
Теперь немного об интерфейсе.
Сначала был сделан такой интерфейс:

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

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

Использовать такой интерфейс оказалось достаточно удобно.
В заключении скажу, что все андроид-приложения я делал, используя среду визуальной разработки android-приложений App Inventor 2.
Кому интересно как можно сделать такое приложение «с нуля» может посмотреть мое видео на эту тему (для просмотра необходимо перейти на youtube).
Автор: malyazin_2010
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/diy/87197
Ссылки в тексте:
[1] Bluetooth пульт для телевизора: http://habrahabr.ru/post/253471/
[2] здесь.: https://www.youtube.com/watch?v=emeAb5sUlRI
[3] Источник: http://habrahabr.ru/post/254185/
Нажмите здесь для печати.