|
本帖最后由 tgyfish 于 2013-4-22 13:22 编辑
先上程序,其实很简单,但是对于我这种小白确实有一点点~~~
const int TrigPin = 2;
const int EchoPin = 3;
const int Tri = 4;
const int Ech = 5;
float cm1;
float cm2;
void setup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
pinMode(Tri, OUTPUT);
pinMode(Ech, INPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
}
void loop()
{
int i;
for(i=1;i<=2;i++)
{
digitalWrite(7, LOW);
digitalWrite(8, LOW);
if(i=1)
{
digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
cm1 = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm
cm1 = (int(cm1 * 100.0)) / 100.0; //保留两位小数
Serial.print(cm1);
Serial.print("cm1");
Serial.println();
delay(10);
if(cm1<5)
{
digitalWrite(7, HIGH);
}
}
delay(50);
if(i=2)
{
digitalWrite(Tri, LOW); //低高低电平发一个短时间脉冲去Tri
delayMicroseconds(2);
digitalWrite(Tri, HIGH);
delayMicroseconds(10);
digitalWrite(Tri, LOW);
cm2 = pulseIn(Ech, HIGH) / 58.0; //将回波时间换算成cm
cm2 = (int(cm2* 100.0)) / 100.0; //保留两位小数
Serial.print(cm2);
Serial.print("cm2");
Serial.println();
delay(10);
if(cm2<5)
{
digitalWrite(8, HIGH);
}
}
}
}
熟悉程序的看一下程序就知道我的电路了,7,8,脚接的是led也就是测试用。目前存在的问题就是他们都能测而且数据都对,上图?
现在估计是电路的问题,有一个灯正常的亮了另一个微微亮,基本功能已经实线~~~
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|