紅外線遙控器控制LED-ESP3
tags: esp32
vs1838
紅外線遙控
**紅外接收器模塊使用 VS1838 光電二極管紅外接收器。它成本低且易於使用。
引腳:
它有 3 個引腳,即:
G - 接地引腳。
V - 電源電壓。
S——為紅外接收信號引腳。**
實驗1:
接收按鍵值
先匯入IRremote.h
上傳此範例
#include <IRremote.h>
int RECV_PIN = 15;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup(){
Serial.begin(115200);
irrecv.enableIRIn(); // 啟動接收器
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value);
irrecv.resume(); // 接數下一個按鍵值
}
delay(100);
}
實驗2
以上程式會轉成十進制
我須要1和2的按鍵來控制燈的明滅
所以利用剛剛1和2的十進制號碼進行設制
#include <IRremote.h>
int RECV_PIN = 15;
const int led = LED_BUILTIN;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup(){
Serial.begin(115200);
irrecv.enableIRIn(); // 啟動接收器
pinMode(led, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value);
irrecv.resume(); // 接數下一個按鍵值
}
delay(100);
if (results.value == 16724175){
digitalWrite(led, HIGH);
}else if (results.value == 16718055){
digitalWrite(led, LOW);
}
}