GithubHelp home page GithubHelp logo

zhou19830318 / esp32-ir-remote-control Goto Github PK

View Code? Open in Web Editor NEW

This project forked from schreibfaul1/esp32-ir-remote-control

0.0 0.0 0.0 406 KB

C++ class for the infrared remote control and reciever module

C++ 100.00%

esp32-ir-remote-control's Introduction

ESP32-IR-Remote-Control

C++ class for the infrared remote control and reciever module

Arduino IR kit

Examplecode:

#include "Arduino.h"
#include "src/IR.h"

#define IR_PIN  4
IR ir(IR_PIN);  // do not change the objectname, it must be "ir"

    uint8_t ir_button[20] = {0x52,  // 0
                             0x16,  // 1
                             0x19,  // 2
                             0x0d,  // 3
                             0x0c,  // 4
                             0x18,  // 5
                             0x5e,  // 6
                             0x08,  // 7
                             0x1c,  // 8
                             0x5a,  // 9
                             0x42,  // #
                             0x4a,  // *
                             0x44,  // left
                             0x43,  // right 
                             0x46,  // up
                             0x15,  // down
                             0x40,  // OK 
                             0x00, 
                             0x00, 
                             0x00
    };

//--------------------------------------------------------------
void setup(){
    Serial.begin(115200);
    ir.begin();
    for(uint8_t i = 0; i < 20; i++) {
        ir.set_irButtons(i, ir_button[i]);
    }
    ir.set_irAddress(0x00);
}

void loop(){
    ir.loop();
    // do something else
    // ...
}
//--------------------------------------------------------------
//   events called from IR Library
//--------------------------------------------------------------
void ir_res(uint32_t res){
    Serial.print("ir_res: ");
    Serial.println(res);
}

void ir_number(uint16_t num){
    Serial.print("ir_number: ");
    Serial.println(num);
}

void ir_key(uint8_t key){
    Serial.print("ir_key: ");
    Serial.println(key);
}

void ir_long_key(int8_t key){
    Serial.print("long pressed key nr: ");
    Serial.println(key);
}

void ir_code(uint8_t addr, uint8_t cmd){
    Serial.printf("ir_code: ..  IR address 0x%02x, IR command 0x%02x\n", addr, cmd);
}

console output (pressed # 123):

Serial Console Output

recieved codewods for this RC:

RC Code

VS1838 pins;

VS1838B Pins

esp32-ir-remote-control's People

Contributors

schreibfaul1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.