Liebe Mitglieder,
ist es möglich, einen Ultraschallsensor wie hrs04, ohne Verzögerung abzufragen?
Sowohl bei PulseIn als auch mit NewPing-Library pausiert der Script zwischen 2 und 24 Millisekunden.
Das klingt nach wenig, aber gerne würde ich drei Sensoren parallel zu Hall-Sensoren abfragen.
(In meinem Beispiel müsste ich unter 6ms kommen)
Anbei ein Minimal-Beispiel. Hat jemand eine Idee?
Vielen Dank im Voraus!
Liebe Grüße
#include <NewPing.h>
// Setup des Sensors
#define senden 37
#define empfangen 39
#define Distanz 400
NewPing sonar(senden, empfangen, Distanz);
void setup() {Serial.begin(115200);}
// Setup Variablen
long Zyklus = 0, vorausgegangen = 0, aktuell = 0;
int Differenz = 0, Differenz_max = 0;
void loop() {
// Bei jeder 10 000 Iteration ausführen
if (Zyklus % 10000 == 0)
{
// Sensor abfragen
Serial.print(sonar.ping_cm());
// An Serial senden
Serial.print(" cm; ");
Serial.print(Differenz_max);
Serial.println(" ms");
// Differenz_max wieder zurücksetzen
Differenz_max = 0;
}
// Zyklen updaten
aktuell = millis();
Differenz = aktuell - vorausgegangen;
if (Differenz > Differenz_max) {Differenz_max = Differenz;}
vorausgegangen = aktuell;
Zyklus = Zyklus + 1;
}