jikegogogo 发表于 2013-10-14 01:24:49

点名时间:http://www.demohour.com/projects/324774家家智能的遥控宝二代已经直接支持315M和433M的射频遥控学习与控制功能。出手的速度比较快呀

szpapas 发表于 2013-10-14 09:40:00

是的,没想到这么快。

thomas 发表于 2013-10-14 10:38:55

本帖最后由 thomas 于 2013-10-14 10:40 编辑

szpapas 发表于 2013-10-14 00:42 static/image/common/back.gif
多谢楼主。

看起来还有点不一样。你那个红外接收的838下面还有个底座呀,是自己加的还是原来就带的?...

底座是我自己加的,当时是考虑方便测试用,也没想到这么容易。

接收我还没焊呢,没买到3.3v的 315、433双频模块

需要反相,我的电路图里有体现

szpapas 发表于 2013-10-14 14:28:31

thomas 发表于 2013-10-14 10:38 static/image/common/back.gif
底座是我自己加的,当时是考虑方便测试用,也没想到这么容易。

接收我还没焊呢,没买到3.3v的 315、 ...

可以用5V的模块吧,输入就是5V的。

http://item.taobao.com/item.htm?spm=a230r.1.14.30.JK3BLb&id=14723998189&_u=e1tn5m72eba

szpapas 发表于 2013-10-19 19:32:42

433 接收的。搭了一个反相电路,用的是S9015和2N3906,用Logic Sniffer来看好像没有转相,不知道是什么原因。

接线是这样的。 VCC 是 3.3V的。

433 的 data 出来,然后接一个10K 电阻,连接到 PNP 的 Base, VCC(3.3V) 接10k电阻到 PNP的 E 脚,PNP的C接地。

如果这样,就感觉上不需要做反向了。 分别抓的是B脚和E脚的波形。



thomas 发表于 2013-10-20 23:15:23

szpapas 发表于 2013-10-19 19:32 static/image/common/back.gif
433 接收的。搭了一个反相电路,用的是S9015和2N3906,用Logic Sniffer来看好像没有转相,不知道是什么原因 ...

http://image.geek-workshop.com/forum/201310/08/202233vprkhktpru9j9ysy.gif


左边就是反相的三极管,只需要一个

szpapas 发表于 2013-10-21 00:56:00

兄弟,再帮帮忙。 433能够学习到,并且也记录在手机上了,但是从手机上通过wifi发送的时候,灯没控制成功。抓波形分析,看到发射的是38KHz的,外包络相同。

这个有点意思哈。

szpapas 发表于 2013-10-21 09:22:53

thomas 发表于 2013-10-20 23:15 static/image/common/back.gif
左边就是反相的三极管,只需要一个

这个知道,是不是三极管有什么讲究,高频管。 3906 或者 9015 应该都可以的吧。

反相就是起触发作用吧,后面的波形还是一样的?

thomas 发表于 2013-10-22 00:51:50

szpapas 发表于 2013-10-21 09:22 static/image/common/back.gif
这个知道,是不是三极管有什么讲究,高频管。 3906 或者 9015 应该都可以的吧。

反相就是起触发作用吧 ...

NPN,应该是9014把。不需要高频的,不是射频输出

szpapas 发表于 2013-10-23 18:15:59

换了一个3904,反相没问题了。

学习到后,只绑定成功了一次。主要问问题还是在发射电路。这个发射是驱动红外管发射的,所以频率是38KHz的,这样出来的波形肯定和驱动433发射的不同。

最好能找到红外输出再前一级的地方来推动433的发射。

szpapas 发表于 2013-10-24 00:05:42

本帖最后由 szpapas 于 2013-10-24 20:40 编辑

433/315 接收会有很多杂波的,这个也会影响到信号的学习的。接收433MHz的时候用了3.3V的电压,杂波少一些。

在有杂波的情况下通过学习起来,比较费劲。

thomas 发表于 2013-10-25 03:12:33

本帖最后由 thomas 于 2013-10-26 23:55 编辑

szpapas 发表于 2013-10-23 18:15 static/image/common/back.gif
换了一个3904,反相没问题了。

学习到后,只绑定成功了一次。主要问问题还是在发射电路。这个发射是驱动 ...

最好能找到红外输出再前一级的地方来推动433的发射。

p0脚就是MPU的输出
p1是红外接收头

thomas 发表于 2013-10-31 22:13:12

szpapas 发表于 2013-10-21 00:56 static/image/common/back.gif
兄弟,再帮帮忙。 433能够学习到,并且也记录在手机上了,但是从手机上通过wifi发送的时候,灯没控制成功。 ...

我连433的窗帘,窗户都一起控制了,兼容性极好。
前几天又拆开了一下,再给你拍张图。 发射一共引出两根引线,非常简单。

另,你推荐的双模接收不可取,严重上当了。千万别买
1.工作在5v电压。
2.不是照片中的358芯片,全是散件拼的,体积巨大。
3.我看上的几个发射接收模块都没有货。害得我白拍了一堆,又挨个退货。

szpapas 发表于 2013-11-1 13:37:52

多谢。还好,我没买。5V到没什么问题,1117的 管脚 分别是GND, OUT, 5V,我从那里取的电。

我现在用WebDunio做了一个RF的控制。

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

switch_315.enableReceive(0);// Receiver on inerrupt 0 => that is pin #2
switch_315.enableTransmit(8);

switch315_delay = 350;
   
Ethernet.begin(mac, ip);
webserver.begin();

webserver.setDefaultCommand(&defaultCmd);

webserver.addCommand("read", &readCmd);
webserver.addCommand("write", &writeCmd);

}

void loop()
{
// process incoming connections one at a time forever
webserver.processConnection();

if (switch_315.available()) {
    Serial.println("315");
    switch315_dec = switch_315.getReceivedValue();
    switch315_length = switch_315.getReceivedBitlength();
    switch315_delay = switch_315.getReceivedDelay();
    output(switch_315.getReceivedValue(), switch_315.getReceivedBitlength(), switch_315.getReceivedDelay(), switch_315.getReceivedRawdata(),switch_315.getReceivedProtocol());
    switch_315.resetAvailable();
}

delay(10);
// if you wanted to do other work based on a connecton, it would go here
}

unsigned long switch315_dec, switch315_length, switch315_delay;

void readCmd(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)
{
if (type == WebServer::POST)
{
    server.httpFail();
    return;
}

server.httpSuccess("application/json");

if (type == WebServer::HEAD)
    return;

server << "{ ";
server << "decimal:" << switch315_dec << ", length: " << switch315_length <<", delay:" << switch315_delay ;
server << " }";

}

void writeCmd(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)
{
if (strlen(url_tail))
{
    unsigned long dec_val = atol(url_tail);
    switch_315.setPulseLength(switch315_delay);
    switch_315.send(dec_val, 24);
    //switch_315.sendTriState("FF1FFF000010");
    delay(1000);
    server << "Success";
}
else
    server << "Unknow Cmd";
}

直接通过Web就可以控制了。 然后再写一个IOS的App。



页: 1 [2]
查看完整版本: BroadLink智能遥控变身小兔子