Категорії
Arduino

Скетч Arduino для IR пульта OPTICUM 9500 HD

Сломался родной пульт от ресивера OPTICUM 9500 HD аналог или родной так и не смог найти. Купил обучаемый пульт в Китае Universal 14in1 Smart Remote Control CHUNGSHOP RM-L14 (скачать инструкцию)(можно было бы обучить этот пульт от родного но родной сломался полностью), прикрутил к ардуинке инфракрасный светодиод от старого пульта и закатал вот такой скетч:

 Пульт держите близко, сигнал светодиода показался слабым. Для программирования кнопок в Serial. терминале Ардуины нажимаем соответсвующие коду цифры (1-14).

/*
 * IRremote: IRsendDemo - demonstrates sending IR codes with IRsend
 * An IR LED must be connected to Arduino PWM pin 3.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 */

#include "IRremote.h"

//press 1-10 (10 is zero pad) in serial terminal 
#define NUM_1 0xC03F807F
#define NUM_2 0xC03F40BF
#define NUM_3 0xC03FC03F
#define NUM_4 0xC03F20DF
#define NUM_5 0xC03FA05F
#define NUM_6 0xC03F609F
#define NUM_7 0xC03FD00F
#define NUM_8 0xC03F10EF
#define NUM_9 0xC03F906F
#define NUM_0 0xC03F00FF

//press 11-14
#define B_RED 0xC03FC23D
#define B_GREEN 0xC03F02FD
#define B_YELLOW 0xC03F926D
#define B_BLUE 0xC03F728D

//press 20-28
#define BUTUP 0xC03F9867
#define BUTDOWN 0xC03F58A7
#define BUTLEFT 0xC03FD827
#define BUTRIGHT 0xC03F38C7
#define BUTOK 0xC03FB847
#define BUTEXIT 0xC03F30CF
#define BUTMENU 0xC03F50AF
#define BUTPOWER 0xC03F08F7

#define B_RED 0xC03FC23D
#define B_GREEN 0xC03F02FD
#define B_YELLOW 0xC03F926D
#define B_BLUE 0xC03F728D

#define B_REC 0xC03F708F
#define B_PLAY 0xC03FA857
#define B_STOP 0xC03F2AD5
#define B_PAUSE 0xC03F7887

#define B_INFO 0xC03FDA25

#define B_LANG 0xC03FCA35





IRsend irsend;

void setup() {
 Serial.begin(9600);
 Serial.println("Arduino Ready");
}




void loop() {


  if (Serial.available() > 0) {

   int inc = Serial.parseInt();

    if(inc == 1){
       irsend.sendNEC(NUM_1, 32);
       Serial.println("NUM1");
    }
    else if (inc == 2){
       irsend.sendNEC(NUM_2, 32);
       Serial.println("NUM2"); 
    }
    else if (inc == 3){
       irsend.sendNEC(NUM_3, 32);
       Serial.println("NUM3"); 
    }
    else if (inc == 4){
       irsend.sendNEC(NUM_4, 32);
       Serial.println("NUM4"); 
    }
    else if (inc == 5){
       irsend.sendNEC(NUM_5, 32);
       Serial.println("NUM5"); 
    }
    else if (inc == 6){
       irsend.sendNEC(NUM_6, 32);
       Serial.println("NUM6"); 
    }
    else if (inc == 7){
       irsend.sendNEC(NUM_7, 32);
       Serial.println("NUM7"); 
    }
    else if (inc == 8){
       irsend.sendNEC(NUM_8, 32);
       Serial.println("NUM8"); 
    }
    else if (inc == 9){
       irsend.sendNEC(NUM_9, 32);
       Serial.println("NUM9"); 
    }
    else if (inc == 10){
       irsend.sendNEC(NUM_0, 32);
       Serial.println("NUM0"); 
    }
    else if (inc == 11){
       irsend.sendNEC(B_RED, 32);
       Serial.println("B_RED"); 
    }
    else if (inc == 12){
       irsend.sendNEC(B_GREEN, 32);
       Serial.println("B_GREEN"); 
    }        
    else if (inc == 13){
       irsend.sendNEC(B_YELLOW, 32);
       Serial.println("B_YELLOW"); 
    }
    else if (inc == 14){
       irsend.sendNEC(B_BLUE, 32);
       Serial.println("B_BLUE"); 
    }    
    


  }
  delay(10);
   
}

Для работы скетча нужно скачать библиотеку к ардуине https://github.com/z3t0/Arduino-IRremote

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

коды управления для пульта 9500

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *