PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino Sketch (C) Arduino C++ Sketch: HC-SR04 mit Arduino (AVR)



HaWe
22.08.2018, 15:47
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 8)


/*
* HC-SR04 example sketch
*
* https://create.arduino.cc/projecthub/Isaac100/getting-started-with-the-hc-sr04-ultrasonic-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/Isaac100/getting-started-with-the-hc-sr04-ultrasonic-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.