找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2525|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

求助 兩個紅外的智能小車的源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:246031 發(fā)表于 2017-11-10 12:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本人大一,參加了學校的智能小車賽, 但是對于編程還是不太會,求助各位大佬。 可以不避障

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:248052 發(fā)表于 2017-11-10 13:47 | 只看該作者
說一下大概思路
回復(fù)

使用道具 舉報

板凳
ID:248048 發(fā)表于 2017-11-10 14:01 | 只看該作者
#include "nRF24L01.h"
       
uchar TX_ADDRESS[TX_ADR_WIDTH]={0xFF,0xFF,0xFF,0xFF,0xFF}; //發(fā)送地址
uchar RX_ADDRESS[RX_ADR_WIDTH]={0xFF,0xFF,0xFF,0xFF,0xFF}; //接收地址

uchar   rate = 0x0F;    //2Mbs, 0dB  低噪聲增益開啟
//--定義一個全局變量--//
unsigned char timer1;

void Time1Config();


sbit        L1                  =P3^4;                                          //驅(qū)動模塊in1,2,3.4
sbit        L2                  =P3^5;
sbit        R1                  =P3^6;
sbit        R2                  =P3^7;
sbit    m1       =P2^1;
sbit    m2       =P2^0;
sbit    h1       =P2^2;
sbit PWM1=P3^4;
sbit PWM2=P3^5;
sbit PWM3=P3^6;
sbit PWM4=P3^7;       
uchar rece_buf[32];                                                        //接收寄存器
//int num,S=0,time=0,timer=0;                                                        //a0=37:最大角度,脈寬1.899ms

void delay(uint t)
{
        uint a,b;
        for(a=0;a<t;a++)
                for (b=0;b<110;b++);
}//          尋跡
void Time1(void) interrupt 3    //3 為定時器1的中斷號  1 定時器0的中斷號 0 外部中斷1 2 外部中斷2  4 串口中斷
{   
        TH1 = 0xFE;  //重新賦初值
        TL1 = 0x0C;
        timer1++;   
}

          void Time1Config()
{
        TMOD|= 0x10;   //設(shè)置定時計數(shù)器工作方式1為定時器

        //--定時器賦初始值,12MHZ下定時0.5ms--//  
        TH1 = 0xFE;
        TL1 = 0x0C;

       
        ET1 = 1;          //開啟定時器1中斷
        EA = 1;
        TR1 = 1;         //開啟定時器       
}
void main()
{  
int i,t;

//尋跡
Time1Config();
        while(1)
        {
                if(h1==1)
                {
                                 if(timer1>60)  //PWM周期為100*0.5ms
                {
                        timer1=0;
                }
                if(timer1 <60)        //改變30這個值可以改變直流電機的速度
                {
                        PWM1=0;
                        PWM2=1;
                        PWM3=0;
                        PWM4=1;
                        delay(100);
                        }
                        else
                {
                        PWM1=0;
                        PWM2=0;
                        PWM3=0;
                        PWM4=0;

                }
                }


         else        if(m1==0&&m2==0)                           //第1位以后是收到的命令數(shù)據(jù),rece_buf[0]是數(shù)據(jù)位數(shù)長度
                                {

                                                if(timer1>100)  //PWM周期為100*0.5ms
                {
                        timer1=0;
                }
                if(timer1 <15)        //改變30這個值可以改變直流電機的速度
                {
                        PWM1=1;
                        PWM2=0;
                        PWM3=0;
                        PWM4=1;
                }
                           else
                {
                        PWM1=0;
                        PWM2=0;
                        PWM3=0;
                        PWM4=0;

                }

                                }
                                else if(m1==1&&m2==1)                         //第1位以后是收到的命令數(shù)據(jù),rece_buf[0]是數(shù)據(jù)位數(shù)長度
                                {
                                                                   if(timer1>100)  //PWM周期為100*0.5ms
                {
                        timer1=0;
                }
                if(timer1 <15)        //改變30這個值可以改變直流電機的速度
                {
                        PWM1=0;
                        PWM2=1;
                        PWM3=1;
                        PWM4=0;


                                }
                                           else
                {
                        PWM1=0;
                        PWM2=0;
                        PWM3=0;
                        PWM4=0;

                }
                                 }
                else if(m1==1&&m2==0)                         //第1位以后是收到的命令數(shù)據(jù),rece_buf[0]是數(shù)據(jù)位數(shù)長度
                {
                           L1        =0;
                        L2        =1;
                        R1        =1;
                        R2        =0;
                        delay(10);

                        if(timer1>60)  //PWM周期為100*0.5ms
                {
                        timer1=0;
                }
                if(timer1 <60)        //改變30這個值可以改變直流電機的速度
                {
                        PWM1=1;
                        PWM2=0;
                        PWM3=1;
                        PWM4=0;        }
                else
                {
                        PWM1=0;
                        PWM2=0;
                        PWM3=0;
                        PWM4=0;

                }

                                }       
                        else if(m1==0&&m2==1)                         //第1位以后是收到的命令數(shù)據(jù),rece_buf[0]是數(shù)據(jù)位數(shù)長度
                        {
                    L1        =0;
                        L2        =1;
                        R1        =1;
                        R2        =0;
                        delay(10);

                                if(timer1>60)  //PWM周期為100*0.5ms
                {
                        timer1=0;
                }
                if(timer1 <60)        //改變30這個值可以改變直流電機的速度
                {
                        PWM1=0;
                        PWM2=1;
                        PWM3=0;
                        PWM4=1;
                        }
                        else
                {
                        PWM1=0;
                        PWM2=0;
                        PWM3=0;
                        PWM4=0;

                }
        }
                        delay(20);
        }
                  
回復(fù)

使用道具 舉報

地板
ID:196928 發(fā)表于 2017-11-10 19:17 | 只看該作者
3.例程代碼.rar (5.31 KB, 下載次數(shù): 3)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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