Универсальный пульт на arduino

inhelp
inhelp аватар
Offline
Зарегистрирован: 23.09.2012

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

Фото приложения в режиме пульта для телевизора

Фото приложения в режиме пульта для плеера

разница лишь в том, что кнопка AV при переходе на режим плеера меняется на кнопку с белым квадратом внутри (STOP) ...  А впрочем смотрите все на видео 

Схема подключения простая

ну и сам скетч 

#include <IRremote.h>
IRsend irsend;
int y = 1;

void setup()
{
  Serial.begin(9600);
}

void loop() {
  if (Serial.available() > 0) {
    int x = Serial.read();
    if (x == 49) {
      y = 1;
    }
    if (x == 50) {
      y = 2;
    }
    if (y == 1) { // коды кнопок для пульта от телевизора
      if (x == 97) {
        irsend.sendNEC(0x807F08F7, 32);
        delay(40);
      }
      if (x == 98) {
        irsend.sendNEC(0x807FA857, 32);
        delay(40);
      }
      if (x == 99) {
        irsend.sendNEC(0x807F708F, 32);
        delay(40);
      }
      if (x == 100) {
        irsend.sendNEC(0x807FF00F, 32);
        delay(40);
      }
      if (x == 101) {
        irsend.sendNEC(0x807F30CF, 32);
        delay(40);
      }
      if (x == 102) {
        irsend.sendNEC(0x807FB04F, 32);
        delay(40);
      }
      if (x == 103) {
        irsend.sendNEC(0x807F9867, 32);
        delay(40);
      }
      if (x == 104) {
        irsend.sendNEC(0x807F58A7, 32);
        delay(40);
      }
      if (x == 105) {
        irsend.sendNEC(0x807FD827, 32);
        delay(40);
      }
      if (x == 106) {
        irsend.sendNEC(0x807F38C7, 32);
        delay(40);
      }
      if (x == 107) {
        irsend.sendNEC(0x807F48B7, 32);
        delay(40);
      }
      if (x == 108) {
        irsend.sendNEC(0x807FB847, 32);
        delay(40);
      }
      if (x == 109) {
        irsend.sendNEC(0x807F6897, 32);
        delay(40);
      }
    }
    if (y == 2) {  //коды кнопок пульта от медиаплеера
      if (x == 97) {
        irsend.sendNEC(0xFDC23D, 32); 
        delay(40);
      }
      if (x == 98) {
        irsend.sendNEC(0xFDE01F, 32);
        delay(40);
      }
      if (x == 99) {
        irsend.sendNEC(0xFD18E7, 32);
        delay(40);
      }
      if (x == 100) {
        irsend.sendNEC(0xFDE817, 32);
        delay(40);
      }
      if (x == 101) {
        irsend.sendNEC(0xFDA857, 32);
        delay(40);
      }
      if (x == 102) {
        irsend.sendNEC(0xFD6897, 32);
        delay(40);
      }
      if (x == 103) {
        irsend.sendNEC(0xFDA857, 32);
        delay(40);
      }
      if (x == 104) {
        irsend.sendNEC(0xFD6897, 32);
        delay(40);
      }
      if (x == 105) {
        irsend.sendNEC(0xFDE817, 32);
        delay(40);
      }
      if (x == 106) {
        irsend.sendNEC(0xFD18E7, 32);
        delay(40);
      }
      if (x == 107) {
        irsend.sendNEC(0xFD9867, 32);
        delay(40);
      }
      if (x == 108) {
        irsend.sendNEC(0xFD28D7, 32);
        delay(40);
      }
      if (x == 109) {
        irsend.sendNEC(0xFD20DF, 32);
        delay(40);
      }
    }
    Serial.println(x);
    Serial.println(y);
  }
}

Список компонентов с ссылками на продавцов сайта AliExpress.com

Плата Arduino Pro Mini ATMEGA328 5V/16MHz - 1 шт.

Bluetooth модуль HC-05 1 шт.

Приемник инфракрасного сигнала TSOP4838 - 1 шт.

Инфракрасный диод - 1 шт.

Ну и ссылка на статью с подробным описанием оздания пульта

http://arduino-project.net/universalnyj-pult-arduino/

inhelp
inhelp аватар
Offline
Зарегистрирован: 23.09.2012

Видео с демонстрацией работы 

http://www.youtube.com/watch?v=gu1wk0qjyKA

и несколько фото готового устройства

красный и белый провода , это питание...

Araris
Araris аватар
Offline
Зарегистрирован: 09.11.2012

Иван, красавчик, респект тебе ! Все просто, понятно, подробно расписано. Давно собираюсь подобную штуку для управления через WiFi сделать. Если можно, выложи у себя на сайте файл Pult.aia, ну или приватно договоримся.