Jak używać funkcji mapy w Arduino

Jak używać funkcji mapy w Arduino
Istnieje ogromna liczba funkcji, które mogą pomóc w osiągnięciu pożądanych wyjść, używając ich w programowaniu płyt Arduino. Jedną z najważniejszych funkcji jest funkcja mapy, której możemy użyć podczas programowania Arduino. Podaliśmy wszystkie informacje potrzebne do skutecznego korzystania z funkcji mapy w programowaniu Arduino w tym przewodniku.

Jak używać funkcji mapy w Arduino

Funkcja mapy zmienia zakres podanej wartości na inny określony zakres podany przez użytkownika. Innymi słowy, mapuje wartość proporcjonalną danego zakresu i możemy nazwać ten proces skalaryzacja wartości. Aby użyć tej funkcji w Arduino, musisz postępować zgodnie z następującą składnią:

mapa (wartość, fromlow, fromhigh, tolow, tohigh);

Funkcja mapa ma 5 argumentów:

Wartość: Dane typu liczb całkowitych, które mają być skalaryzowane

Z niskiego: Minimalna liczba obecnego zakresu wartości

Z wysokiego: Maksymalna liczba obecnego zakresu wartości

Za nisko: Minimalna liczba pożądanego zakresu, do którego wartość ma zostać mapowana

Za wysoko: Maksymalna liczba pożądanego zakresu, do którego wartość ma zostać mapowana

Przykład kodu Arduino do używania funkcji mapy

Aby zilustrować działanie funkcji mapy, kontrolowaliśmy jasność diody LED za pomocą potencjometru. Celem zastosowania funkcji MAP w tej aplikacji jest to, że potencjometr jest wartością analogową i nie możemy określić jasności LED, patrząc na wartości potencjometru, ponieważ jego wartość waha się od 0 do 1023. Tak więc, aby skaliaryzować wartość w zakresie od 0 do 100, użyliśmy funkcji MAP i wyświetliśmy wartości w monitor szeregowych:

Oto przykład kodu Arduino do używania funkcji mapy:

int pot = a0;/* analogowy pin do potencjometru do kontroli jasności LED*/
int led = 6;/ * definiowanie szpilki LED dla Arduino */
wartość int = 0;/* Deklarowanie zmiennej do przechowywania wartości potencjometru*/
int LedValue = 0; /* zmienna, która będzie przechowywać skalaryzowaną wartość puli*/
void setup ()
Seryjny.rozpocząć (9600);
pinmode (LED, wyjście); /* Definiowanie trybu wyjściowego dla LED*/

void Loop ()
Wartość = analogread (garnek);/* Uzyskanie wartości potencjometru*/
LedValue = mapa (wartość, 0, 1023, 0, 100); /* Skalaryzacja wartości analogowych w zakresie od 0 do 100*/
Analogwrite (LED, LedValue); / * Przypisanie wartości skalaryzowanych do LED */
Seryjny.print („Niepopijana wartość:”);
Seryjny.wydrukuj (wartość); // Drukowanie wartości doniczki w monitorze szeregowym
Seryjny.println („”); // Dodawanie przestrzeni w celu zorganizowania danych
Seryjny.print („Wartość zmapowana:”);
Seryjny.print (LedValue);/ * Wyświetlanie wartości skalaryzowanej przypisanej do LED */
Seryjny.wydrukuj („%”);/ * wyświetl znak pochodzenia */
Seryjny.println („”); // Dodawanie przestrzeni w celu zorganizowania danych

W kodzie widać, że podaliśmy bieżącą wartość potencjometru i obecny zakres potencjometru, który wynosi od 0 do 1023 (analog), a także podaliśmy zakres od 0 do 100, w którym wartości mają być zmapowane.

Możesz mapować wartości w dowolnym zakresie, ponieważ nie ma ograniczeń ani warunków do skalaryzacji wartości. Skalaryzowaliśmy wartość w 0 do 100, aby poinformować nas o wartości jasności w procentach. Oto dane wyjściowe naszego kodu w monitorze szeregowym Arduino IDE:

Jak widać na powyższym obrazku, gdy wartość analogowa wynosi 1023, wówczas wartość zmapowana wyniesie 100, a ponieważ wartość analogowa jest zmniejszona.

Wniosek

Podstawową funkcją mapy () jest skaliary lub mapowanie podanych wartości z jednego zakresu do drugiego pożądanego zakresu. W celu zilustrowania działania funkcji mapy podaliśmy przykładowy kod Arduino, który przekształca wartości analogowe potencjometru używane do kontrolowania jasności diody LED w zakres od 0 do 1023 do 0 do 100.