打印

求助,红外遥控代码问题!!

[复制链接]
4331|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fsfsafs|  楼主 | 2023-11-9 00:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
fsfsafs|  楼主 | 2023-11-9 17:25 | 只看该作者

使用特权

评论回复
板凳
coody| | 2023-11-9 21:31 | 只看该作者
检测按下时间,超过N秒就是长按,简单吧。

使用特权

评论回复
地板
xu@xupt| | 2023-11-9 23:15 | 只看该作者
#include <IRremote.h>
const int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // 启用红外接收器
}

void loop() {
  if (irrecv.decode(&results)) {
    unsigned long key_value = results.value;
    if (key_value == 0xFFA25D) {
      // 短按的红外编码值,这里是示例值,实际需要根据遥控器的编码来设定
      Serial.println("Short press detected");
    } else if (key_value == 0xFF629D) {
      // 长按的红外编码值
      Serial.println("Long press detected");
    }
    irrecv.resume(); // 继续接收下一个红外信号
  }
}

使用特权

评论回复
5
fsfsafs|  楼主 | 2023-11-9 23:44 | 只看该作者
coody 发表于 2023-11-9 21:31
检测按下时间,超过N秒就是长按,简单吧。

有代码给我参考一下嘛

使用特权

评论回复
6
xch| | 2023-11-10 11:00 | 只看该作者
xu@xupt 发表于 2023-11-9 23:15
#include
const int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);

也不知道用的是啥格式遥控?

使用特权

评论回复
7
alienmiller| | 2023-11-10 12:59 | 只看该作者
某宝上搜 红外遥控器,看里面的链接,资料例程大大滴有。

使用特权

评论回复
8
xu@xupt| | 2023-11-10 14:01 | 只看该作者
xch 发表于 2023-11-10 11:00
也不知道用的是啥格式遥控?

arduino例程

使用特权

评论回复
9
xch| | 2023-11-10 18:21 | 只看该作者

NEC  or PHILIPS?

使用特权

评论回复
10
xch| | 2023-11-10 18:30 | 只看该作者

你不是楼主乱插嘴干啥?


使用特权

评论回复
11
xch| | 2023-11-10 18:34 | 只看该作者
NEC 格式专门用 repeat 编码来表示按键连续按下。
Philips 格式在连续帧内某个特别位不反转来表示连续按下。

没搞清楚格式瞎写啥软件?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

10

帖子

0

粉丝