#define TRIGPIN 4
#define ECHOPIN 3
bool a=true;
void setup() {
Serial.begin(9600);
pinMode(TRIGPIN, OUTPUT);
pinMode(ECHOPIN, INPUT);
}
void loop() {
long cm = ping();
if(cm>5){
Serial.println(" cm");
a = true;
}else{
if(cm<5){
Serial.println(" km");
a = false;
}
}
delay(100);
}
long ping() {
digitalWrite(TRIGPIN, LOW);
delay(2);
digitalWrite(TRIGPIN, HIGH);
delay(10);
digitalWrite(TRIGPIN, LOW);
return pulseIn(ECHOPIN, HIGH)/58;
}
這是我的超音波感測程式
現在只要有物品在一定距離內會不斷顯示km
超過則出現cm
我想讓序列埠在讀取時只出現一次cm和km
請問各位大大該怎麼改
#define ECHOPIN 3
bool a=true;
void setup() {
Serial.begin(9600);
pinMode(TRIGPIN, OUTPUT);
pinMode(ECHOPIN, INPUT);
}
void loop() {
long cm = ping();
if(cm>5){
Serial.println(" cm");
a = true;
}else{
if(cm<5){
Serial.println(" km");
a = false;
}
}
delay(100);
}
long ping() {
digitalWrite(TRIGPIN, LOW);
delay(2);
digitalWrite(TRIGPIN, HIGH);
delay(10);
digitalWrite(TRIGPIN, LOW);
return pulseIn(ECHOPIN, HIGH)/58;
}
這是我的超音波感測程式
現在只要有物品在一定距離內會不斷顯示km
超過則出現cm
我想讓序列埠在讀取時只出現一次cm和km
請問各位大大該怎麼改