map - Funktion


Bastelseite Display + Antriebe Sensoren C++


map ...

Mit der map-Funktion können z.B. hohe analoge Eingangswerte in niedrigere Digitalwerte umgewandelt werden



Über die "eingabe" vom analogen Poti werden Werte von 0 bis 1023 erzeugt.
Diese werden wiederum mittels 0 bis 255 umgerechnet und in "ausgabe" übergeben.

Hier bezieht sich z.B. "eingabe" auf einen analogen Eingang, der den Wert von 0 bis 1023 annehmen kann.
Die "ausgabe" soll ein digitaler Wert werden, der nur von 0 bis 255 reichen soll.

Außer die Variablen und die Werte zuzuweisen, muß nur noch der Befehl "map" eingesetzt werden. So einfach geht das.

"map" rechnet also immer den hohen Wert (z.B. 183) in den niedrigen Wert um: hier = 45. Ohne unser Zutun geschieht dies völlig von selbst.

Weiter unten kommt der Sketch, kopiere und starte ihn, aktiviere dafür den seriellen Monitor zur Anzeige.


Anzeige im Seriellen Monitor



Auslesen eines Potis:  
---------------------------
Poti-Wert: 510 - Ausgabe-Wert: 127---------------------------
Poti-Wert: 303 - Ausgabe-Wert: 75---------------------------
Poti-Wert: 0 - Ausgabe-Wert: 0---------------------------
Poti-Wert: 0 - Ausgabe-Wert: 0---------------------------
Poti-Wert: 0 - Ausgabe-Wert: 0---------------------------
Poti-Wert: 23 - Ausgabe-Wert: 5---------------------------
Poti-Wert: 145 - Ausgabe-Wert: 36---------------------------
Poti-Wert: 183 - Ausgabe-Wert: 45---------------------------
Poti-Wert: 272 - Ausgabe-Wert: 67---------------------------
Poti-Wert: 305 - Ausgabe-Wert: 76---------------------------
Poti-Wert: 305 - Ausgabe-Wert: 76---------------------------
Poti-Wert: 305 - Ausgabe-Wert: 76---------------------------
Poti-Wert: 486 - Ausgabe-Wert: 121---------------------------
Poti-Wert: 695 - Ausgabe-Wert: 173---------------------------
Poti-Wert: 921 - Ausgabe-Wert: 229---------------------------
Poti-Wert: 966 - Ausgabe-Wert: 240---------------------------
Poti-Wert: 1023 - Ausgabe-Wert: 255---------------------------
Poti-Wert: 1023 - Ausgabe-Wert: 255---------------------------
Poti-Wert: 905 - Ausgabe-Wert: 225---------------------------
Poti-Wert: 794 - Ausgabe-Wert: 197---------------------------
Poti-Wert: 739 - Ausgabe-Wert: 184---------------------------
Poti-Wert: 760 - Ausgabe-Wert: 189---------------------------
Poti-Wert: 834 - Ausgabe-Wert: 207---------------------------
Poti-Wert: 880 - Ausgabe-Wert: 219---------------------------



Sketch dazu:

Öffnet den Sketch in einem eigenen TAB:  map-funktion.ino 


/*  map-funktion.ino
 *
 *  Auslesen eines Potentiometers mit der map-Funktion
 *  Poti:   Links an GND, Mitte an A1, rechts an +5V
*/

#include <Wire.h>

int potianschluss = A1;
int potiwert = 0;
int ausgabe = 0;

void setup() {
  Serial.begin(9600);
  Serial.println("   Auslesen eines Potis:  ");
  Serial.println("---------------------------");
  delay(2000);
}

void loop() {

  potiwert = analogRead(potianschluss);
  ausgabe = map(potiwert, 0, 1023, 0, 255);

  Serial.print("Poti-Wert: ");
  Serial.print(potiwert);
  Serial.print(" - ");
  Serial.print("Ausgabe-Wert: ");
  Serial.print(ausgabe);
  Serial.println("---------------------------");


  delay(300); // kurze Pause zum Datenverarbeiten
  // und Zeit zum Lesen lassen!
}




brixelweb.de