BT2k
HOME

Arduino als Zollstock
Ultraschall-Abstandsmessung mit Arduino
Es soll Schulen geben, da ist Abstandsmessung mit Ultraschall Teil des Praktikums im Fach Physiktechnik. Mit Oszilloskop und Frequenzgenerator werden Impulspakete im 40-kHz-Bereich erzeugt. Das alles soll den S/E-Kopf der Ultraschallprüfung verdeutlichen. Für den Arduino wird zufällig ein ähnlicher Aufbau geliefert.
Arduino als Zollstock
Die Firma Parallax bietet einen Ultra- schall-Sender/-Empfänger mit drei Anschlüssen an. Sender und Empfänger arbeiten ebenfalls mit 40 kHz. Die Platine stellt das fertige Signal zur Verfügung und kommt somit mit nur drei Anschlüssen aus: Spannung (5 V), Masse und eine Signalleitung. Diese liefert ein abstands-proportionales Zeitsignal in Form einer Rechteckspannung.

Der Aufbau ist extrem schnell erledigt, da auf den Arduino-Seiten fertige Programme bereit stehen.
Bild: PING)))-Hardware.


Fünf Minuten für den Aufbau
Arduino als Zollstock










Vorausgesetzt Windows ist schon hoch gefahren, das Internet rennt und die Arduino-Software ist gestartet. Dann könnte das erste Ergebnis auch schon in 30 Sekunden ... Wirklich einfacher als mit "einem Baukastensystem, bei dem bunte Kunststoff-Klötzchen, Zahnräder, Figuren und andere Kleinteile zusammengesteckt werden!"

Verdrahtung: Drei Drähte

  • Die Spannungsversorgung (5 V) vom Arduino zur Ping-Platine.
  • Die Masse von Masse zu Masse.
  • Die Signalleitung (SIG) zu Pin 7 des Arduino.

Fertig.

Software: Drei Klicks

  • Die entsprechende Arduino-Seite aufrufen und den Schaltplan kontrollieren bei Bedarf.
  • Den Code kopieren und in den Arduino-Editor einfügen.
  • Kompilieren und Übertragen.

Fertig.


Das Zwischenergebins
Arduino als ZollstockArduino als ZollstockIm Serial Monitor kann das Ergebnis betrachtet werden. Wie im Sketch zu sehen, wird alle 100 ms eine Messung an die serielle Schnittstelle weitergereicht und über den Arduino-Monitor angezeigt.

Falls ein allgemeines Terminal verfügbar ist, kann die Anzeige auch darüber erfolgen, wenn die entsprecheden Parameter (9600 Bd) eingestellt sind. Hier kam das Hyperterminal von WinXP zum Einsatz.

Nun muss nur noch "in" in " Zoll" umgewandelt werden und ein Leerzeichen vor "cm" ...


Die Erweiterung

Arduino als Zollstock
Ein Zollstock mit PC-Anschluss ist zwar nett, aber nicht sehr praktikabel. Mit einer LCD-Anzeige und einem Steckernetzteil bzw. einer Batterie wird der Arduinozollstock autonom und unterscheidet sich eigentlich kaum von den Eigenschaften anderer kontaktloser Entfernungsmesser.

Unter http://arduino.cc/en/Tutorial/LiquidCrystal gibt es das "Hallo Welt"-Beispiel und die Anschluss-Belegung, damit die fertige (!) LCD-Bibliothek auch funktioniert. Hinweise zu den unterstützten Anzeigen findet man ebenfalls dort. Stichwort: Hitachi HD44780-kompatibel. Falls die Verdrahtung stimmt, sollte das Beispiel laufen und die bekannten zwei Worte darstellen.

Das Ping-Beispiel wird nun mit wenigen Zeilen aus dem LCD-"Hallo Welt"-Beispiel ergänzt. Im Deklarationsteil:

// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

In Setup():

lcd.begin(16, 2);
lcd.print("Arduinozollstock");

In Loop() vor Delay(100):

//LCD
lcd.setCursor(0, 1);
sprintf(s,"%3d cm",cm);
lcd.print(s);
sprintf(s," = %2d Zoll",inches);
lcd.print(s);

Die Funktion sprintf scheint hier nur eine Variable zu berücksichtigen, darum die zweifache lcd.print-Anweisung. Hier der Sketch, falls obige Links versagen.


Das Ergebnis

Arduino als Zollstock
PING))), Arduino-Uno, LCD-Display, Spannungsversorgung (Solarakku): Autonomes Messsystem.


Weitere Software

.
Startseite Bücher Software Digital TV Musik Kontakt

Für Inhalt und weitere Verzweigung externer Links sind die Betreiber der dortigen Seiten verantwortlich - H.-J. Berndt