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.
Beschreibung und Syntax
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.
Syntax
y = map (value, fromLow, fromHigh, toLow, toHigh); Parameter
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.
Beispiele
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);https://www.tutory.de/entdecken/dokument/der-map-befehl
y = map (x, 0, 1023, 0, 4);Wertebereich von analogRead():
0 255 512 767 1023
Wertebereich map(x, 0, 1023, 0, 4):
Die map()- Funktion bildet die alte obere Grenze 'fromHigh' immer nur direkt auf die neue obere Grenze 'toHigh' ab.
Die map()-Funktion beschränkt den umgerechneten Wert nicht auf den Zielbereich.
Das bedeutet, dass Werte außerhalb des Zielbereichs möglich sind.
Die map()-Funktion verwendet nur Ganzzahlen.
Das bedeutet, Bruchreste werden abgeschnitten und nicht gerundet oder gemittelt.
Sichere den loop Codeabschnitte auf dem Arbeitsblatt.
https://www.tutory.de/entdecken/dokument/der-map-befehl


