Función map

En la entrada anterior ajustabamos el rango de la salida y el de la entrada dividiendo por 4. Esta acción se puede simplificar con la función map «mapeo». saber mas en el siguiente enlace http://manueldelgadocrespo.blogspot.com/p/mapvalue-fromlow-fromhigh-tolow-tohigh.html

y = map(x, a, b, A, B);
y numero mapeado
x numero a mapear
a valor mínimo del numero a mapear, puede ser el valor mínimo de x
b valor máximo del numero a mapear, puede ser el valor máximo de x
A valor mínimo del numero mapeado, es el valor mínimo de y
B Valor máximo del numero mapeado, es el valor máximo de x
Asi nuesta función quedadara
Vled=map(Vpot,0,1023,0,255)
Donde 
- El valor 0 de Vpot corresponde a 0 Vled 
-El valor 1023 de Vpot corresponde a 255 Vled
- Y para valores intermedios de Vpot realiza una función proporcional y nos da el valor Vled, con la ventaja de no tener que realizar ningún calculo.


El programa quedara así

int Vpot;//la varible  sera uVpot temdra un valor entre 0 y 1023 en función de la posición del potenciometro
int Vled;
int led_r=3;// led rojo al pin3
void setup()
{
pinMode(led_r,OUTPUT);
Serial.begin(9600);
}
 
void loop()
{
Vpot= analogRead(A0);//lee el valor de tensión 0-5V0 lo  convierte un nuemro entre 0-1023 y lo almacena en la varialbe Vpotenciometro  
Vled=map(Vpot,0,1023,0,255);// mapea el valor Vpot que oscila entre 0 y 1023 a Vled que oscila entre 0 y 255
analogWrite(led_r,Vled);// la iluminación del led rojo depende del valor Vled
//para ver la tension que suminista el led  
Serial.print("Tension salida pin analogico  ");
Serial.println(Vled*0.0195); 
delay(500);
  
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *