找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5699|回復(fù): 3
收起左側(cè)

三個(gè)對(duì)管智能循跡小車

[復(fù)制鏈接]
ID:84299 發(fā)表于 2015-11-18 21:17 | 顯示全部樓層 |閱讀模式
本次上傳的是,三個(gè)對(duì)管來檢測(cè)黑線,可以實(shí)現(xiàn)小車循跡,在十字交叉路口處可以擇道而行,也就是小車在田字形黑線地圖上可以根據(jù)自己設(shè)定的路線跑,在十字路口處自己選擇前進(jìn),左轉(zhuǎn)還是右轉(zhuǎn)。
IMG_20151118_210019.jpg

三個(gè)對(duì)管的安裝裝位置

三個(gè)對(duì)管的安裝裝位置

三對(duì)管循跡.rar

33.25 KB, 下載次數(shù): 48, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的積分獎(jiǎng)勵(lì)!

查看全部評(píng)分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:236952 發(fā)表于 2017-10-14 00:50 | 顯示全部樓層
這個(gè)真的很有用啊
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2017-10-14 01:03 | 顯示全部樓層
樓主程序的主要部分:
  1. #ifndef _DEF_H__
  2. #define _DEF_H__
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uint pwm_r_g=0,pwm_r_b=0,pwm_l_g=0,pwm_l_b=0;

  6. bit flag=0;
  7. sbit R=P2^0;
  8. sbit L=P2^1;
  9. sbit Z=P2^6;
  10. sbit D0=P2^2;
  11. sbit D1=P2^3;
  12. sbit D2=P2^4;
  13. sbit D3=P2^5;
  14. void init()
  15.   {
  16.         TMOD=0X01;
  17.     TH0=(65536-1000)/256;          //1Ms定時(shí)
  18.         TL0=(65536-1000)%256;
  19.     TR0=1;
  20.     ET0=1;
  21.         EA=1;   
  22.   }
  23.   uchar lukounum()//檢測(cè)路口
  24.   {
  25.           static uchar n=0;
  26.         if((R==1)&&(L==1)){ n++;flag=1;}
  27.         if(n==6){ n=0;}
  28.         return n;       
  29.   }
  30. void delayms(uint xms)
  31.         {
  32.                 uint i,j;
  33.                 for(i=xms;i>0;i--)
  34.                 for(j=110;j>0;j--);
  35.         }
  36. //void stop()     //停止
  37. //{
  38. //        D0=0;D1=0;D2=0;D3=0;
  39. //}       
  40. void pwmleftgo(uchar x)//左輪前進(jìn)調(diào)速
  41. {  
  42.         if(pwm_l_g<=x){ D2=1; }
  43.         else {D2=0;}
  44.         if(pwm_l_g>=20)
  45.            pwm_l_g=0;
  46.    }
  47.   
  48. void pwmleftback(uchar x)//左輪后退調(diào)速
  49. {
  50.     if(pwm_l_b<=x){ D3=1; }
  51.         else {D3=0;}
  52.         if(pwm_l_b>=20)
  53.            pwm_l_b=0;
  54.    }

  55. //    右電機(jī)調(diào)速         
  56.    void pwmrightgo(uchar x)//右輪前進(jìn)調(diào)速
  57. {
  58.         if(pwm_r_g<=x) {D0=1;}  
  59.         else {D0=0;        }  
  60.         if(pwm_r_g>=20)
  61.            pwm_r_g=0;
  62.    }
  63.     void pwmrightback(uchar x)//右輪后退調(diào)速
  64. {
  65.     if(pwm_r_b<=x) {D1=1;}
  66.         else {D1=0;}
  67.         if(pwm_r_b>=20)
  68.            pwm_r_b=0;
  69.    }
  70.    

  71. void run(uchar y)//前進(jìn)
  72. {
  73.          D1=0;D3=0;
  74.         pwmleftgo(y);                                
  75.         pwmrightgo(y);
  76. }
  77. // void rec(uchar y)   //后退                 
  78. //  {
  79. //        D0=0;
  80. //        pwmleftback(y);                                 
  81. //        D2=0;
  82. //        pwmrightback(y);                                 
  83. //  }
  84. void left(uchar y)  //左轉(zhuǎn)                     
  85.   {
  86.         pwmrightgo(y);
  87.         D1=0;                                 
  88.         D2=0;
  89.         D3=0;
  90.   }
  91. void right(uchar y) //右轉(zhuǎn)                        
  92.   {
  93.         D0=0;
  94.         D1=0;
  95.         pwmleftgo(y);
  96.         D3=0;
  97.        
  98.   }
  99.   void xun()
  100.   {
  101.         if((L==0)&&(R==1))                          
  102.    {
  103.            right(4);
  104.    }
  105.    if((L==1)&&(R==0))
  106.    {
  107.            left(4);
  108.    }
  109.           if((L==0)&&(R==0))                          
  110.    {
  111.             run(4);  
  112.         }
  113.   }
  114.   void lukouxuanze(uchar k)//路口選擇運(yùn)作方式
  115.   {
  116.           switch(k)
  117.           {
  118.                   case 0:run(4);break;
  119.                   case 1:left(4);break;
  120.                   case 2:right(4);break;
  121.                   case 3:right(4);break;
  122.                   case 4:left(4);break;
  123.                   case 5:run(4);break;
  124.           }  
  125.   }
  126.           
  127.           
  128. #endif
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:742403 發(fā)表于 2020-5-1 17:20 | 顯示全部樓層
admin 發(fā)表于 2017-10-14 01:03
樓主程序的主要部分:

這個(gè)主要部分,我在zip包里沒找見啊 難頂啊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表