Verbindung
Der Ultraschallsensor wird über vier Kabel angeschlossen. Am Sensor befinden sich die Pins VCC (Strom), Trig, Echo und GND (Masse). Den VCC-Pin verbinden wir mit der weißen Stromschiene auf der Platine, die eine Spannung von 3,3 V liefert. Den Trig-Pin verbinden wir mit Pin 8 (P8), den Echo-Pin mit Pin 9 (P9) und erden ihn schließlich, indem wir GND mit der schwarzen Masseschiene verbinden. Weitere Informationen finden Sie in der Montageanleitung.
Empfehlung
Programm
Grundprogramm
Lineare Funktion
Das Programm ist etwas komplizierter. Zu Beginn des Codes deklarieren wir Variablen. In die Variable „distance“ schreiben wir die vom Ultraschallsensor gemessene Entfernung des Objekts. Die Konstante NUM_LEDS speichert den Wert der Anzahl der LEDs auf unserem LED-Streifen. In unserem Fall hat der Streifen sechs davon. Wir initialisieren das Streifenobjekt, das unseren LED-Streifen darstellt. Abschließend legen wir die Grenzen unserer Messung fest, d. h. die minimale und maximale Entfernung.
Die erste Schleife führt die eigentliche Messung durch. Mithilfe eines Blocks aus der Sonar-Bibliothek schreiben wir den Messwert in die Variable „distance“. Um die gemessene Distanz in die Anzahl der leuchtenden LEDs umzurechnen, verwenden wir die Map-Funktion aus der Mathematikbibliothek. Diese Funktion arbeitet grundsätzlich als ternäre Funktion. Allerdings müssen wir die resultierende Zahl mit der Funktion „round down“ (Floor) in Ganzzahlen umwandeln. Damit die Anzahl der leuchtenden LEDs mit abnehmender Entfernung des Messobjekts vom Sensor steigt, müssen wir den Wert vom maximal möglichen Wert (Anzahl der LEDs auf dem Streifen) abziehen.
In der zweiten Schleife schalten wir den LED-Streifen ein. Dabei durchlaufen wir jede LED der Reihe nach in der For-Schleife. Ist die Ordnung der gegebenen LED gleich oder kleiner als der aus der ersten Schleife ermittelte LED-Wert, weisen wir der LED eine bestimmte Farbe zu. Ist die Ordnung höher, schalten wir die LED aus („weisen sie der Farbe Schwarz zu“). Wir dürfen die Show-Funktion nicht vergessen, damit die eingegebenen Werte der einzelnen LEDs wiedergegeben werden. Um die Änderungen zu verlangsamen und ein Flackern zu verhindern, fügen wir am Ende der Schleife eine Pause ein.





