lty365 发表于 2014-5-16 17:36:42

乱改个 超声波测距 有点问题 想请教下

const int TrigPin = 10;
const int EchoPin = 7;
float distance;
int aaa;
int bbb;
void setup() {
Serial.begin(9600);   
pinMode(TrigPin, OUTPUT);   
      pinMode(EchoPin, INPUT);
}

void loop() {
aaa=Serial.read();
if (aaa=='r'){
digitalWrite(TrigPin, LOW);   
delayMicroseconds(2);   
digitalWrite(TrigPin, HIGH);      
delayMicroseconds(10);      
digitalWrite(TrigPin, LOW);
distance = pulseIn(EchoPin, HIGH) / 58.00;
Serial.print(distance);
bbb=distance;
Serial.write(bbb);
Serial.print("cm");   
Serial.println();   
delay(1000);
}
}

每次测的结果都不一样....???
没加IF的话它会一直报 距离
加了后 要按次 r才报距离
我输入的 'r'是 aiisc   2进制 16进制   ?????
Serial.write(bbb);    bbb   是 aiisc   2进制 16进制   ?????
这上面有什么错误吗?

谢谢
页: [1]
查看完整版本: 乱改个 超声波测距 有点问题 想请教下