Ein Ultraschallsensor (oder Sonarsensor) funktioniert genau so, wie Fledermäuse und Wale navigieren: Sie stoßen einen Ultraschall-Schrei aus, der für uns Menschen nicht hörbar ist. An der Zeit die das Echo bis zu einem Gegenstand und zurück zum Ohr benötigt, weiss die Fledermaus, wie weit ein Objekt entfernt ist.
Wofür kann man den Sensor benutzen?
Du kannst mit dem Sensor ziemlich genau Abstände messen. Du kannst dann schauen, ob etwas dem Sensor näher kommt als eine bestimmte, von dir festgelegte Anzahl von Zentimetern (das nennt man Schwellwert). Wenn du z.B. einen Roboter baust und nicht willst, dass er vor die Wand fährt, dann stellst du ein, dass er anhält, wenn sich etwas auf eine bestimmte Anzahl von Zentimetern (wieder der Schwellwert) nähert. Du kannst ihn auch als Alarmanlage nutzen. Sobald jemand in den eingestellten Bereich läuft, verändert sich der gemessene Abstand und darauf kann die Alarmanlage dann reagieren.
Wie funktioniert der Sensor?
Du steckst den Ultraschall Sensor in den rechten Grove Anschluss. Nun musst du auf den Pin 16 (gelbes Kabel, SIG) einmal ganz kurz den Strom ein (1) und wieder aus (0) schalten. Das nennt man digitales Signal (1 oder high = ein, 0 oder low = aus). Das ist das Signal für den Sensor, einen Ultraschallton auszusenden und auf das Echo zu warten dass kommt, wenn der Ton auf einen Gegenstand trifft und wieder zurück kommt. Wir machen das, wenn der Knopf A gedrückt wird.
Nun musst du auf Pin 16 auf ein digitales Eingangssignal warten. Das geht mit dem Block "wenn Pin gepulst". Sobald der Ultraschall das Echo bekommt, schaltet der Ultraschallsensor nämlich ganz kurz den Strom auf dem Kabel ein, dass an PIN 16 ankommt. Je weiter der Gegenstand entfernt ist, um so länger bleibt der Strom an. Die Dauer beträgt einige Mikrosekunden (µs) bis einige Millisekunden (ms). Das ist viel zu schnell für uns Menschen. Der Calliope Mini kann das aber leicht messen. Die zeitliche Dauer des Signals gibt uns dann die Entfernung an. Und die bekommst du über den Block "Impulsdauer". In diesem Platzhalter steht nämlich immer, wie lang das Signal war, dass gepulst wurde.
Die Dauer des Impulses zeigt uns zwar die Entfernung an, aber noch nicht in cm. Um den Wert in cm zu bekommen, musst du die Impulsdauer durch 58 teilen.
Im Beispiel speichern wir den Wert in einem Platzhalter mit dem Namen "abstand". Anschließend zeigen wir den Abstand auf dem Display an.
Der Block mit der Anziehungskraft darunter ist blöd benannt. Aber er ist nötig, weil der Calliope sonst durcheinander kommt. Erst schreiben, dann lesen und das alles auf dem gleichen Pin. Dieser Befehl sorgt dafür, dass der Calliope da nicht durcheinander kommt.
Comments