如题,显示结果最大只有4厘米,4厘米以内正常,以外都显示4厘米。代码如下:
//超声波测距接口 int Trig = A0; int Echo = A1; float cm = 0; //距离,厘米
void distance()//超声波测距 { digitalWrite(Trig, LOW); //低高低电平发一个短时间脉冲去TrigPin delayMicroseconds(2); digitalWrite(Trig, HIGH); delayMicroseconds(10); digitalWrite(Trig, LOW); cm = pulseIn(Echo, HIGH) / 58; //将回波时间换算成cm cm = (int(cm * 100)) / 100; //保留两位小数 }
void setup() { // put your setup code here, to run once: pinMode(A0, OUTPUT); pinMode(A1, INPUT); Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: distance(); Serial.print(cm);
Serial.println("cm"); }
探测距离:2cm-450cm
你的硬件连接图呢