欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機紅外對管尋跡小車設計 [打印本頁]

作者: 止于心    時間: 2019-1-6 11:30
標題: 單片機紅外對管尋跡小車設計



#include <red52.h>
sbit hongwai1=P1^0;   //定義紅外對管引腳  4個                  
sbit hongwai2=P1^1;
sbit hongwai3=P1^2;
sbit hongwai4=P1^3;                       
sbit ENA=P0^0;//電機驅動
sbit M1A=P0^1;                        
sbit M1B=P0^2;                           
sbit M2A=P0^3;                           
sbit M2B=P0^4;                          
sbit ENB=P0^5;
void tingzhi()         //停止
{
   M1A=0;                                 
   M1B=0;                                 
   M2A=0;                                   
   M2B=0;

}

void qianjin()         //前進  
{
   M1A=1;                                   
   M1B=0;                                   
   M2A=1;                                   
   M2B=0;
}

void houtui()    //后退
{
   M1A=0;                                   
   M1B=1;                                   
   M2A=0;                                   
   M2B=1;
}

void zuozhuan()          //左轉
{
   M1A=1;                                   
   M1B=0;                                   
   M2A=0;                                   
   M2B=1;
}
void weizuozhuan() //左微轉
{
   M1A=1;                                   
   M1B=0;                                   
   M2A=0;                                   
   M2B=0;
}


void youzhuan()           //右轉
{  
   M1A=0;                                   
   M1B=1;                                   
   M2A=1;                                   
   M2B=0;

}
void weiyouzhuan()        //右微轉                                
{
   M1A=0;                                   
   M1B=0;                                   
   M2A=1;                                   
   M2B=0;
}


void delay_nus(unsigned int i)  //延時函數
{
  i=i/10;
  while(--i);
}   
void delay_nms(unsigned int n) //延時函數
{
  n=n+1;
  while(--n)  
  delay_nus(900);         

}  
void ControlCar(unsigned char xunji)   
{

  tingzhi();       //首先是停止
switch(xunji)     //根據swith里面的值來驅動車                     
{
  case 1:                     
  {
    qianjin();
    break;
  }
  case 2:                       
  {
    houtui();                                
    break;
  }
  case 3:                     
  {
    zuozhuan();                              
        break;
  }
  case 4:                        
  {
    youzhuan();                              
        break;
  }
  case 5:                        
  {
    weiyouzhuan();                              
        break;
  }
   case 6:                     
  {
    weizuozhuan();                              
        break;
  }

  case 7:                    
  {
    tingzhi();
        break;                              
  }
}
}
void main()          //主函數                     
{
   delay_nms (30);//延時

  ControlCar(7);//停止
  ControlCar(1);//前進
   delay_nms (10);

  while(1)                                
  {  
          Start:          //行號
    ENA=1;//電機使能
        ENB=1;

   if(hongwai1==0&&hongwai2 == 0 && hongwai3 == 0&&hongwai4==0)   //尋跡模塊的情況判定,4個尋跡模塊,可以組合為16種情況
   {                                                            //根據需要選擇
      ControlCar(7);                     
      delay_nms (3);
          goto NextRun;
   }

    if(hongwai1==0&&hongwai2 == 0 && hongwai3 == 0&&hongwai4==1)   
   {   
      ControlCar(6);                     
      delay_nms (3);
          goto NextRun;
   }
    if(hongwai1==0&&hongwai2 == 0 && hongwai3 == 1&&hongwai4==1)   
   {  
      ControlCar(6);                     
      delay_nms (3);
          goto NextRun;
   }
    if(hongwai1==0&&hongwai2 == 0 && hongwai3 == 1&&hongwai4==0)   
   {
     ControlCar(6);                     
      delay_nms (3);
          goto NextRun;
   }
   if(hongwai1==1&&hongwai2 == 0 && hongwai3 == 0&&hongwai4==0)   
   {
      ControlCar(5);                     
      delay_nms (3);
          goto NextRun;
   }
    if(hongwai1==1&&hongwai2 == 1 && hongwai3 == 0&&hongwai4==0)   
   {
      ControlCar(5);                     
      delay_nms (3);
          goto NextRun;
   }
    if(hongwai1==0&&hongwai2 == 1 && hongwai3 == 0&&hongwai4==0)   
   {  
      ControlCar(5);                     
      delay_nms (3);
          goto NextRun;
   }
         if(hongwai1==1&&hongwai2 == 1 && hongwai3 == 1&&hongwai4==1)   
   {
      ControlCar(7);                     
      delay_nms (3);
          goto NextRun;
   }
            if(hongwai1==0&&hongwai2 == 0 && hongwai3 == 0&&hongwai4==0)   
   {
      ControlCar(7);                     
      delay_nms (3);
          goto NextRun;
   }
   if(hongwai1==0&&hongwai2 == 1 && hongwai3 == 1&&hongwai4==1)   
   {
      ControlCar(3);                     
      delay_nms (3);
          goto NextRun;
   }
   if(hongwai1==1&&hongwai2 == 1 && hongwai3 == 1&&hongwai4==0)   
   {
      ControlCar(4);                     
      delay_nms (3);
          break;
          goto NextRun;
   }

   goto Start;          //相當于返回  start行
   NextRun:
   ControlCar(1);

}
}




