Startseite Skripte für das Wintersemester 2018/19 Projekt „Citizen Science“ Arduino Grundlagen Ultraschall-Abstandsmesser


Ultraschall-Abstandsmesser

Achtung: Der Ultraschall-Sensor ist einer der wenigen Sensoren, der 4 Anschlüsse hat!

Arduino-Library

Damit der Sketch funktioniert, müsst Ihr die NewPing Arduino Library for Arduino herunterladen und bei Arduino hinzufügen:

Arduino

/*
   Ultrasonic-Rangefinder

   hat 4 PINS!

   GND pin to ground
   VCC pin to 5V
   TRIG pin to digital pin 8
   ECHO pin to digital 7

   Quelle : https://bitbucket.org/teckel12/arduino-new-ping/wiki/Home#!simple-newping-sketch

*/

// Library laden: https://bitbucket.org/teckel12/arduino-new-ping/downloads/NewPing_v1.7.zip
#include <NewPing.h>

const int TRIGGER_PIN = 8;
const int ECHO_PIN = 7;

const int Led = 13; // die LED

int MAX_DISTANCE = 200; // bis 200cm Abstand messen

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
  Serial.begin(115200); // Serial Monitor entsprechend umschalten!

  pinMode(Led, OUTPUT);
}

void loop() {

  delay(50); // min 29
  unsigned int cm = sonar.ping_cm();
  Serial.print("Ping: ");
  Serial.print(cm);
  Serial.println("cm");

  if (cm == 0 && digitalRead(ECHO_PIN) == HIGH) {
    pinMode(ECHO_PIN, OUTPUT);
    digitalWrite(ECHO_PIN, LOW);
    delay(100);
    pinMode(ECHO_PIN, INPUT);
  }

  // LED geht an, wenn etwas näher als 20cm ist
  if (cm < 20) {
    digitalWrite(Led, HIGH);
  } else {
    digitalWrite(Led, LOW);
  }
}