5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

求日本田中红外接收的一个程序!!!

查看数: 1176 | 评论数: 8 | 收藏 3
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-7-8 23:02

正文摘要:

本帖最后由 物是人非0125 于 2014-7-13 21:45 编辑 红外控做好了,找到这个差速的电路图,想做个差速的小飞机,该网站http://blog.goo.ne.jp/toko0131/e/c9ed2b582cd5024d79ec2ab99cfa28b3上本来就有固件下载的, ...

回复

物是人非0125 发表于 2014-7-13 21:41
罗丰5 发表于 2014-7-13 18:37
有通讯协议的,

通讯协议?不懂。只是在日本的网站上看到这个电路,下面有固件下载链接的,只是不能下载了,不知道谁还有没有,贡献出来分享一下。。。

欢迎继续阅读楼主其他信息

罗丰5 发表于 2014-7-13 18:37

有通讯协议的,
yaoyonghe 发表于 2014-7-11 20:57
物是人非0125 发表于 2014-7-10 18:25
非常感谢,能给转化为HEX文件吗,直接可以下载到单片机里面的固件,我不会玩PIC单片机,只会下载程序

F629的hex没有,F200的有

hex.rar (453 Bytes, 下载次数: 12)

我做的,已验证能配田中的发射用



天边一只雁 发表于 2014-7-11 16:53
这个高难度
物是人非0125 发表于 2014-7-10 18:25
yaoyonghe 发表于 2014-7-10 14:34
// 26k0312rx2m.c
// 赤外線受信機2モータ制御 PIC12F629用 2006.3.12
//   入力??GP3:赤外線受光素子 ...

非常感谢,能给转化为HEX文件吗,直接可以下载到单片机里面的固件,我不会玩PIC单片机,只会下载程序

yaoyonghe 发表于 2014-7-10 14:34
// 26k0312rx2m.c
// 赤外線受信機2モータ制御 PIC12F629用 2006.3.12
//   入力??GP3:赤外線受光素子の出力
//   出力??GP0:右モータ、GP1:なし、GP2:左モータ、GP4:なし、GP5:なし

#include<12f629.h>
#fuses INTRC_IO,NOWDT,NOMCLR,NOPUT,NOBROWNOUT,NOPROTECT
#use delay(clock=4000000)

#define ON 1
#define OFF 0
#define HI 1
#define LOW 0

#byte  GP=5
#bit IRSIG=GP.3
#bit rmotor=GP.0
#bit lmotor=GP.2

int rcycl_cnt,lcycl_cnt,rduty_set,lduty_set;

#int_rtcc
void tmr0_warikomi()
{
  set_timer0(231);
  
  if(rcycl_cnt < rduty_set)
    rmotor=ON;
  else
    rmotor=OFF;
  
  if(lcycl_cnt < lduty_set)
    lmotor=ON;
  else
    lmotor=OFF;
   
  rcycl_cnt++;
  rcycl_cnt %=20;
  lcycl_cnt++;
  lcycl_cnt %=20;
}

//
//メイン関数
//

main(){
  int i,gcount,el_center,el_init,th_init,el_count;
  signed int rmix,lmix,th_low,th_count;
  
  //デジタル入力切り替え
  setup_comparator(NC_NC);
  GP=0;
  set_tris_a(0x08);//GP3入力、他は出力

  rduty_set=rcycl_cnt=0;
  lduty_set=lcycl_cnt=0;
  setup_timer_0(RTCC_INTERNAL | RTCC_DIV_2);
  set_timer0(231);
  
  enable_interrupts(INT_RTCC);
  enable_interrupts(GLOBAL);

  el_init=OFF;
  th_init=OFF;
  th_low=0;
  rmotor=OFF;
  lmotor=OFF;
  rmix=0;
  lmix=0;
  delay_ms(1000);

  while(1){//ギャップ検出ルーチン
    gcount=0;
    while(gcount < 30){
       if(IRSIG==HI){
         delay_us(100);
         gcount++;
       }
       else{
         gcount=0;
       }
    }
   
    While(IRSIG==HI){
    }
   
// 1ch(エルロン):未使用
    el_count=0;
    while(IRSIG==LOW){
      delay_us(50);
      el_count++;
    }
    while(IRSIG==HI){
      delay_us(50);
      el_count++;
    }
   
    if(el_init==OFF){
      el_center=el_count;
      el_init=ON;
    }

    if(el_count > el_center+3){
       lmix=(el_count-el_center)/2;
//       rmix=0;
       rmix=-lmix;
    }
    else if(el_count < el_center-3){
       rmix=(el_center-el_count)/2;
//       lmix=0;
       lmix=-rmix;
    }
    else{
       rmix=0;
       lmix=0;
    }
   
// 2ch(エレベータ):未使用
    while(IRSIG==LOW){
    }
    while(IRSIG==HI){
    }
   
// 3ch(スロットル)
    th_count=0;
    while(IRSIG==LOW){
      delay_us(50);
      th_count++;
    }
    while(IRSIG==HI){
      delay_us(50);
      th_count++;
    }
   
    if(th_init==OFF){
         th_low=th_count;
       th_init=ON;
    }

    th_count=th_count-th_low;

    if(th_count <= 2){
      th_count=0;
    }
    else if(th_count >= 16){
      th_count = 20;
    }

//    rduty_set=th_count;
//    lduty_set=th_count;
      
    rduty_set=th_count+rmix;
    lduty_set=th_count+lmix;

    if(rduty_set < 0)
      rduty_set=0;
    if(lduty_set < 0)
      lduty_set=0;

// 4ch(ラダー)
    while(IRSIG==LOW){
    }
        while(IRSIG==HI){
    }

}
}


物是人非0125 发表于 2014-7-10 12:24
没有人做过吗
3dbuild 发表于 2014-7-8 23:58
有通讯协议的,和你的控要对应
关闭

【站内推荐】上一条 /1 下一条

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