hallo,

aus gegebenem Anlass hier auch mal vergleichsweise ein Arduino Sketch, um den hc-sr04 per Arduino IDE zu programmieren. Habe ergänzend eine Temperaturkompensation eingefügt und hoffe, sie stimmt
Code:
/*
 * hc-sr04 example sketch
 *
 * https://create.arduino.cc/projecthub...-sensor-036380
 *
 * by Isaac100
 * verändert + ergänzt: 2018-08-22 by HaWe
 *
 */

const int trigPin = 9;
const int echoPin = 10;

double duration, distance;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  double dTemp = 0.0;
  double Temp = 20.0;     
  double sonicspeed;

  dTemp = Temp - 20.0 ;      // optional: temperat. by thermometer <<<<<<<<<<
  sonicspeed = 343.421 + (dTemp * 0.576);  // optional: temperat. compens.

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW); 

  duration = pulseIn(echoPin, HIGH);               
  distance = (duration * sonicspeed) / 20000.0;

  Serial.print("Distance: ");
  Serial.println(distance);
  delay(100);
}
Quelle: https://create.arduino.cc/projecthub...-sensor-036380

Anm.: Der Code funktioniert theoretisch auch mit ARM (3.3V), aber man muss hier die pin- und signal level anpassen, denn der hc-sr04 arbeitet mit 5V Vcc.