Bei der Arbeit mit Mikrocontrollern erhalten wir oft Werte aus Sensoren oder anderen Eingabegeräten, wie zum Beispiel einem Potentiometer. Diese analogen Werte bewegen sich im Bereich von 0 bis 1023. Um die Potentiometerschaltung für vielseitige Anwendungen nutzbar zu gestalten, benötigen wir häufig für die Anwendung geeignetere Wertebereiche.
Hier kommt der map()-Befehl ins Spiel. Er hilft dabei, einen Wert aus einem Bereich in einen anderen zu übertragen.
Die map()-Funktion wird verwendet, um eine Zahl von einem Bereich in einen anderen zu übertragen. Das bedeutet, ein Wert `value`, der im Bereich von `fromLow` bis `fromHigh` liegt, wird in den entsprechenden Wert im Bereich von `toLow` bis `toHigh` umgerechnet. Zum Beispiel wird der kleinste Wert im Eingangsbereich auf den kleinsten Wert im Zielbereich umgerechnet, der größte Wert auf den größten, und alle Werte dazwischen werden entsprechend angepasst.
y = map (value, fromLow, fromHigh, toLow, toHigh);
value
: Der Wert bzw. die Variable, die zugeordnet werden soll.
fromLow
: Die untere Grenze des aktuellen Wertebereichs.
fromHigh
: Die obere Grenze des aktuellen Wertebereichs.
toLow
: Die untere Grenze des Zielbereichs des Werts.
toHigh
: Die obere Grenze des Zielbereichs des Werts.
y = map (x, 1, 50, 50, 1);
In diesem Fall wird der Wert x (zwischen 1 und 50) auf den Bereich von 50 bis 1 umgerechnet, was den Effekt hat, dass der ursprüngliche Wertebereich umgekehrt wird
Du kannst auch negative Werte verwenden:
Hier wird x von 1 bis 50 auf den Bereich von 50 bis -100 übertragen.
y = map (x, 1, 50, 50, -100);
y = map (x, 0, 1023, 0, 4);
Wertebereich von
analogRead():
0 255 512 767 1023
Wertebereich
map(x, 0, 1023, 0, 4):
Sie nutzen einen Browser mit dem tutory.de nicht einwandfrei funktioniert. Bitte aktualisieren Sie Ihren Browser.
Sie verwenden eine ältere Version Ihres Browsers. Es ist möglich, dass tutory.de mit dieser Version nicht einwandfrei funktioniert. Um tutory.de optimal nutzen zu können, aktualisieren Sie bitte Ihren Browser oder installieren Sie einen dieser kostenlosen Browser: