Hvordan bruke kartfunksjon i Arduino

Hvordan bruke kartfunksjon i Arduino
Det er et enormt antall tilgjengelige funksjoner som kan hjelpe deg med å oppnå de ønskede utgangene ved å bruke dem i programmering av Arduino -tavlene. En av de viktigste funksjonene er kartfunksjonen som vi kan bruke mens vi programmerer en Arduino. Vi har gitt all informasjonen du trenger for å bruke kartfunksjonen effektivt i Arduino -programmering i denne guiden.

Hvordan bruke kartfunksjonen i Arduino

Kartfunksjonen endrer området for den gitte verdien til et annet spesifisert område gitt av brukeren. Med andre ord, det kartlegger den proporsjonale verdien av det gitte området, og vi kan kalle denne prosessen skalarisering av verdien. For å bruke denne funksjonen i Arduino, må du følge følgende syntaks:

Kart (verdi, fralow, Fromhigh, Tolow, ToHigh);

Kartfunksjonen har 5 argumenter som er:

Verdi: Heltalldataene som skal skalariseres

Fra lavt: Minimumstallet for det nåværende området for verdien

Fra høyt: Maksimalt antall for det nåværende området for verdien

For lav: Minimum antall ønsket område som verdien skal kartlegges

Til høy: Det maksimale antallet ønsket område som verdien skal kartlegges

Eksempel Arduino -kode for bruk av kartfunksjonen

For å illustrere arbeidet med kartfunksjonen har vi kontrollert lysstyrken til LED ved hjelp av potensiometeret. Hensikten med å bruke kartfunksjon i denne applikasjonen er at potensiometer. Så for å skalalisere verdien i området 0 til 100 har vi brukt kartfunksjonen, og vi har vist verdiene på seriemonitoren:

Her er eksemplet Arduino -kode for bruk av kartfunksjonen:

int pot = A0;/* Analog pinne for potensiometer for LED -lysstyrkekontroll*/
int LED = 6;/ * Definere LED -pinnen for Arduino */
int -verdi = 0;/* erklærende variabel for lagring av potensiometerverdien*/
int ledvalue = 0; /* variabel som vil lagre den skalariserte verdien av potten*/
void setup ()
Serie.Begynn (9600);
pinmode (LED, output); /* Definere utgangsmodus for LED*/

void loop ()
Verdi = analograad (potte);/* Få verdien av potensiometer*/
LedValue = kart (verdi, 0, 1023, 0, 100); /* Skalarisering av de analoge verdiene i området 0 til 100*/
analogWrite (LED, LedValue); / * tilordne de skalariserte verdiene til LED */
Serie.print ("uMappet verdi:");
Serie.print (verdi); // Skrive ut potteverdiene i seriemonitoren
Serie.println (""); // legge til plass for å organisere dataene
Serie.print ("kartlagt verdi:");
Serie.print (LedValue);/ * Viser den skalariserte verdien tilordnet LED */
Serie.print ("%");/ * Vis foreldreskiltet */
Serie.println (""); // legge til plass for å organisere dataene

I koden kan du se at vi har gitt nåverdien av potensiometeret og det nåværende området til potensiometeret som er 0 til 1023 (analog), og også har vi gitt området 0 til 100 der verdiene skal være å være kartlagt.

Du kan kartlegge verdiene til et hvilket som helst område, da det ikke er noen grense eller betingelser for å skalalisere verdien. Vi har skalarisert verdien i 0 til 100 for å gi oss beskjed om lysstyrken i prosent i prosent. Her er utdataene til koden vår i seriemonitoren til Arduino IDE:

Som du kan se på bildet over når den analoge verdien er 1023, vil den kartlagte verdien være 100, og ettersom den analoge verdien reduseres, reduseres også den kartlagte verdien.

Konklusjon

Den primære funksjonen til kartet () er å skalalisere eller kartlegge de gitte verdiene fra ett område til et annet ønsket område. For å illustrere arbeidet med kartfunksjon har vi gitt eksempelkoden til Arduino som konverterer de analoge verdiene til potensiometer som brukes til å kontrollere lysstyrken til LED til området 0 til 1023 til 0 til 100.