Science Camp 2019

Datalogger

Datalogger auf GitHub

Features

  • Temperaturfühler

    DS18B20 One-Wire
  • Ultraschallsensor

    HC-SR04

  • Micro-SD Slot

    Micro-SD Slot zum Aufzeichnen der Messdaten
  • USB

    Auslesen der Messdaten über USB

Komponenten

  • Arduino

  • OLED-Display

  • 9V-Block und Btterie-Clip

  • Micro-USB-Kabel

  • Widerstände, Schalter, Button

  • Stiftsockel

  • Ultraschallsensor

  • Temperaturfühler

Finde den Fehler!

Quelle

Sicherheitshinweise beim Löten

  • 300-400°C

  • Giftige Dämpfe

Abstandsmessung mit Ultraschall

Wie eine Fledermaus sich auch im Dunkeln zurechtfindet

Abstandsmessung mit Ultraschall

Wie eine Fledermaus sich auch im Dunkeln zurechtfindet

Abstandsmessung mit Ultraschall

Wie eine Fledermaus sich auch im Dunkeln zurechtfindet

Abstandsmessung mit Ultraschall

Wie eine Fledermaus sich auch im Dunkeln zurechtfindet

Abstandsmessung mit Ultraschall

Wie eine Fledermaus sich auch im Dunkeln zurechtfindet

Abstandsmessung mit Ultraschall

Wie eine Fledermaus sich auch im Dunkeln zurechtfindet

Abstandsmessung mit Ultraschall

Wie eine Fledermaus sich auch im Dunkeln zurechtfindet

Abstandsmessung mit Ultraschall

Wie eine Fledermaus sich auch im Dunkeln zurechtfindet

Breadboard (Steckplatine)

Interne Verdrahtung

Quelle: Andreas B Mundt - CC-BY-SA

Versuchsaufbau

Abstand messen mit Ultraschall

Arduino IDE

Basisprogramm

Initialisierung, Hauptschleife

void setup() {
  // Hier beginnt das Programm.
  // Hier wird festgelegt, was der Arduino tun soll, wenn er gestartet wird.
}

void loop() {
  // Alles hier wird nach der Ausführung endlos wieder ausgeführt.
}
                

Ein erstes kleines Programm

Ultraschallsensor - Was muss in die Lücke?

const int triggerPin = 6;
const int echoPin = 2;

const int SCHALLGESCHWINDIGKEIT = 343.2f/10000;

void setup() {
  pinMode(triggerPin, OUTPUT);
  pinMode(echoPin, INPUT);

}

void loop() {
  digitalWrite(triggerPin, HIGH);
  delay(10);
  digitalWrite(triggerPin, LOW);
  long t = pulseIn(echoPin, HIGH);

  double dist = // Was muss hier hin?

  if(dist >= 500 || dist <= 0) {
    return NAN;
  }
  return dist;
}
                

Ein erstes kleines Programm

Ultraschallsensor - Lösung

const int triggerPin = 6;
const int echoPin = 2;

const int SCHALLGESCHWINDIGKEIT = 343.2f/10000;

void setup() {
  pinMode(triggerPin, OUTPUT);
  pinMode(echoPin, INPUT);

}

void loop() {
  digitalWrite(triggerPin, HIGH);
  delay(10);
  digitalWrite(triggerPin, LOW);
  long t = pulseIn(echoPin, HIGH);

  double dist = (t/2.0)*SCHALLGESCHWINDIGKEIT;

  if(dist >= 500 || dist <= 0) {
    return NAN;
  }
  return dist;
}