In diesem Video teste ich einen einfachen Ultraschallsensor, der bei Aliexpress gerade mal 80 Cent kostet. Die Ansteuerung ist sehr einfach und schnell (wenn man keine unnötigen Fehler macht) und die Ergebnisse sind erstaunlich gut.
#include <Arduino.h> const int TRIG_PIN = 12; const int ECHO_PIN = 13; const int ITEM_COUNT = 50; long simpleMultiMeasure(); void setup() { Serial.begin(9600); pinMode(TRIG_PIN,OUTPUT); digitalWrite(TRIG_PIN, LOW); pinMode(ECHO_PIN,INPUT); } void loop() { long duration = simpleMultiMeasure(); long distanceMm; // convert the time into a distance distanceMm = duration * 100l / 582l; if (distanceMm <= 0) { Serial.println("Out of range"); } else { Serial.print(duration); Serial.print(" ticks, "); Serial.print(distanceMm); Serial.print(" mm"); Serial.println(); } delay(500); } long simpleMultiMeasure() { long sum = 0; for (int i = 0; i < ITEM_COUNT; i++) { digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(20); digitalWrite(TRIG_PIN, LOW); sum += pulseIn(ECHO_PIN,HIGH); delayMicroseconds(20000); } return sum / ITEM_COUNT; }