標(biāo)題:
單發(fā)單收超聲波主動(dòng)跟隨小車的arduino程序
[打印本頁(yè)]
作者:
misterchen
時(shí)間:
2018-11-8 12:14
標(biāo)題:
單發(fā)單收超聲波主動(dòng)跟隨小車的arduino程序
單發(fā)單收超聲波跟隨小車程序
單片機(jī)源程序如下:
const int IN1 = 20;//定義控制IO口“D20”
const int IN2 = 21;//定義控制IO口“D21”
const int IN3 = 22;//定義控制IO口“D22”
const int IN4 = 23;//定義控制IO口“D23”
const int ENA = 3; //定義控制PWM輸出口“3”
const int ENB = 4; //定義控制PWM輸出口“4”
const int Bled = 13; //背光燈控制腳定義D13
const int buzzer= 12; //蜂鳴器控制腳定義D9
const int voltPin = A3; //定義電壓檢測(cè)接口A5模擬口。
const int LSPPin = A7; //定義電壓檢測(cè)接口A5模擬口。
const int RSPPin = A6; //定義電壓檢測(cè)接口A5模擬口。
const int FSPPin = A5; //定義電壓檢測(cè)接口A5模擬口。
int LSP=0,RSP=0,LRSP=0,FSP=0;
int chazhi=300;
void setup() {
pinMode(IN1, OUTPUT);//定義控制IO口為輸出“D2”
pinMode(IN2, OUTPUT);//定義控制IO口為輸出“D3”
pinMode(IN3, OUTPUT);//定義控制IO口為輸出“D4”
pinMode(IN4, OUTPUT);//定義控制IO口為輸出“D5”
pinMode(ENA, OUTPUT);//定義控制IO口為輸出“D4”
pinMode(ENB, OUTPUT);//定義控制IO口為輸出“D5”
pinMode(Bled, OUTPUT); //LCD背光燈控制口設(shè)置為輸出
pinMode(buzzer, OUTPUT); // 將蜂鳴器引腳9設(shè)置為輸出
Serial.begin(9600);
}
void loop() {
FSP = analogRead(FSPPin);
delay(1);
LSP = analogRead(LSPPin);
delay(1);
RSP = analogRead(RSPPin);
delay(1);
LRSP = abs(LSP - RSP);
Serial.print("robot=");
Serial.print(FSP);
Serial.print(",");
Serial.print(LSP);
Serial.print(",");
Serial.print(RSP);
Serial.print(",");
Serial.println(LRSP);
if (LSP > RSP && LRSP > chazhi) {
zuo(255);
}
if (LSP < RSP && LRSP > chazhi) {
you(255);
}
if(FSP > 20 && LRSP < 200){
qian(255);
} else
if(FSP <20){
ting();
}
}
void qian(int xo)//定義前進(jìn)帶參數(shù)函數(shù)
{
digitalWrite(IN1,HIGH); //定義D2輸出高電平
digitalWrite(IN2,LOW); //定義D3輸出低電平
digitalWrite(IN3,HIGH); //定義D4輸出高電平
digitalWrite(IN4,LOW); //定義D5輸出低電平
analogWrite(ENA,xo);//定義D6輸出PWM
analogWrite(ENB,xo);//定義D7輸出PWM
}
void hou(int xo)//定義后退帶參數(shù)函數(shù)
{
digitalWrite(IN1,LOW); //定義D2輸出低電平
digitalWrite(IN2,HIGH); //定義D3輸出高電平
digitalWrite(IN3,LOW); //定義D4輸出低電平
digitalWrite(IN4,HIGH); //定義D5輸出高電平
analogWrite(ENA,xo);//定義D6輸出PWM
analogWrite(ENB,xo);//定義D7輸出PWM
}
void zuo(int xo)//定義左轉(zhuǎn)帶參數(shù)函數(shù)
{
digitalWrite(IN1,LOW); //定義D2輸出低電平
digitalWrite(IN2,HIGH); //定義D3輸出高電平
digitalWrite(IN3,HIGH); //定義D4輸出高電平
digitalWrite(IN4,LOW); //定義D5輸出低電平
analogWrite(ENA,xo);//定義D6輸出PWM
analogWrite(ENB,xo);//定義D7輸出PWM
}
void you(int xo)//定義右轉(zhuǎn)帶參數(shù)函數(shù)
{
digitalWrite(IN1,HIGH); //定義D2輸出高電平
digitalWrite(IN2,LOW); //定義D3輸出低電平
digitalWrite(IN3,LOW); //定義D4輸出低電平
digitalWrite(IN4,HIGH); //定義D5輸出高電平
analogWrite(ENA,xo);//定義D6輸出PWM
analogWrite(ENB,xo);//定義D7輸出PWM
}
void ting()//定義停止帶參數(shù)函數(shù)
{
digitalWrite(IN1,LOW); //定義D2輸出低電平
digitalWrite(IN2,LOW); //定義D3輸出低電平
digitalWrite(IN3,LOW); //定義D4輸出低電平
digitalWrite(IN4,LOW); //定義D5輸出低電平
digitalWrite(ENA,LOW);//定義D6輸出PWM
digitalWrite(ENB,LOW);//定義D7輸出PWM
}
復(fù)制代碼
所有資料51hei提供下載:
超聲波追蹤代碼.rar
(1.13 KB, 下載次數(shù): 43)
2018-11-8 12:12 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時(shí)間:
2018-11-8 16:01
補(bǔ)全原理圖或者詳細(xì)說(shuō)明一下電路連接即可獲得100+黑幣
作者:
xuegod
時(shí)間:
2019-9-3 23:12
謝謝,樓主
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1