Archiv für den Tag: 9. Oktober 2011

Arduino — Der Ultraschallsensor

[seriesposts name=“Arduino“, orderby=“user_order“]

Der Ultraschallsensor „Seeed Ultrasonic Sensor“ ist ein digitaler Sensor.

Um die Laufdauer des Ultraschalls abzufragen, muss über den Datenpin ein High-Signal
von 2ms Dauer gesendet werden. Anschließend wird dasselbe Pin auf Input gesetzt und
die High-Dauer gemessen.

Schaltplan

Notes: 4

Ein einfacher Code, der die gemessene Entfernung über die Serielle Schnittstelle ausgibt:

const int pingPin = 7;

void setup() {
  // initialize serial communication:
  Serial.begin(9600);
}

void loop()
{
  long duration, cm;

  // A HIGH pulse of 2 or more microseconds.
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(15);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(20);
  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);

  // convert the time into a distance
  cm = microsecondsToCentimeters(duration);
  
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  
  delay(100);
}

long microsecondsToCentimeters(long microseconds)
{
  return microseconds / 29 / 2;
}