|
|
哎呀难受啊要去优酷上传视频可累了这网速害我现在才好!给小白的一个学习吧,参考Ansifa的单个超声波的教程我就弄个2个的,供小白研究,先上程序~~~
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++)
{
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);
}
else
{
digitalWrite(7, LOW);
}
}
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);
}
else
{
digitalWrite(8, LOW);
}
}
}
}
好吧程序部分有很多可以改动的地方,好吧视频我也不知道是否ok~传视频咯!线路连接参考Ansifa大神的单个连接,串口查看的图我就不贴了有兴趣的可是自己玩玩,仅供参考! |
|