作者: 123qs    時間: 2019-3-13 19:43
四輪的用一個驅動模塊行嗎
作者: 止于心    時間: 2019-4-5 17:04
123qs 發表于 2019-3-13 19:43
四輪的用一個驅動模塊行嗎

可以的

作者: 求大神寫編程    時間: 2019-4-7 19:30
請問是stc12c5a60s2的嗎

作者: niuquanwang    時間: 2019-4-10 09:53
123qs 發表于 2019-3-13 19:43
四輪的用一個驅動模塊行嗎

可以,左側兩個輪子接一個輸出口,右側輪子接一個輸出口。
作者: zpj159    時間: 2019-4-10 16:28
請問這個速度怎么控制
作者: 止于心    時間: 2019-4-10 19:57
求大神寫編程 發表于 2019-4-7 19:30
請問是stc12c5a60s2的嗎

stc51

作者: 止于心    時間: 2019-4-10 19:58
zpj159 發表于 2019-4-10 16:28
請問這個速度怎么控制

pwm調速,定時器調脈沖寬度

作者: dats333    時間: 2019-4-21 10:54
請問能把您做的c51循跡小車的電路圖發給我嗎??還有配件清單
作者: 止于心    時間: 2019-4-25 08:42
dats333 發表于 2019-4-21 10:54
請問能把您做的c51循跡小車的電路圖發給我嗎??還有配件清單

L298N電機驅動模塊,紅外對管,最小系統,電源,

作者: Rainson    時間: 2019-5-8 13:06
請問樓主可以發工程嗎?
作者: Rainson    時間: 2019-5-14 10:26
請問這是用一個l298nma
作者: 止于心    時間: 2019-5-14 12:40
Rainson 發表于 2019-5-14 10:26
請問這是用一個l298nma

嗯,我使用了一個,兩個也可以

作者: geng123    時間: 2019-5-14 20:24
這個可以用嗎?
作者: 止于心    時間: 2019-5-16 20:58
geng123 發表于 2019-5-14 20:24
這個可以用嗎?

可以

作者: 電信172    時間: 2019-6-16 23:36
我的電機驅動模塊用的是L1109S,但我覺得原理都一樣,不過我實現不了循跡,就像一個斷了線的風箏一樣,走的是唯心派,可以幫我解決一下嗎,我可以把代碼發給你

作者: 止于心    時間: 2019-6-17 10:28
電信172 發表于 2019-6-16 23:36
我的電機驅動模塊用的是L1109S,但我覺得原理都一樣,不過我實現不了循跡,就像一個斷了線的風箏一樣,走的 ...

嗯吶,可以發過來一起學習。

作者: 來日可期1    時間: 2019-6-18 16:16
能循黑線走不?
作者: 止于心    時間: 2019-6-19 09:50
來日可期1 發表于 2019-6-18 16:16
能循黑線走不?

可以尋黑線
作者: 來日可期1    時間: 2019-6-19 14:12
止于心 發表于 2019-6-19 09:50
可以尋黑線

為啥我檢測到黑線就走不動
作者: 止于心    時間: 2019-6-19 16:07
來日可期1 發表于 2019-6-19 14:12
為啥我檢測到黑線就走不動

你可以調整一下紅外對管之間的距離
作者: 厚樸    時間: 2019-8-5 20:20
你好,這樣不需要用到晶振嗎
作者: qq19990601    時間: 2019-9-19 09:20
請問這個紅外模塊的電路是怎樣的?
作者: 止于心    時間: 2019-9-20 21:03
厚樸 發表于 2019-8-5 20:20
你好,這樣不需要用到晶振嗎

需要,最小系統里面有

作者: 止于心    時間: 2019-9-20 21:05
qq19990601 發表于 2019-9-19 09:20
請問這個紅外模塊的電路是怎樣的?

紅外對管一共有三個接口,一個接vcc一個接gnd還有一個接單片機的IO口,具體的可以上網查一下手冊。
作者: time'power    時間: 2020-2-24 11:17
有沒有PCB、原理圖
作者: 漠城    時間: 2020-8-7 22:38
樓主,請問,在轉彎處,在檢測到黑線后,電機沒來得及反應,小車就沖出黑線了,應該怎么調?
作者: 三旬    時間: 2020-8-9 18:20
樓主,頭文件寫錯了嗎?應該是#include<reg51.h>??
作者: 止于心    時間: 2020-11-13 15:37
漠城 發表于 2020-8-7 22:38
樓主,請問,在轉彎處,在檢測到黑線后,電機沒來得及反應,小車就沖出黑線了,應該怎么調?

可以用pwm調速

作者: 止于心    時間: 2020-11-13 15:38
三旬 發表于 2020-8-9 18:20
樓主,頭文件寫錯了嗎?應該是#include??

我用的是52系列的單片機
作者: hjx521    時間: 2020-11-26 19:55
123qs 發表于 2019-3-13 19:43
四輪的用一個驅動模塊行嗎

可以的。。。

作者: 自傳zz    時間: 2021-5-27 14:32
紅外對管怎么接上去
作者: 止于心    時間: 2021-6-19 21:33
自傳zz 發表于 2021-5-27 14:32
紅外對管怎么接上去

看程序定義的端口




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1