Patrocinadores

La función map en Arduino

La función map (mapear) sirve para convertir números de un rango a otro. Nos ahora mucho trabajo de conversión y podemos cambiar una magnitud a otra.

Un sensor mide magnitudes de 10 bits es decir, valores de 0 a 1023, 1024 valores. Mientras que un actuador utiliza magnitudes de 8 bits es decir valores de 0 a 255, 256 valores.

Veamos un ejemplo:

Un potenciómetro es un sensor y utiliza valores de 0 a 1023 y un led es un actuador y utiliza valores de 0 a 255, vamos a usar el potenciómetro para controlar el brillo del led, pero queremos que se use toda la escala del potenciómetro, que al bajarlo por completo sea cero y al girarlo por completo sea 255, no 1023.

Debemos usar la función map como sigue:

Recuerda que debemos declarar una variable donde se guarde nuestro valor de map, eso lo hacemos en el inicio del código.

variable = map (0, 1023, 0, 255);

Cambiamos el valor de 0 a 1023 por uno que va de 0 a 255, de manera gráfica quedaría así:


Si no utilizamos la función map el potenciómetro quedaría así:



Fijate que la carrera del potenciometro en este ejemplo sin la función map no se aprovecha. Se alcanza el valor muy rapido al girarlo, no se aprovecha todo el giro.

Si utilizamos el valor map podemos usar todo el recorrido del potenciómetro.

Veamos como se usaria con un servomotor:

En Arduino el código quedaría así:

variable = map (0, 1023, 0, 180);

El valor del potenciómetro que va de 0 a 1023 lo mapeamos a el valor del servomotor que es de 0 a 180°


No hay comentarios:

Publicar un comentario