2018年4月10日 星期二

DIY - ESP8266:ESP-12F 紅外線發射器程式(七十八)

DIY - ESP8266:ESP-12F 紅外線發射器程式(七十八):

ESP-12F 紅外線發射器程式是根據 NEC 紅外線通訊協定(Infrared Protocol)來編寫,通過 ESP8266 的 GPIO15 訊號輸出到 IR LED,直接發射到紅外線接收器,接收器將接收訊息解碼。

ESP-12F 紅外線發射器
ESP8266 ESP-12F 紅外線發射器初始化(ir_remote.c /.h):
// IR LED Connected to GPIO15

ir_remote_init(PERIPHS_IO_MUX_MTDO_U, FUNC_GPIO15, 15, true);

void ICACHE_FLASH_ATTR ir_remote_init(uint32_t pin_mux, uint8_t pin_func, uint16_t pin_num, bool invert_logic_level)
{
            _gpio_pin_num = pin_num;

            _logic_low = invert_logic_level;
            _logic_high = !_logic_low;
            _pwm_lvl = _logic_low;

            gpio_init();
            PIN_FUNC_SELECT(pin_mux, pin_func);
            GPIO_OUTPUT_SET(_gpio_pin_num, _logic_low);

            RTC_CLR_REG_MASK(FRC1_INT_ADDRESS, FRC1_INT_CLR_MASK);
            RTC_REG_WRITE(FRC1_CTRL_ADDRESS, CLOCK_DIV_1 |   
           AUTO_RELOAD_CNT_TIMER | FRC1_ENABLE_TIMER | TM_EDGE_INT);
            RTC_REG_WRITE(FRC1_LOAD_ADDRESS, 0);
            ETS_FRC_TIMER1_INTR_ATTACH(pwm_tim1_intr_handler, NULL);
}

ESP8266 ESP-12F 紅外線發射器通訊協定標準
// Decoded value for Origon Remote
// Marks and Spaces are invert
// Speed=0xFF20DF, Power=0xFF28D7, Timer=0xFF08F7
// Mode=0xFF10EF,  OSC=0xFF30CF,   ION=0xFF18E7
#define ORIGO_FREQUENCY           38400
#define ORIGO_BITS                           32
#define ORIGO_HDR_MARK            8800
#define ORIGO_HDR_SPACE            4500
#define ORIGO_BIT_MARK              560                  // 495 ~ 826
#define ORIGO_ONE_SPACE            1600
#define ORIGO_ZERO_SPACE          560                  // 412 ~ 588
#define ORIGO_RPT_SPACE             2250
#define REPEAT                                   0xFFFFFFFF

ESP8266 ESP-12F 紅外線發射器
ESP8266 ESP-12F 紅外線發射器 OLED 顯示

ESP8266 程式:DIY – ESP12F – 022 IR 05 – TX Origo - 20180219

相關網址:
※ DIY - ESP8266:ESP-12F TSOP38 紅外線接收器模組介紹(七十三)
※ DIY - ESP8266:ESP-12F TSOP38 紅外線接收器電路(七十四)
※ DIY - ESP8266:ESP-12F NEC 紅外線通訊協定(七十五)
※ DIY - ESP8266:ESP-12F TSOP38 紅外線接收器程式(七十六)
※ DIY - ESP8266:ESP-12F 紅外線發射器電路(七十七):

2018年 4月 10日 天氣報告
氣溫:24.2@ 19:40
相對濕度:百分之 81%
天氣:天色大致良好

沒有留言:

張貼留言