搜索
bottom↓
回复: 27

请教无线遥控怎样实现一对一和一对多

[复制链接]

出0入0汤圆

发表于 2008-5-4 14:18:37 | 显示全部楼层 |阅读模式
今天老板买回来个无线温度控制系统(315M),发射是用中颖单片机做的,接收是用华帮单片机做的,可以一个遥控器对一个接收器,也可以一个遥控器对多个接收器;一对一比较好做,一对多我不知道怎么做(买来的上面有个按键学习一下就可以了),我不知道哪个地址怎么自动分配,而不重复!

出0入54汤圆

发表于 2008-5-4 14:22:52 | 显示全部楼层
一个对多个就是那几个接收机都是同地址的,想想收音机能一个电台多少机器收到?呵呵

出0入0汤圆

 楼主| 发表于 2008-5-4 14:32:32 | 显示全部楼层
这个我知道的,我是想知道他的那个地址是怎么计算出来的,而且又不重复呢?我想这个地址是发送程序算出来的,接收单片机有EEPROM接收到地址以后保存起来了,以后就可以一直遥控了!

出0入0汤圆

发表于 2008-5-4 15:39:16 | 显示全部楼层
每个发射的地址应该都是唯一的,比如两个分别是:1,2
先用1号发射,按学习键时,接收就把1号的地址保存起来
再用2号发射,按学习键时,接收就把2号的地址保存起来
这样接收就有了1和2两个地址了。

使用时收到数据时,判断地址是不是1或者2,是的话接收,否则不接收。

出0入0汤圆

 楼主| 发表于 2008-5-4 16:02:39 | 显示全部楼层
应该是3楼说的,我现在是想这个地址是怎么计算出来的,假如1对5,我要有5000个机器,那我的发射的有1000个地址,那我不是要写1000个程序了,这样不是很麻烦,有没有更简单一点的办法!

出0入0汤圆

发表于 2008-5-5 08:28:57 | 显示全部楼层
5000个机器就应该要5000个地址而不是1000个地址,就算1对10也要5000个

出0入0汤圆

 楼主| 发表于 2008-5-5 08:48:35 | 显示全部楼层
那有没有办法写一个程序,就可以把5000个不同的地址包含进去呢?

出0入0汤圆

发表于 2008-5-5 08:58:54 | 显示全部楼层
无线通讯芯片是什么型号?我用CC1100做的无线测温系统,CC1100有两个广播用的地址0x00 0xff,这样用广播地址通讯就可以一对多了

出0入0汤圆

 楼主| 发表于 2008-5-5 09:06:45 | 显示全部楼层
用的是安阳电子研究所的发射和接收模块,不是CC1100的这种!

出0入0汤圆

 楼主| 发表于 2008-5-5 09:09:36 | 显示全部楼层
对了,七楼你的广播地址是怎么确定的(我的意思是主机在软件的情况下,不用拨码开关之类的东西实现)!

出0入0汤圆

发表于 2008-5-5 09:21:09 | 显示全部楼层
其实一对一和一对多的性质是一样的

出0入0汤圆

 楼主| 发表于 2008-5-5 09:27:48 | 显示全部楼层
这个我知道的,但是我现在不知道怎样软件编码地址!

出0入0汤圆

发表于 2008-5-5 09:40:06 | 显示全部楼层
楼主的系统中:假如有两台机器(甲和乙),每个机器有5个遥控器,如果用甲的其中一个遥控器能控制乙有没有问题?

出0入0汤圆

 楼主| 发表于 2008-5-5 10:12:30 | 显示全部楼层
要学习一下才可以的,要不不能控制!

出0入228汤圆

发表于 2008-5-5 10:48:44 | 显示全部楼层
我看了半天都没明白LZ的意思.呵

估摸着回答一下,看是否可以给LZ解疑:


无线发射(遥控器):

地址:一般都是随机乱设(个人喜好,这是我的用法,不知其他人怎么弄)
     如果是用PT2262做发射,则需要在硬件上改变编码地址,如果是软件编码,则看单片机软件吧.


--------------------
接收:
也有两种方式:
A:专用解码芯片,如2272
B:软件解码(只有这种方式才能有学习功能),看LZ的东东肯定是这种软解码.


接收机学习的过程,就是保存发射(遥控器)的地址.

保存好后,正常工作时,如果接收到信号,就比对一下是否在保存下来的发射地址库中.
如果是,则进行相应动作,如果不是,则扔掉不管.

相应的:如果要用多个遥控器,可以有两种方法:
1:遥控器相同地址,这样可以不用再重新学习了.
2:遥控器用不同地址,则需要进行学习

也可以1,2混用,
就是说如果有5个遥控器,可以其中若干是相同地址,其他是另外的地址.

出0入0汤圆

发表于 2008-5-5 11:05:29 | 显示全部楼层
可以这样实现
    先发一个识别码,再发地址码。识别码用来区分是广播还是单独寻址。
    接收机收到识别码后判断,如果是广播就直接执行,如果是单独寻址就判断收到的地址是否与自己一样,再执行

出0入0汤圆

 楼主| 发表于 2008-5-6 09:57:50 | 显示全部楼层
14,15楼正解,我现在的问题是这个地址怎么在软件上实现而不用硬件实现且地址不能有重复,如果用随机数也是有可能的,再说用单片机算随机数可能比较麻烦,不知道大家有没有好的解决办法用软件来实现!

出0入0汤圆

发表于 2008-5-6 11:57:37 | 显示全部楼层
协议

出0入0汤圆

发表于 2008-5-7 10:32:48 | 显示全部楼层
楼主的问题这么清楚,怎么有人说不明白呢?

我非常清楚楼主的问题,但是我跟楼主一样,也不知道别人是怎样做的,不过要是我做的话,我会这样做:我用的是AVR芯片,在烧写程序时,选择“序列号”,增量选1,保存在FLASH的某个地方,这样每烧一个芯片,序列号就会自动加1,这样该芯片就有了不同的地址


(原文件名:图.GIF)

出0入0汤圆

 楼主| 发表于 2008-5-9 08:59:04 | 显示全部楼层
18楼高手呀!我原来听说过有人这样用过,但是不知道怎么弄!这次知道了!

出0入0汤圆

发表于 2008-5-10 13:50:53 | 显示全部楼层
我一直想知道别人到底是怎么弄的,上面我说的做法不是很理想,因为每次烧写前还必须知道上次已经烧到多少号了。

难道没有人做过这方面的产品?

出0入0汤圆

 楼主| 发表于 2008-5-12 08:52:12 | 显示全部楼层
对呀!有人帮忙提示一下吗?

出0入0汤圆

发表于 2008-5-12 10:51:05 | 显示全部楼层
可以在每一台机中预置一个相同的码就解决了

出0入228汤圆

发表于 2008-5-12 11:58:37 | 显示全部楼层
越说越复杂了,,,搞了半天是在问序列号管理....

买台带序列号功能的编程器吧.呵
或者自己做台.

出0入228汤圆

发表于 2008-5-12 11:59:58 | 显示全部楼层
或者也可以使用
OSCCAL
值.

出0入0汤圆

 楼主| 发表于 2008-5-12 13:43:25 | 显示全部楼层
24楼可以解释一下吗?

出0入228汤圆

发表于 2008-5-13 11:29:24 | 显示全部楼层
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=859274&bbs_page_no=1&search_mode=1&search_text=OSCCAL&bbs_id=1000

出0入0汤圆

发表于 2009-11-11 16:07:01 | 显示全部楼层
mark..
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-3 22:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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