搜索
bottom↓
回复: 45

用PIC12F629做的学习型无线遥控器

[复制链接]

出0入0汤圆

发表于 2009-10-16 09:52:57 | 显示全部楼层 |阅读模式
用PIC12F629做的学习型无线遥控器
前段时间搞了个学习型遥控器,今天打开研究下,划出电路如下,没有程序,大家来写写,

这个是使用方法:

第一步,清除已有的地址码

    首先我们必须同时按下遥控器上方的两个按键,这时LED不亮,约2秒后LED会闪3下,然后等1秒后请保持住左侧的按键不放,松开右侧的按键,在5秒内连续按三次右侧的按键(注意快慢频率,不成功可以多尝试几次,不要过快,按下和松开的时间大致相等),指示灯闪三次后快闪,这表明原来的地址码已经清除了,这时短按所有按键LED都不亮。

接下来就快速闪烁,这就说明地址码码已经被成功清除了。

第二步,复制其他遥控器的地址码

    将原配遥控器和学习遥控器尽量靠近,同时按住需要复制的按键和学习型遥控器的一个按键,这时LED没有立即点亮而是约2秒后红色LED闪烁3下接下来再快速闪烁,这说明这个按键的地址码已经学习成功!遥控器上其他3个按键也用同样的方法进行操作,我们甚至可以把两个不同地址码的遥控器(频率相同)合并学习到一个自学习遥控器中。需要注意的是有时原配遥控器和学习遥控器在学习时的相互位置很重要,有的可能头对头效果比较好,有的可能背靠背效果更好,客户可以多尝试学习几次,看哪一次学习后的遥控距离最远为佳。

误操作后的恢复操作:

    如果您不小心意外清除了自学习遥控器的地址码时,您还可以可以同时按下遥控器下方的两个按键约3秒后,LED会闪烁3下接下来就开始快速闪烁,这说明被意外清除的地址码已经被成功复原了。


此主题相关图片如下:



修改后:

此主题相关图片如下:

学习型遥控器电路 (原文件名:用PIC12F629做的学习型无线遥控器.PNG)


想打算把它改成学习型解码

下面是电路和使用方法

SW5是学习键,按下后可以学习2262和1527的地址码(多个),SW1--SW4是OI口状态切换键,和SW5配合可以切换输出口状态

按下SW5,接收板开始学习遥控器地址码,并存入内部存储器,可以学习多个遥控,没有学习的遥控解码后不输出

按下SW5,并同时按下SW1--4任意键,每按一次SW1--4,对应的IO口状态在暂态、自锁、互锁之间切换一次,学习后存入内部存储器。

D5正常解码指示,D6学习指示,学习时D5D6同时亮,学习成功后D6灭,正常时D5闪。

上电前按下SW5清除所有遥控器地址码,IO口状态恢复到暂态




此主题相关图片如下:




此主题相关图片如下:

学习型遥控器电路old (原文件名:学习型解码电路old.PNG)

为了保护IO口改变电路如下



此主题相关图片如下:


学习型遥控解码电路 (原文件名:学习型解码电路.PNG)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2009-10-16 09:53:58 | 显示全部楼层
那个来写代码拉?

出0入0汤圆

发表于 2009-10-17 10:10:03 | 显示全部楼层
你是不会写吗?
要不要我给你一个程序,PIC16F74

出0入0汤圆

发表于 2009-10-17 10:13:26 | 显示全部楼层
射频遥控接收程序 芯片:PIC16F74,晶振:8MHz  频率:433MHz 软件解码
void receive_datat_routine(void)
{
//        datapin_dir=1;
        for(i=5;i;i--);
        if(data_pin)
        {
          for(i=5;i;i--);
          if(data_pin)
          {
            OPTION=0B00000110;        // 1/128
            TMR0=0;
           T0IF=0;
//------------------------------------------------4ms start high
            for(;;)
            {
                 if(T0IF)return;
                 if(!data_pin)
                 {
                   if(TMR0<90) return;        //100*128*0.5=6400us~~14016
                   break;
                 }
            }
            OPTION=0B00000011;        // 1/16
            TMR0=0;
            T0IF=0;
//------------------------------------------------200us start low
            for(;;)
            {
                      if(T0IF)return;
                      if(data_pin)
                      {
                              if(TMR0<30)return;        //25*16*0.5=200us
                              break;
                      }
            }
            receive_data=0;
//------------------------------------------------ code high bit
            for(data_bit=8;;)
            {
                     TMR0=0;
              T0IF=0;
              for(;;)                                                        // high pulse
              {
                if(T0IF)return;
                if(!data_pin)
                {
                        if(TMR0<75)receive_data=receive_data&0x7f;//low level
                        else  receive_data=receive_data|0x80;          //high level
                        data_bit--;
                        break;
                }
              }
              if(!data_bit)
              {
                      get_data=1;
                      break;
              }
              receive_data=receive_data>>1;
                     TMR0=0;
              T0IF=0;
              for(;;)                                                        // low pulse
              {
                if(T0IF)return;
                if(data_pin)
                {
                        if(TMR0<30)return;
                        break;
                }
              }
            }

          }
        }
}

出0入0汤圆

发表于 2009-10-17 11:11:21 | 显示全部楼层
看看,曾经也做过

出0入0汤圆

