MIDI-Controller selber bauen (Teil 8) Ultraschall-Sensor HC-SR 04 mit Arduino Tutorial

Einige Zuschauer hatten sich auch zum Ultraschall-Sensor HC-SR04 ein Tutorial gewünscht. Weil mir sowieso noch Bauteile fehlen um mit dem Gehäuse weiterzumachen, gucken wir uns also heute an, wie der Sensor funktioniert, wie man ihn an den Arduino anschließt und wir schreiben einen kurzen Sketch für eine erste Abfrage.

Einen HC-SR04 Sensor gibt es für ein paar Euro praktisch überall, z.B. auch bei eBay:
http://goo.gl/kB7UXF

Der Programm-Code aus der Folge

int triggerPin = 2;
int echoPin = 3;
long messung = 0;
int ergebnis = 0;

void setup() {
 Serial.begin(9600);
 pinMode(triggerPin, OUTPUT);
 pinMode(echoPin, INPUT);
}
void loop() {
 digitalWrite(triggerPin, LOW);
 delayMicroseconds(2);
 digitalWrite(triggerPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(triggerPin, LOW);
 
 messung = pulseIn(echoPin, HIGH);
 ergebnis = (messung/2)/29;
 
 Serial.println(ergebnis);
 delay(60);
}

Anschluss-Plan

schaltungGrafik erstellt mit Fritzing

 

Beteilige dich an der Unterhaltung

12 Kommentare

  1. Hallo Götz,
    Dein Projekt gibt meiner Arbeit einen richtigen Kick. Leider musste ich eben den Fledermaus-Ohren-Aufbau unterbrechen, habe aber gleich 8 Ultraschall-Sensoren in Shenzen bestellt.
    Eine Extra Frage: wenn Du ein paar Not-On-Off Buttons in das Pult einbauen könntest. Vielleicht ist es ein kurzer Schlenker, aber Du könntest meiner Arbeit enorm weiterhelfen. Vielleicht kann das der eine oder andere Zuschauer auch gut gebrauchen. Ich steuere meine Maschinen in Kombination von Controllern und Noten Befehlen. Bedeutet immer zusätzlich ein Keyboard, sehr umständlich und ineffektiv. So eine genau konfektioniertes Pult wäre einfach kongenial.
    Liebe Grüße
    Christof

  2. Ich würde sagen dein Wunsch hat sich ganz hervorragend mit der aktuellen Folge von heute überschnitten – hast du schon reingeschaut? 😉
    VG
    Götz

  3. First of all great work, i have a question of this proyect, the sketch is made to work with Hairless MIDI? or how you do to send the midi data to a DAW ?

  4. Erstmal ein dickes Lob für Deine (wie immer) super einfachen, auch für Einsteiger verständlichen Erklärungen. Ein kleines Anliegen hätte ich aber: Ich gucke Deine Videos echt gern, aber bei Strom vs. Spannung rollen sich mir immer die Fußnägel hoch 😀
    Also: Spannung liegt zwischen zwei Punkten an und fließt nicht. Genauer gesagt ist es die Differenz zwischen zwei (elektrischen) Potentialen. Vergleichbar mit dem Gefälle eines Baches zwischen zwei Orten. Beispiel: Wenn man GND, 3V und 5V (jeweils bezogen auf GND) hat, liegt dann an den „5V“ (bezogen auf GND) nur 2V an, wenn man es auf die „3V“ (bezogen auf GND) bezieht. Ich setze also quasi die „3V“ als Nullpunkt und messe an an „5V“ – oh Wunder – nur noch 2V.
    Zum Strom: Strom liegt nicht an, sondern fließt. Vergleichbar mit der Menge an Wasser, die den Bach hinunterfließt. Und genauso wie man das Gefälle [= die Spannung] zerteilen kann, indem die Strecke in Abschnitte [= Teilspannungen] zerteilt, so kann man auch den Durchfluss [= den Strom] aufteilen, nur eben diesmal indem man den Bach in zwei (oder mehr) Bächlein [= Teilströme] aufteilt.
    Fast genauso einfach nachvollziehbare und weiterführende Erklärungen zu Spannungs- und Stromteiler gibt es z.B. beim Elektronik-Kompendium.
    Es wäre also toll, wenn Du die Begriffe zukünftig sauber verwenden könntest, damit sich Deine Zuschauer daran gewöhnen und es dann im Gespräch richtig wiedergeben können.
    Ansonsten: Daumen hoch für Dein Engagement!

  5. Hallo Sebastian,
    danke für Dein Lob und deine kleine Korrektur! 🙂
    Du hast natürlich absolut recht. Genau so wie meine Zuschauer lerne ich ständig dazu – die Theorie an sich war mir klar, mir ist jedoch bis dato nicht aufgefallen das die Begriffe einen großen Unterschied machen. Ich werd künftig darauf achten, auf dass deine Fußnägel ihre natürlich Form behalten! 😉
    VG
    Götz

  6. hallo götz, erstmal kompliment für deine super tutorials.
    für eine interaktive soundinstallation möchte ich einige midiwerte über entfernungssensoren steuern.
    ich habe mir das arduino starter kit und den ultraschallsensor besorgt, gebastelt und programmiert und – der sensor steigt entweder bei größeren meßsprüngen aus oder steigt gleich nach ein paar sekunden mit messen aus und es blinkt nur noch die TX led (ich hoffe die heist wirklich so). digital/13 led und funktions led leuchten konstant. kann das am sensor liegen oder hast du da eine idee. midi umrechnung und hairless funktionieren in der kurzen zeit aber bestens.
    vg
    gabriel

  7. Hallo Gabriel,
    vielen Dank für Dein Lob! 🙂
    Warum dein Sensor aussetzt kann ich dir leider nicht sagen. Ich hatte allerdings schon ein paar Zuschauer die auch Sensoren mit diversen Aussetzern hatten. Vielleicht sind da z.Zt. auch fehlerhafte Geräte im Umlauf.
    Was du probieren könntest ist z.B. mal eine kleine Verzögerung am Ende deines Programmes mit „delay(10);“ einzubauen um dem Arduino ein bisschen mehr Luft zum Atmen zu geben.
    VG
    Götz

  8. Hi Götz, bin begeistert, da ich schon seit jahren einen „soundbeam“ selbstnachbauen möchte. Das funktioniert soweit auch alles…Uno Board, Sensor dran, Dein Scetch rein..Messung am Serial Monitor o.k…aaaber: wie mappe ich das jetzt in midi note on off messages?? Ich habe die MIDI library installiert, hairless midi serial in Arduino (com4) und out über „Loop be“ (virtuelle schnittstelle) alles auf einen NI Massive bzw. FM8 (mit input loop be) geroutet…aber ohne besagte MIDI Note on/off Befehle, die aus den Ultraschalldaten generiert werden, läufts halt nicht. Hast Du einen Tip bzw. das wär doch eigentlich der zweite Teil des Vids oder bin ich da auf dem Holzweg?

    Alternativer Nobelpreis für Dich, wenn Du das noch erläutern könntest. Ich finde dazu nirgendwo etwas Brauchbares und für Projekte z.B. im Sopäd-Bereich wäre das ein Knaller für die Kids..

    Wie auch immer Danke für Deine absolut kompetente und tolle Arbeit!!

  9. Super – funktioniert. Wie mappe ich das dann wie am Ende des Videos angemerkt in MIDI note on/offs, um z.B. intern den NI Massive anzusteuern (über Loopbe; Hairless MIDI…)??

    Dann wäre ein Soundbeam möglich, der in der Sopäd verwendbar wäre

  10. Hallo,

    ich bin ganz neu dabei und kenne mich noch nicht richtig aus. Bei meiner Messung kommt später immer nur die Null raus. Was habe ich falsch gemacht?
    Sophia

  11. Lob für die super tuts! Aber eine doofe frage habe ich doch noch. Der teensy 3.2 hat doch nur 3.7v und der hc-sr04 braucht 5V. Kann ich den ohne SpannungWandler betreiben laut Datenblatt braucht man einen

Schreibe einen Kommentar

Schreibe einen Kommentar zu HazelSoino Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert