我正在为 ardunio 编写一个脚本,以便它可以打印出某物有多远,并且我正在尝试使它等于默认长度(当脚本首次启动时)它不起作用,如果两个数字之间的距离大于 3 英寸重新打印。不知道为什么它不起作用。起初我试图让它不打印,如果它与上次打印的长度相同,那么如果有人能弄清楚这一点,那就太棒了。另外,对不起,如果我听起来很紧张,我已经在这个可能超级简单的脚本上工作了至少 3 个小时。
#include <Ping.h>
Ping ping = Ping(13,0,0);
int defaultlength = 0;
int length = 0;
int afterlength = 0;
void setup(){
Serial.begin(9600);
ping.fire();
defaultlength = ping.inches();
}
void loop(){
ping.fire();
length = ping.inches();
delay(100);
afterlength = length - defaultlength;
sqrt(afterlength^2);
if (afterlength >= 3) {
Serial.print(afterlength);
ping.fire();
Serial.print("Inches: ");
Serial.print(ping.inches());
Serial.print(" | Centimeters: ");
Serial.print(ping.centimeters());
Serial.print(" | Light: ");
if (analogRead(A0) >= 1000) {
Serial.print("ON");
Serial.println();
}
else {
Serial.print("OFF");
Serial.println();
}
}
delay(1000);
}
此外,它根本没有打印任何东西。我不确定它是否没有通过循环或什么。