|
|
发表于 2015-2-8 09:58:27
|
显示全部楼层
const int TrigPin = 2;
const int EchoPin = 3;
float cm;
void setup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
pinMode(4,OUTPUT);
}
void loop()
{
digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm
cm = (int(cm * 100.0)) / 100.0; //保留两位小数
Serial.print(cm);
Serial.print("cm");
Serial.println();
if(cm>100.0)
{
digitalWrite(4,HIGH);
delay(100);
digitalWrite(4,LOW);
delay(1000);
}
if(cm>20.0 && cm<100.0)
{
digitalWrite(4,HIGH);
delay(100);
digitalWrite(4,LOW);
delay(1000-(100-cm)*12.5);
}
if(cm<20.0)
{
digitalWrite(4,HIGH);
}
}
没事闲着做的,
大家请见谅 |
|