发表于 2009-10-21 15:36:00 | 显示全部楼层
0

出0入0汤圆

发表于 2009-10-28 16:45:05 | 显示全部楼层
作个记号

出0入0汤圆

发表于 2010-9-23 12:48:00 | 显示全部楼层
标记

出0入0汤圆

发表于 2010-9-24 13:48:01 | 显示全部楼层
不错的帖子

出0入0汤圆

发表于 2010-9-25 09:11:47 | 显示全部楼层
做过,使用的是630。。。。对硬件标志怀疑。GP4用来干嘛,就是接LED灯的那个。三极管的基极没加限流电阻极易损坏三极管。

出0入0汤圆

发表于 2010-9-27 11:13:11 | 显示全部楼层
不错,看看

出0入0汤圆

发表于 2010-9-27 16:03:24 | 显示全部楼层
作个记号

出0入0汤圆

发表于 2010-11-10 20:40:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-10 21:45:45 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-10 21:49:21 | 显示全部楼层
不错

出0入0汤圆

发表于 2010-12-21 11:09:47 | 显示全部楼层
回复【9楼】jiabin1024
做过,使用的是630。。。。对硬件标志怀疑。gp4用来干嘛,就是接led灯的那个。三极管的基极没加限流电阻极易损坏三极管。
-----------------------------------------------------------------------

GP4是个输入引脚,作为SW5学习键的输入端口。
程序里不应该会让其输出强高电平的。

出0入0汤圆

发表于 2010-12-21 13:15:01 | 显示全部楼层
楼主这个东西可不能落在盗车贼的手里,不然问题就严重了。

出0入0汤圆

发表于 2010-12-21 13:27:56 | 显示全部楼层
我还以为有程序呢?

出0入0汤圆

发表于 2011-1-24 21:39:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-14 16:06:09 | 显示全部楼层
这玩意本来就是无线遥控破_解器!
一般用在犯罪用!(勿怪!我看见的事实)

出0入0汤圆

发表于 2011-3-3 22:21:43 | 显示全部楼层
要是51单片机就好了PIC不会用

出0入0汤圆

发表于 2011-3-3 23:05:58 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-3-3 23:06:15 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-3-22 15:13:13 | 显示全部楼层
做个记号!

出0入0汤圆

发表于 2011-3-22 15:20:20 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-4-18 12:12:10 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-4-19 11:04:35 | 显示全部楼层
回复【楼主位】askhua520 中方
-----------------------------------------------------------------------

想请教一下楼主,如何清除地址码?用硬件还是软件的方法??

出0入0汤圆

发表于 2011-11-18 22:23:48 | 显示全部楼层
看来是不懂啊,别人汽车遥控是滚动码的

出0入0汤圆

发表于 2011-11-20 20:55:24 | 显示全部楼层
支持中。。。。。

出0入0汤圆

发表于 2011-12-31 14:55:10 | 显示全部楼层
真不错,学习

出0入0汤圆

发表于 2011-12-31 16:59:02 | 显示全部楼层
无线遥控器,学习中。

出0入0汤圆

发表于 2012-1-6 17:11:42 | 显示全部楼层
已经有成品在卖哦

出0入0汤圆

发表于 2012-1-11 11:17:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-8-10 12:32:39 | 显示全部楼层
很不错呀     

出0入0汤圆

发表于 2012-8-10 12:33:13 | 显示全部楼层
超赞      

出0入0汤圆

发表于 2012-8-11 00:07:48 | 显示全部楼层
          mark

出0入0汤圆

发表于 2012-8-22 16:41:37 | 显示全部楼层
这种产品市场已经有很多在做了吧

出0入0汤圆

发表于 2012-8-31 17:00:59 | 显示全部楼层
不错不错

出0入0汤圆

发表于 2012-9-1 09:33:00 | 显示全部楼层
chenchunlin 发表于 2009-10-17 10:10
你是不会写吗?
要不要我给你一个程序,PIC16F74

  你是代写程序的吗?怎么收费啊

出0入0汤圆

发表于 2012-9-7 12:15:38 | 显示全部楼层
cxb19820729 发表于 2012-9-1 09:33
你是代写程序的吗?怎么收费啊

如果单单写通讯软件,可以免费帮你写!
接收和发送都可以的,

出0入0汤圆

发表于 2012-9-22 15:31:50 | 显示全部楼层
最近也在做这个,无线遥控器的解码,在做开关键的时候会出现开关开关很快的时候,被控对象反应不过来,我觉得应该是在判断连发的时候出现问题,但是不管怎么调整,都达不到很理想的效果,我想了一个办法,大家帮忙看看,在遥控器开关按键的时候 我们让按下一个发一个开的编码过去,再按下一次发一个关的编码过去,这样处理的话 在解码的时候就不用做连发判断(连发的判断最主要的目的在于开关开关的时候防止一次按键,被控对象多次操作,被控对象就不停的开关开关处理),但是这个思路的话 由于是单向控制,就会出现被控对象在下一次上电之后 不能做到同步,,,,大家看下有没有什么好的处理办法

出0入0汤圆

发表于 2013-10-17 06:07:39 来自手机 | 显示全部楼层
学习型无线遥控器

出0入70汤圆

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

本版积分规则

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

GMT+8, 2024-5-25 23:59

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

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