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
Quelle: https://create.arduino.cc/projecthub...-sensor-036380Code:/* * 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); }
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.
Lesezeichen