Показано с 1 по 4 из 4
  1. #1
    Пользователь
    Регистрация
    11.12.2008
    Возраст
    45
    Сообщений
    95
    Вес репутации
    234

    По умолчанию Передача ИК сигнала ардуинкой.

    Перелопатил всю доступную информацию по этому вопросу, но добиться результата так и не смог.

    Что имеем на данный момент:

    Вот этот код выполняется. Впаянный на место ИК диода обычный диод моргает. Ничего не виснет, но телевизор не реагирует.

    Все коды считал программкой из экзамплов библиотеки.

    PHP код:

      
    #include <IRremote.h>  

    IRsend irsend;  

    void setup()   
    {  
    }  

    void loop()   

     
    Serial.begin(115200); 
      for (
    int i 010i++) 
        {
        
    Serial.println("Send Mute to TV");  
        
    irsend.sendNEC(0x10EF28D732);
        
    Serial.println("OK!");
        
    delay(5000);  
        }
        
        

    Вот этот код реагирует на любые входящие кнопки, по после посылки сигнала (команда висит на определенной кнопке пульта) вешает наглухо ардуинку. (Не реагирует больше ни на какие кнопки)

    PHP код:
    // http://compcar.ru  
    #include <IRremote.h>  
       
    byte bytes[4];  
    int RECV_PIN 11;    //вход ИК приемника  
    IRrecv irrecv(RECV_PIN);
    IRsend irsend;
    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.write(bytes,4); // отправить прочитаное значение компьютеру
          //                 HiFonics DEC    HiFonics DEC    MyPult DEC
          //Hifonics - Power  4288612599   -   FF9F08F7   -   16724175    -    Power
          //Hifonics - Input  4288622799   -   FF9F30CF   -   16720095    -    Band
          //Hifonics - Mode   4288669719   -   FF9FE817   -   16711935    -    Mode
          //Hifonics - VolUP  4288630959   -   FF9F50AF   -   
          //Hifonics - VolDWN 4288626879   -   FF9F40BF   -   
          //Hifonics - Test   4288639119   -   FF9F708F   -   
          //Hifonics - Source 4288632999   -   FF9F58A7   -   
          //Hifonics - Setup  4288628919   -   FF9F48B7   -   16744575    -    AS/PS
          //Hifonics - Up     4288671759   -   FF9FF00F   -   16752735    -    Up
          //Hifonics - Down   4288647789   -   FF9F926D   -   16769055    -    Down
          //Hifonics - Left   4288614639   -   FF9F10EF   -   16728255    -    Left
          //Hifonics - Right  4288610559   -   FF9F00FF   -   16730295    -    Right
          //Hifonics - Enter  4288667679   -   FF9FE01F   -   16736415    -    Sel
          
          
    if (ir_dt == 16760895
                   {
                     
    Serial.println("Sending Mute to TV");
                     
    irsend.sendNEC(0x10EF28D732);
                     
    delay(250);
                     
    Serial.println("Send Mute to TV - Ok!");
                   }  
                     
          
    Serial.println(results.valueDEC);
          
    Serial.println(old_irHEX);
          
          if (
    old_ir == ir_dt)
               {
               
    delay(250); //Пауза между короткими нажатиями 
               

                 else 
                      {
                       
    delay(500); // Пауза после первого нажатия и удержания(перед повторами) 
                      
    }
          
    old_ir ir_dt
        }  
       if (
    results.value == 0xFFFFFFFF 
             { 
              
    delay(120); //пауза между повторами 
              
    Serial.println(old_irHEX); //Serial.write( bytes,4); 
             
    }  
      
    irrecv.resume();       
      }  

    Где и что копать дальше - ума не приложу. Готов уже забить на все это, но включение процессора хотелось бы все же автоматизировать...

    Может посмотрите, поделитесь идеями. Думаю многим бы пригодилось. Или это только у меня такие проблемы, а у всех все заработало с пол пинка, как у меня прием ИК команд...

  2. #2
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Передача ИК сигнала ардуинкой.

    Для начала скажи что за пульт от какого устройства? Может быть у тебя вовсе не NEC протокол
    Пробывал ли ты принимать команды с этого пульта ?

  3. #3
    Пользователь
    Регистрация
    11.12.2008
    Возраст
    45
    Сообщений
    95
    Вес репутации
    234

    По умолчанию Re: Передача ИК сигнала ардуинкой.

    Пульты разные. Пара пультов-карточек Витёк. От телевизора Шиваки. От телика Самсунг. Карточка от усилка. Нарульный JVC тож заработал - спасибо большое.
    Отправлять пробую на Шиваки. Все перечисленные пульты определяюся программой как пульты с 32 битным NEC протоколом. Распознавания четкие.

  4. #4
    Пользователь
    Регистрация
    11.12.2008
    Возраст
    45
    Сообщений
    95
    Вес репутации
    234

    По умолчанию Re: Передача ИК сигнала ардуинкой.

    Все еще бьюсь - результата ноль. Нереагирует и все. Коды считывает нормально. Ума не приложу - что сделать...

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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