Block
Der map [0, 1023] to [0, 255] Block ist ein Block, der zur Signalanpassing dient.
Mit ihm lassen sich Werte aus dem Zahlenbereich von 0 bis 1023 in den Zahlenbereich von 0 bis 255 übertragen.
Beim Übertragen werden nur ganze Zahlen generiert.
Es gibt keine Kommazahlen oder Brüche.
Wenn ein Wert hintzer dem Komma entsteht, dann wird dieser abgeschnitten.
Erklärung
In der Informatik wird oft mit bestimmten Zahlenbereichen gearbeitet.
Dabei sind häufig Potenzen von 2 verwendet.
Hier: Von 0 bis 1023 sind es 1024 Werte.
1024 ist 2 hoch 10.
Oder: Von 0 bis 255 sind es 256 Werte.
256 ist 2 hoch 8.
Beispiel: Beim Befehl analogRead kann der Eingang an einem analogen Pin gemessen werden.
Dabei wird keine Spannung direkt gemessen, sondern man bekommt nur Werte von 0 bis 1023.
Diesen analogen Eingang kann man nun in den map [0, 1023] to [0, 255] Block einsetzen um den Eingangswert in aus dem Zahlenbereich von 0 bis 1023 in den
Zahlenbereich von 0 bis 255 zu transferieren.
Diese Anwendung ist allerdings sehr spezifisch, kommt jedoch häufig zum einsatz, wenn Sensoren ausgelesen oder Aktoren (z.B. ein Motor) angesteuert werden sollen.
Berechnung: Hier noch eine Erklärung, wie man den Wert von Hand berechnen könnte.
Hier: Es soll die Zahl 350 vom Zahlenbereich [0, 1023] in den Zahlenbereich [0, 255] transferiert werden.
= 87,24 → 87
In ArduBlock:
Wert
Der Wert Parameter ist einfach dazu da, um den Zahlenwert aus dem Zahlenbereich 0 bis 1024 einzutragen, der in den Zahlenbereich von 0 bis 255 übertragen werden soll.
Als Wert Parameter kann auch eine analoge Variable oder ein analoger Eingang des Arduinos verwendet werden.
Achtung: Natürlich muss der Wert Parameter zwischen 0 und 1024 liegen.
Es kann sich auch um eine Kommazahl handeln.
Code
Im Code kann der map [0, 1023] to [0, 255] Block mit dem Befehl map(Wert, 0, 1023, 0, 255) realisiert werden.
Wobei für den Wert Parameter natürlich die entsprechende zu Übertragende Größe eingetragen wird.