|
本項(xiàng)目由兩塊arduino nano搭建,具有遙控功能,直線自動(dòng)跟隨功能,避障功能(采用一個(gè)超聲波,沒有進(jìn)行詳細(xì)的計(jì)算,所有效果相對(duì)較差,將車速調(diào)慢會(huì)好很多) 三種模式可以由遙控切換。
以下為部分代碼:
byte ad[8] = {0,0,0x6f,0,0,0,0,0};
int sx,sy;
//----------------------------------------- 避障
#define scanning_angle 90 //掃描角度
#define distance 50 //避障距離
#define jkl 45 //前進(jìn)速度
int i=scanning_angle,j,cm;
int trig = 11;
int echo = 12;
int servoPin = 13;
boolean o=false;
void self_motion_init_pin() //引腳定義
{
pinMode(trig,OUTPUT);
pinMode(echo,INPUT);
pinMode(servoPin,OUTPUT);//設(shè)置舵機(jī)接口為輸出接口
}
void self_motion_distance() //計(jì)算超聲波距離
{
long us;
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
us = pulseIn(echo,HIGH);
cm = us*17/1000;
}
void self_motion_servo(int angle) //定義一個(gè)脈沖函數(shù) 發(fā)送50個(gè)脈沖 舵機(jī)
{
for(int i=0;i<50;i++){
int pulsewidth = (angle * 11) + 500; //將角度轉(zhuǎn)化為500-2480的脈寬值
digitalWrite(servoPin, HIGH); //將舵機(jī)接口電平至高
delayMicroseconds(pulsewidth); //延時(shí)脈寬值的微秒數(shù)
digitalWrite(servoPin, LOW); //將舵機(jī)接口電平至低
delayMicroseconds(20000 - pulsewidth);
}
}
void self_motion_go() //車輛運(yùn)行程序
{
digitalWrite(5,LOW); analogWrite(9,jkl); digitalWrite(6,LOW); analogWrite(10,jkl);//前進(jìn)
if((i>60)&&(cm<distance))
{
analogWrite(9,jkl+40); digitalWrite(5,LOW); digitalWrite(6,LOW); analogWrite(10,jkl-20);//右轉(zhuǎn)
}
if((i<60)&&(cm<distance))
{
digitalWrite(5,LOW); analogWrite(10,jkl-20); analogWrite(10,jkl+40); digitalWrite(6,LOW);//左轉(zhuǎn)
}
if((i==60)&&(cm<(distance+10))&&(j>=5))
{
digitalWrite(9,LOW); digitalWrite(5,HIGH); digitalWrite(10,HIGH); digitalWrite(6,LOW);//左轉(zhuǎn)
}
if((i==60)&&(cm<40)&&(j<5))
{
digitalWrite(9,HIGH); digitalWrite(5,LOW); digitalWrite(10,LOW); digitalWrite(6,HIGH);//右轉(zhuǎn)
}
}
void self_motion_procedure() //控制舵機(jī)旋轉(zhuǎn)角度 控制前進(jìn)倒退 避障總程序
{
j=random(0,10); //隨機(jī)數(shù)
if(i>=scanning_angle+60) o=true;
if(i<=scanning_angle-60) o=false;
if(o==1) i=i-15;
if(o==0) i=i+15;
self_motion_servo(i);
self_motion_distance();
self_motion_go();
}
全部資料51hei下載地址:
智能車.zip
(467.46 KB, 下載次數(shù): 49)
2020-3-5 22:39 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|