const int trig_pin = 3,
echo_pin = 2
;
unsigned long prev_time = millis();
void setup(){
pinMode(trig_pin, OUTPUT);
pinMode(echo_pin, INPUT);
Serial.begin(9600);
}
void loop(){
// transmission...
digitalWrite(trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(trig_pin, LOW);
// reception...
int duration = pulseIn(echo_pin, HIGH);
// showing data
unsigned long crnt_time = millis();
if(crnt_time - prev_time >= 1000){
char buffer[25];
sprintf(buffer, "Distance (cm) = %d", duration/58);
Serial.println(buffer);
}
}
/*
The above code doesnt work on actual hardware, the following one does
const int trig_pin = 7,
echo_pin = 6
;
unsigned long prev_time = millis();
void setup(){
pinMode(trig_pin, OUTPUT);
pinMode(echo_pin, INPUT);
Serial.begin(9600);
}
void loop(){
// transmission...
digitalWrite(trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(trig_pin, LOW);
// reception...
int duration = pulseIn(echo_pin, HIGH);
// showing data
unsigned long crnt_time = millis();
if(crnt_time - prev_time >= 740){
char buffer[25];
sprintf(buffer, "Distance (cm) = %d", duration/58);
Serial.println(buffer);
prev_time = crnt_time;
}
delay(10);
}
*/