极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10067|回复: 3

求大神指导编程

[复制链接]
发表于 2014-4-22 21:22:10 | 显示全部楼层 |阅读模式
想用红外传感器和超声波传感器做一个避障小车,但在实现的时候车子总是向后走而不能向前走。求大神知道程序如何改进。
附程序:
int E1=5;     //定义电机接口
int M1=4;
int E2=6;
int M2=7;

int valGP1;   //定义红外传感器  
int valGP2;

int val1;      //定义红外传感器测量距离
int val2;

int analog1=15; //定义红外传感器接口
int analog2=14;

int inputPin=2; //定义超声波传感器接口
int outputPin=3;

void setup()

{
pinMode(M1,OUTPUT);
pinMode(M2,OUTPUT);
   
Serial.begin(9600);
pinMode(inputPin,INPUT);
pinMode(outputPin,OUTPUT);  

void advanced();
{  
digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1,100);
analogWrite(E2,100);
delay(30);
}
void back();
{
digitalWrite(M1,LOW);
digitalWrite(M2,LOW);
analogWrite(E1,100);
analogWrite(E2,100);
delay(30);}
}

void loop()
{
valGP1 =analogRead(analog1);
valGP2=analogRead(analog2);
  
val1=(6787/(valGP1-3))-4;        
val2=(6787/(valGP2-3))-4;
Serial.println(val1);      
Serial.println(val2);
        delay(500);   

digitalWrite(outputPin,LOW);
delayMicroseconds(2);
digitalWrite(outputPin,HIGH);
delayMicroseconds(10);
  
int distance=pulseIn(inputPin,LOW);
distance=distance/50;
Serial.println(distance);
        delay(500);

if(inputPin<15)
{void back();}

}

回复

使用道具 举报

发表于 2014-4-22 21:53:48 | 显示全部楼层
既然設定了是 2,又指定少於 15 就向後走,"车子总是向后走" 就是必然的結果了!
//
int inputPin=2; //定义超声波传感器接口
...
if(inputPin<15)
{void back();}
//
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-24 09:50:42 | 显示全部楼层
eddiewwm 发表于 2014-4-22 21:53
既然設定了是 2,又指定少於 15 就向後走,"车子总是向后走" 就是必然的結果了!
//
int inputPin=2; //定 ...

改成  if(distance<15)
        {void back();}
这样行吗?
回复 支持 反对

使用道具 举报

发表于 2014-4-24 21:44:21 | 显示全部楼层
佑掱.。 发表于 2014-4-24 09:50
改成  if(distance

還不行,但已走近一步了!以下是建議應要注意的地方:
1) 要確定所使用的模擬接口(analog2=14,analog1=15)存在於所用的Arduino 板
2) 在 setup()內不應有函數定義 void advanced();  void back(); ,而且也不應有";"
3) val1=(6787/(valGP1-3))-4; 及 val2=(6787/(valGP2-3))-4; 很特別,應確定其合理性
4) 最後的
  if(distance<15){
    back();
  }
  else{
    advanced();
  }
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-10 03:37 , Processed in 0.037270 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表