[AppleScript] syntaxhighlighter_viewsource syntaxhighlighter_copycode
const int TrigPin = 2;
const int EchoPin = 3;
int led[8]={4,5,6,7,8,9,10,11};
int key=13;
int i,k,j;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
for(i=0;i<8;i++)
pinMode(led,OUTPUT);
pinMode(key,INPUT_PULLUP);
Serial.println("Ultrasonic sensor:");
}
void loop() {
// put your main code here, to run repeatedly:
float distance;
// 检测脉冲宽度,并计算出距离
distance = sr04_read();
Serial.print(".....distance is:");
scankey();
if(k==1)
{ distance=distance*2.54;//英寸
distance= (int(distance*100.0))/100.0;
Serial.print(distance);
Serial.print("in");
Serial.println();
delay(1000);}
else
{ distance = (int(distance*100.0))/100.0;
//保留两位小数
Serial.print(distance);
Serial.print("cm");
Serial.println();
delay(1000);}
if(distance<10)
{
for(i=0;i<8;i=i+2)
{digitalWrite(led,HIGH);
delay(500);
digitalWrite(led,LOW);
delay(500);}
}
if(distance>10)
for(i=1;i<8;i=i+2)
{digitalWrite(led,HIGH);
delay(500);
digitalWrite(led,LOW);
delay(500);}
}
float sr04_read(void)
{ float distance;
delayMicroseconds(2);
digitalWrite(TrigPin,HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin,LOW);
// 检测脉冲宽度,并计算出距离
distance = pulseIn(EchoPin,HIGH);
Serial.print(distance);
Serial.print("ms");
Serial.println();
delay(500);
distance = distance/58; //厘米
return distance; }
void scankey( ){
k=0;
if(digitalRead(13)==LOW)
{ delay(20);
if(digitalRead(13)==LOW)
k=1;
}
else
k=0;
}