Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.11.2010, 00:57   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Управляем HTPC любым пультом

Arduino Nano рулит домашним кинотеатром на базе HTPC.

Использование этого устройства можно как в составе умного дома, автомобиля, домашнего кинотеатра и т.д.

И так все по порядку:

Желательно использовать премник 36кГц - 40кГц
Из доступных и не дорогих это TSOP1736, TSOP1738
Название: ir1.gif
Просмотров: 2889

Размер: 4.1 Кб

Схема подключения приемника:
Название: NANO_IR2.PNG
Просмотров: 2632

Размер: 39.3 Кб

Далее:
Установил библиотеку IRremote для Arduino, подправил и залил код, все заработало сразу. Перепробовал все пульты в доме , работает со всеми мной протестироваными пультами Д.У.
Скачать программу , для назначения кнопок ДУ . Сначала нужно запустить IRKey_config.exe назначить кнопки вашего ифракрасного пульта дистанционного управления, на любые клавиши Windows. Следует помнить что Windows не разрешает эмуляцию комбинации "CTRL-ALT-DEL" , вместо нее можно использовать комбинацию "CTRL+SHIFT+ESC"). После того как вы все сконфигурировали, сохраните настройки, закройте программу IRKey_config.exe и запустите IRKey.exe (программа при запуске свернется в трей) , наслаждайтесь. Для постоянного использования ярлык программы IRKey.exe закинте в автозагрузку

Скачать библиотеку , распаковать и положить в папку C:\arduino-0017\hardware\libraries\IRremote


Код с повторами при удерживании кнопки
Для нарульных пультов Pioneer , delay уменишить до оптимального значения
Или использовать код выложеный выше
PHP код:
// http://compcar.ru 
#include <IRremote.h> 
  
byte bytes[4]; 
int RECV_PIN 11;    //вход ИК приемника 
IRrecv irrecv(RECV_PIN); 
decode_results results
unsigned long ir_dtold_ir;
  
void setup() 

  
Serial.begin(115200); 
  
irrecv.enableIRIn(); // включить приемник 

  
void loop() { 
  if (
irrecv.decode(&results))  
  { 
    if (
results.value && results.value 0xFFFFFFFF
    { 
      
ir_dt results.value
      
bytes[0] = ir_dt 0xFF;          // преобразовать в 4-байта  
      
bytes[1] = (ir_dt 0xFF00) >> 8;  
      
bytes[2] = (ir_dt 0xFF0000) >> 16
      
bytes[3] = (ir_dt 0xFF000000) >> 24
      
Serial.writebytes,4); // отправить прочитаное значение компьютеру 
              
      
if (old_ir == ir_dt){delay(250);}  //Пауза между короткими нажатиями
      
else {delay(500);}// Пауза после первого нажатия и удержания(перед повторами)
      
old_ir ir_dt;
    } 
           if (
results.value == 0xFFFFFFFF )
            {
             
delay(120); //пауза между повторами
             
Serial.writebytes,4);
            } 
       
irrecv.resume(); 
  } 

Код для Arduino без повторов при удерживании кнопки
PHP код:
// http://compcar.ru
#include <IRremote.h>
 
byte bytes[4];
int RECV_PIN 11;    //вход ИК приемника
IRrecv irrecv(RECV_PIN);
decode_results results;
 
void setup()
{
  
Serial.begin(115200);
  
irrecv.enableIRIn(); // включить приемник
}
 
void loop() {
  if (
irrecv.decode(&results)) 
  {
    if ((
results.value 0) && (results.value 0xFFFFFFFF))
    {
      
unsigned long res_dt results.value;
      
bytes[0] = res_dt 0xFF;          // преобразовать в 4-байта 
      
bytes[1] = (res_dt 0xFF00) >> 8
      
bytes[2] = (res_dt 0xFF0000) >> 16;
      
bytes[3] = (res_dt 0xFF000000) >> 24;
      
Serial.writebytes,4); // отправить прочитаное значение компьютеру      
    
}
       
irrecv.resume();
  }

Если у Вас клавиатура не имеет мультимедийных или прочих клавиш , то вы можете воспользоватся таблицей что бы добавить нужные клавиши в фаил config.txt в ручную.
Вложения
Тип файла: rar Виртуальные коды клавиш.rar (17.2 Кб, 661 просмотров)
Admin вне форума   Ответить с цитированием
Старый 23.05.2011, 23:42   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Обновление!
Появилась поддержка пультов ДУ 3D телевизоров Самсунг
Admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 18:24. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика