37℃画面感 发表于 2013-8-11 11:34:35

求助 红外遥控,发送无效

一个风扇的遥控器.(用机顶盒遥控器,学习后可以控制)
用IR自带的例子得到的数据如上:

Unknown encoding: A32AB931 (32 bits)
Raw (24): -13910 1300 -400 1300 -350 500 -1150 1350 -350 1300 -400 450 -1150 500 -1200 500 -1150 500 -1200 450 -1200 500 -1150 1350

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7150 1250 -450 1200 -450 450 -1200 1250 -450 1200 -450 400 -1250 450 -1200 500 -1200 400 -1250 450 -1250 400 -1250 1250

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7150 1250 -450 1200 -450 400 -1250 1250 -450 1200 -450 400 -1250 450 -1200 450 -1250 400 -1250 450 -1250 400 -1250 1250

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7150 1250 -450 1200 -450 400 -1250 1250 -450 1200 -450 400 -1250 450 -1200 450 -1250 400 -1250 450 -1250 400 -1250 1250

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7150 1250 -450 1200 -450 400 -1250 1250 -450 1200 -450 400 -1250 450 -1200 450 -1250 400 -1250 450 -1250 400 -1250 1250

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7150 1250 -450 1200 -450 400 -1250 1250 -450 1200 -450 400 -1250 400 -1250 450 -1250 400 -1250 450 -1250 400 -1250 1250

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7200 1200 -500 1200 -450 350 -1300 1250 -450 1200 -450 400 -1250 400 -1250 400 -1300 400 -1250 400 -1300 400 -1250 1250
然后用机顶盒遥控器学习功能(可以成功遥控)
抓机顶盒此功能键的数据如下:

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7000 1350 -350 1350 -300 500 -1150 1350 -350 1350 -300 500 -1200 500 -1150 500 -1150 550 -1150 500 -1150 500 -1200 1300

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7050 1350 -350 1350 -300 500 -1200 1300 -350 1350 -300 550 -1150 500 -1150 500 -1200 500 -1200 450 -1150 550 -1150 1350

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7050 1350 -300 1350 -350 400 -1250 1350 -300 1350 -350 500 -1150 500 -1200 500 -1150 500 -1150 500 -1200 500 -1150 1300

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7100 1300 -400 1250 -400 450 -1200 1300 -400 1250 -400 450 -1250 400 -1250 450 -1200 450 -1250 450 -1200 450 -1250 1250

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7150 1250 -400 1300 -400 400 -1250 1250 -400 1300 -400 500 -1150 450 -1250 500 -1150 500 -1150 450 -1250 450 -1200 1300

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7100 1300 -400 1250 -400 450 -1200 1300 -400 1250 -400 450 -1250 400 -1250 450 -1200 450 -1250 450 -1200 450 -1250 1250

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7150 1250 -400 1300 -400 400 -1250 1250 -400 1300 -400 450 -1200 450 -1250 400 -1250 450 -1200 450 -1250 450 -1200 1300

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7150 1250 -450 1250 -400 400 -1250 1250 -450 1250 -400 450 -1250 400 -1250 400 -1250 450 -1250 400 -1250 450 -1250 1250

Unknown encoding: A32AB931 (32 bits)
Raw (24): -7150 1250 -400 1250 -450 400 -1250 1250 -400 1250 -450 400 -1250 400 -1300 400 -1250 400 -1250 450 -1250 400 -1250 1250

可是无论我从audrino发哪一个数值0xA32AB931 或是RAW都无效.
请高手帮我看一下.怎么解决.
备注:买过来的红外发射组件,一直没试成功过.不知道会不会坏了(用摄像头看有红光,发射一次就一直亮着)

37℃画面感 发表于 2013-8-11 11:38:02

本帖最后由 37℃画面感 于 2013-8-11 15:59 编辑

附上原代码
#include <IRremote.h>

unsigned int raw0 = {-7000,1350,-350,1350,-300,500,-1200,1350,-300,1350,-300,550,-1150,500,-1200,450,-1200,500,-1150,500,-1150,550,-1150,1350};

int code=0xA32AB931;
IRsend irsend;

void setup()
{
Serial.begin(9600);
}

void loop() {
if (Serial.read() != -1) {
          Serial.println("send");
    for (int i = 0; i < 50; i++) {
                //irsend.sendRC6(code, 14); // Sony TV power code
                Serial.print("s,");
                irsend.sendRaw(raw0,24,38);
      delay(40);
    }
}
}

