Cómo usar la función de mapa en Arduino

Cómo usar la función de mapa en Arduino
Hay una enorme cantidad de funciones disponibles que pueden ayudar a lograr las salidas deseadas utilizándolas en la programación de los tableros Arduino. Una de las funciones más importantes es la función del mapa que podemos usar mientras programamos un Arduino. Hemos dado toda la información que necesita para usar la función del mapa de manera efectiva en la programación de Arduino en esta guía.

Cómo usar la función de mapa en Arduino

La función del mapa cambia el rango del valor dado en otro rango especificado dado por el usuario. En otras palabras, mapea el valor proporcional del rango dado, y podemos llamar a este proceso la escalarización del valor. Para usar esta función en el Arduino, debe seguir la siguiente sintaxis:

mapa (valor, fromlow, fromhigh, tolow, tohigh);

La función del mapa tiene 5 argumentos que son:

Valor: Los datos de tipo entero que se escalarán

De baja: El número mínimo del rango actual del valor

Desde lo alto: El número máximo del rango actual del valor

Muy bajo: El número mínimo del rango deseado al que se mapeará el valor

En lo alto: El número máximo del rango deseado al que se va a asignar el valor

Ejemplo de código Arduino para usar la función de mapa

Para ilustrar el funcionamiento de la función del mapa, hemos controlado el brillo del LED utilizando el potenciómetro. El propósito de usar la función MAP en esta aplicación es que el potenciómetro es un valor analógico, y no podemos determinar el brillo del LED mirando los valores del potenciómetro ya que su valor varía de 0 a 1023. Entonces, para escalar el valor en el rango de 0 a 100, hemos utilizado la función de mapa y hemos mostrado los valores en el monitor en serie:

Aquí está el ejemplo del código Arduino para usar la función de mapa:

int pot = a0;/* pin analógico para potenciómetro para el control de brillo del LED*/
int led = 6;/ * Definición del pin LED para Arduino */
int value = 0;/* declarar variable para almacenar el valor del potenciómetro*/
int ledValue = 0; /* variable que almacenará el valor escalarizado de la olla*/
setup () void
De serie.comenzar (9600);
PinMode (LED, salida); /* Definición del modo de salida para LED*/

bucle void ()
Valor = anicoGread (bote);/* Obtener el valor del potenciómetro*/
LedValue = map (valor, 0, 1023, 0, 100); /* Escalar los valores analógicos en el rango de 0 a 100*/
Analogwrite (LED, LedValue); / * Asignar los valores escalarizados al LED */
De serie.imprimir ("Valor sin mappes:");
De serie.imprimir (valor); // Impresión de los valores de la olla en el monitor en serie
De serie.println (""); // Agregar espacio para organizar los datos
De serie.imprimir ("Valor asignado:");
De serie.print (LedValue);/ * Mostrar el valor escalarizado asignado a LED */
De serie.imprimir ("%");/ * Muestra el signo de parentesco */
De serie.println (""); // Agregar espacio para organizar los datos

En el código, puede ver que hemos dado el valor presente del potenciómetro y el rango actual al potenciómetro que es de 0 a 1023 (analógico) y también, hemos dado el rango de 0 a 100 en el que los valores deben ser mapeado.

Puede asignar los valores a cualquier rango, ya que no hay límite o condiciones para escalar el valor. Hemos escalar el valor en 0 a 100 para hacernos saber el valor del brillo en el porcentaje. Aquí está la salida de nuestro código en el monitor en serie del Arduino IDE:

Como puede ver en la imagen de arriba cuando el valor analógico es 1023, el valor asignado será de 100 y a medida que disminuya el valor analógico, el valor asignado también disminuye.

Conclusión

La función principal del mapa () es escalarizar o asignar los valores dados de un rango a otro rango deseado. Con el fin de ilustrar el funcionamiento de la función de mapa, hemos dado el código de ejemplo de Arduino que convierte los valores analógicos del potenciómetro utilizados para controlar el brillo del LED en el rango de 0 a 1023 a 0 a 100.