標題: 用三個巡線模塊做的巡線小車電機驅動的ARDUINO程序 [打印本頁]
作者: 風雨無阻666 時間: 2017-12-5 14:44
標題: 用三個巡線模塊做的巡線小車電機驅動的ARDUINO程序
void motor(char pin,char pwmpin,char state,int val)
{
pinMode(pin, OUTPUT);
if(state==1)
{
analogWrite(pwmpin,val);
digitalWrite(pin,1);
}
else if(state==2)
{
analogWrite(pwmpin,val);
digitalWrite(pin,0);
}
else if(state==0)
{
analogWrite(pwmpin,0);
digitalWrite(pin,0);
}
}
void runfoward(int i) //前進
{
motor(4,5,1,i);
motor(7,6,1,i);
}
void runback(int j) //后退
{
motor(4,5,2,j);
motor(7,6,2,j);
}
void turnL(int m) //左轉
{
motor(4,5,1,m);
motor(7,6,0,m);
}
void turnR(int n) //右轉
{
motor(4,5,0,n);
motor(7,6,1,n);
}
void stop() //停止
{
motor(4,5,0,0);
motor(7,6,1,0);
}
void setup()
{
Serial.begin(9600);
}
void loop()
{
char num1,num2,num3;
num1=digitalRead(11);
num2=digitalRead(12);
num3=digitalRead(2);
if((num1==0)&&num2&&num3)
{
turnL(180); //檢測到左邊傳感器遇到黑線,說明小車右偏了,立即往左轉一點
delay(2);
while(1){
num2=digitalRead(12); //循環判斷中間傳感器度數,
if(num2==1)
{ turnL(180); //如果num2==1說明還沒有轉到中間位置,繼續左轉
delay(2);}
else
break; //檢測到num2==0說明轉過頭了,跳出循環,檢測三個傳感器的狀態再做出相應動作
} //后面道理相同
}
else if(num2&&num1&&(num3==0))
{
turnR(180);
delay(2);
while(1)
{
num2=digitalRead(12);
if(num2==1){
turnR(180);
delay(2);}
else
break;
}
}
else
{
runfoward(250);
delay(2);
}
}
作者: 1335542 時間: 2017-12-5 15:03
很有幫助
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
一区二区播放
|
色婷婷综合网
|
狠狠躁躁夜夜躁波多野结依
|
狠狠干狠狠操
|
日韩中文在线视频
|
日韩在线
|
日韩欧美中文
|
黄页网址在线观看
|
污书屋
|
亚洲一区高清
|
99精品欧美一区二区三区综合在线
|
国产精品美女久久久久久久网站
|
日韩快播电影网
|
久久精品一级
|
久久国产一区二区三区
|
精品国产一区二区三区久久久久久
|
日韩精品1区2区
|
一区二区不卡
|
国产精品国产
|
一色一黄视频
|
中文字幕精品一区二区三区在线
|
5060网一级毛片
|
婷婷五月色综合香五月
|
日韩在线一区二区三区
|
av网站免费看
|
欧美日韩中文在线
|
一区二区三
|
久久精品男人的天堂
|
99这里只有精品视频
|
亚洲高清视频在线观看
|
中文字幕在线一区二区三区
|
www.亚洲一区二区
|
在线免费观看黄色
|
亚洲天天|
亚洲精品免费视频
|
91免费在线
|
亚洲精彩视频在线观看
|
人人操日日干
|
国产黄色大片网站
|
91天堂网
|
国产亚洲一区二区三区在线
|