ESP-12F 紅外線發射器程式是根據 NEC 紅外線通訊協定(Infrared Protocol)來編寫,通過 ESP8266 的 GPIO15 訊號輸出到 IR LED,直接發射到紅外線接收器,接收器將接收訊息解碼。
ESP-12F 紅外線發射器 |
// 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%
天氣:天色大致良好
沒有留言:
張貼留言