pathletboy 发表于 2013-8-11 11:55:32

#include <IRremote.h>

unsigned int raw0 = {-7000,1350,-350,1350,-300,500,-1200,1350,-300,1350,-300,550,-1150,500,-1200,450,-1200,500,-1150,500,-1150,550,-1150,1350};

int code=0xA32AB931;
IRsend irsend;

void setup()
{
        Serial.begin(9600);
}

void loop()
{
        if (Serial.read() != -1)
        {
                Serial.println("send");
                for (int i = 0; i < 50; i++)
                {
                        //irsend.sendRC6(code, 14); // Sony TV power code
                        Serial.print("s,");
                        for (int n=0; n<sizeof(raw0)/2; n++)
                        {
                                raw0&= (~0x8000);
                        }
                        irsend.sendRaw(raw0,24,38);
                        delay(40);
                }
        }
}试试这个

Be1ieve 发表于 2013-8-11 13:47:30

第一個-7000放到最後?

37℃画面感 发表于 2013-8-11 15:52:00

pathletboy 发表于 2013-8-11 11:55 static/image/common/back.gif
试试这个

试了,还是不行.

37℃画面感 发表于 2013-8-11 15:52:17

Be1ieve 发表于 2013-8-11 13:47 static/image/common/back.gif
第一個-7000放到最後?

这个也不行.

pathletboy 发表于 2013-8-11 16:16:57

37℃画面感 发表于 2013-8-11 15:52 static/image/common/back.gif
试了,还是不行.

手工把你数组里的“负号”替换掉,再用你原来的代码试试。

37℃画面感 发表于 2013-8-11 17:07:25

pathletboy 发表于 2013-8-11 16:16 static/image/common/back.gif
手工把你数组里的“负号”替换掉,再用你原来的代码试试。

#include <IRremote.h>

unsigned int raw0 = {7000,1350,350,1350,300,500,1200,1350,300,1350,300,550,1150,500,1200,450,1200,500,1150,500,1150,550,1150,1350};

int code=0xA32AB931;
IRsend irsend;

void setup()
{
Serial.begin(9600);
}

void loop() {
if (Serial.read() != -1) {
          Serial.println("send");
    for (int i = 0; i < 5; i++) {
                //rsend.sendSony(code, 24); // Sony TV power code
                Serial.print("s,");
                /*for (int n=0;n<sizeof(raw0)/2;n++)
                {
                        raw0&=(~0x8000);
                }*/
                irsend.sendRaw(raw0,24,38);
      delay(40);
    }
}
}

还是不行

Be1ieve 发表于 2013-8-11 18:41:42

去掉負數然後7000往後?
我抓空調的結果是這樣的

Ansifa 发表于 2013-8-12 09:54:10

Unknown encoding一般都比较难的,看看这个吧http://www.geek-workshop.com/forum.php?mod=viewthread&tid=5095

37℃画面感 发表于 2013-8-12 10:45:52

Ansifa 发表于 2013-8-12 09:54 static/image/common/back.gif
Unknown encoding一般都比较难的,看看这个吧http://www.geek-workshop.com/forum.php?mod=viewthread&tid= ...

除了这种方式没有别的办法了? 我一直想测试一下我的红外发射器是不是有问题,因为之前弄电视也没成功,是夏谱的电视,解出也也是unknow encoding

瘦网虫 发表于 2013-8-12 11:27:24

Unkown是因为没有对应编码,你“必须”找到原始码,并发送原始码才可以。

怎么操作,论坛里好多人都写了例子了,你多搜索下。

37℃画面感 发表于 2013-8-12 13:00:05

瘦网虫 发表于 2013-8-12 11:27 static/image/common/back.gif
Unkown是因为没有对应编码,你“必须”找到原始码,并发送原始码才可以。

怎么操作,论坛里好多人都写了 ...

太好了,你在啊.看了你的贴子了,没怎么弄明白.能给个链接吗?另外,是不是用"逻辑分析仪"可以比较容易的找出来.我在淘宝上看了,那个都要2-300的 你那个35的是哪个,有木有连接,给我一个.谢谢.

瘦网虫 发表于 2013-8-12 15:58:39

楼上的,按价格从低到高排序,瞬间就出来了。

瘦网虫 发表于 2013-8-12 16:00:09

http://www.geek-workshop.com/thread-3084-1-1.html

你把我的几个帖子顺序看完,

仔细看!!

肯定可以解决问题的。
页: [1] 2
查看完整版本: 求助 红外遥控,发送无效