- 积分
- 328
- 金钱
- 300
- 威望
- 0
- 贡献
- 0
- HASS币
- 0
中级会员
- 积分
- 328
- 金钱
- 300
- HASS币
- 0
|
发表于 2023-6-17 11:29:00
|
显示全部楼层
本帖最后由 tpsdm 于 2023-6-26 13:23 编辑
8266发原始数据代码不会写。我刚接触8266小白一个没基础。您可帮我写一个码?
经网友分享用这个写了一个,对小白来说太好了。
当你需要ChatGPT服务但无法翻墙或没有海外手机号码时,Chat8就是你的解决方案。我们基于OpenAi开发,所有用户内容都会加密,欢迎使用!点击使用: https://ai.chat86.co/go/kl/1050849
#include <IRremoteESP8266.h> // 红外接收和发射库#include <IRrecv.h>#include <IRsend.h>#include <RCSwitch.h> // 433MHz库#define IR_RECEIVE_PIN D2 // ESP8266上红外接收器的引脚#define IR_SEND_PIN D5 // ESP8266上红外发射器的引脚#define RF_SEND_PIN D6 // ESP8266上433MHz模块的引脚const unsigned long IR_SIGNALS[] = {0x12345678, 0x87654321}; // 要匹配的红外信号值数组const unsigned long RF_SIGNALS[] = {0xABCDEF01, 0x01FEDCBA}; // 对应的433MHz信号值数组const int NUM_SIGNALS = sizeof(IR_SIGNALS) / sizeof(IR_SIGNALS[0]);IRrecv irrecv(IR_RECEIVE_PIN);IRsend irsend(IR_SEND_PIN);RCSwitch rfSender;decode_results results;void setup(){ Serial.begin(115200); irrecv.enableIRIn(); irsend.begin(); rfSender.enableTransmit(RF_SEND_PIN);}void loop(){ if (irrecv.decode(&results)) { unsigned long receivedIRSignal = results.value; bool matched = false; for (int i = 0; i < NUM_SIGNALS; i++) { if (receivedIRSignal == IR_SIGNALS) { rfSender.send(RF_SIGNALS, 32); matched = true; delay(1000); // 如果要匹配并转发多个信号,请在此添加逻辑 } } if (!matched) { // 处理没有匹配到的红外信号的情况 } irrecv.resume(); }}
|
|