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í:
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