极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: thomas

BroadLink智能遥控变身小兔子

[复制链接]
发表于 2013-10-14 01:24:49 | 显示全部楼层
点名时间:http://www.demohour.com/projects/324774  家家智能的遥控宝二代已经直接支持315M和433M的射频遥控学习与控制功能。出手的速度比较快呀
回复 支持 反对

使用道具 举报

发表于 2013-10-14 09:40:00 来自手机 | 显示全部楼层
是的,没想到这么快。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-14 10:38:55 | 显示全部楼层
本帖最后由 thomas 于 2013-10-14 10:40 编辑
szpapas 发表于 2013-10-14 00:42
多谢楼主。

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


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

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

需要反相,我的电路图里有体现
回复 支持 反对

使用道具 举报

发表于 2013-10-14 14:28:31 | 显示全部楼层
thomas 发表于 2013-10-14 10:38
底座是我自己加的,当时是考虑方便测试用,也没想到这么容易。

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

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

http://item.taobao.com/item.htm? ... &_u=e1tn5m72eba
回复 支持 反对

使用道具 举报

发表于 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脚的波形。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-20 23:15:23 | 显示全部楼层
szpapas 发表于 2013-10-19 19:32
433 接收的。搭了一个反相电路,用的是S9015和2N3906,用Logic Sniffer来看好像没有转相,不知道是什么原因 ...




左边就是反相的三极管,只需要一个
回复 支持 反对

使用道具 举报

发表于 2013-10-21 00:56:00 | 显示全部楼层
兄弟,再帮帮忙。 433能够学习到,并且也记录在手机上了,但是从手机上通过wifi发送的时候,灯没控制成功。抓波形分析,看到发射的是38KHz的,外包络相同。

这个有点意思哈。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2013-10-21 09:22:53 | 显示全部楼层
thomas 发表于 2013-10-20 23:15
左边就是反相的三极管,只需要一个

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

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

使用道具 举报

 楼主| 发表于 2013-10-22 00:51:50 | 显示全部楼层
szpapas 发表于 2013-10-21 09:22
这个知道,是不是三极管有什么讲究,高频管。 3906 或者 9015 应该都可以的吧。

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


NPN,应该是9014把。不需要高频的,不是射频输出
回复 支持 反对

使用道具 举报

发表于 2013-10-23 18:15:59 | 显示全部楼层
换了一个3904,反相没问题了。

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2013-10-24 00:05:42 | 显示全部楼层
本帖最后由 szpapas 于 2013-10-24 20:40 编辑

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

在有杂波的情况下通过学习起来,比较费劲。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-25 03:12:33 | 显示全部楼层
本帖最后由 thomas 于 2013-10-26 23:55 编辑
szpapas 发表于 2013-10-23 18:15
换了一个3904,反相没问题了。

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


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

p0脚就是MPU的输出
p1是红外接收头
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-31 22:13:12 | 显示全部楼层
szpapas 发表于 2013-10-21 00:56
兄弟,再帮帮忙。 433能够学习到,并且也记录在手机上了,但是从手机上通过wifi发送的时候,灯没控制成功。 ...

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 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:OST)
  {
    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。



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 20:33 , Processed in 0.040640 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表